Muehlenhoff has submitted this change and it was merged.

Change subject: Add a new backup set to backup openldap databases and enable on 
serpens
......................................................................


Add a new backup set to backup openldap databases and enable on serpens

Run slapcat on to create a snapshot of the LDAP data in the pre-run script
and a cleanup script after the backup run.

Bug: T120919
Change-Id: I2ba5436a356b729b22dd8d7dcb5c64f11cb36e1f
---
M manifests/site.pp
A modules/backup/files/openldap-post
A modules/backup/files/openldap-pre
A modules/backup/manifests/openldapset.pp
M modules/role/manifests/backup/director.pp
5 files changed, 42 insertions(+), 0 deletions(-)

Approvals:
  Muehlenhoff: Verified; Looks good to me, approved



diff --git a/manifests/site.pp b/manifests/site.pp
index 04c2f55..f143a9e 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -2612,6 +2612,10 @@
     role openldap::labs, backup::host
     include standard
     include base::firewall
+
+    if $::hostname == 'serpens' {
+        backup::openldapset {'openldap_labs':}
+    }
 }
 
 # Silver is the new home of the wikitech web server.
diff --git a/modules/backup/files/openldap-post 
b/modules/backup/files/openldap-post
new file mode 100644
index 0000000..291acda
--- /dev/null
+++ b/modules/backup/files/openldap-post
@@ -0,0 +1,2 @@
+#!/bin/bash
+rm -rf /var/run/openldap-backup
diff --git a/modules/backup/files/openldap-pre 
b/modules/backup/files/openldap-pre
new file mode 100644
index 0000000..5a04bc0
--- /dev/null
+++ b/modules/backup/files/openldap-pre
@@ -0,0 +1,5 @@
+#!/bin/bash
+mkdir -p /var/run/openldap-backup
+chmod 500 /var/run/openldap-backup
+umask 077
+/usr/sbin/slapcat > /var/run/openldap-backup/backup.ldif
diff --git a/modules/backup/manifests/openldapset.pp 
b/modules/backup/manifests/openldapset.pp
new file mode 100644
index 0000000..6eca064
--- /dev/null
+++ b/modules/backup/manifests/openldapset.pp
@@ -0,0 +1,28 @@
+define backup::openldapset(){
+
+    file { '/etc/bacula/scripts/openldap-pre':
+        ensure => present,
+        owner  => 'root',
+        group  => 'root',
+        mode   => '0500',
+        source => 'puppet:///modules/backup/openldap-pre',
+    }
+
+    file { '/etc/bacula/scripts/openldap-post':
+        ensure => present,
+        owner  => 'root',
+        group  => 'root',
+        mode   => '0500',
+        source => 'puppet:///modules/backup/openldap-post',
+    }
+
+    $run_scripts = {
+        'ClientRunBeforeJob' => '/etc/bacula/scripts/openldap-pre',
+        'ClientRunAfterJob' => '/etc/bacula/scripts/openldap-post',
+    }
+    bacula::client::job { 'openldap-backup':
+        fileset     => 'openldap',
+        jobdefaults => $role::backup::host::jobdefaults,
+        extras      => $run_scripts,
+    }
+}
diff --git a/modules/role/manifests/backup/director.pp 
b/modules/role/manifests/backup/director.pp
index 8ac7521..574bfa3 100644
--- a/modules/role/manifests/backup/director.pp
+++ b/modules/role/manifests/backup/director.pp
@@ -203,6 +203,9 @@
     bacula::director::fileset { 'yubiauth-aeads':
         includes => [ '/var/cache/yubikey-ksm/aeads' ],
     }
+    bacula::director::fileset { 'openldap':
+        includes => [ '/var/run/openldap-backup' ],
+    }
 
     # The console should be on the director
     class { 'bacula::console':

-- 
To view, visit https://gerrit.wikimedia.org/r/289824
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2ba5436a356b729b22dd8d7dcb5c64f11cb36e1f
Gerrit-PatchSet: 6
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Muehlenhoff <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Muehlenhoff <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to