Add per client pools, storages, devices, mediatypes
[mirror/dsa-puppet.git] / modules / bacula / manifests / storage.pp
index e673867..7b1c1a8 100644 (file)
@@ -9,6 +9,16 @@ class bacula::storage inherits bacula {
                enable    => true,
                hasstatus => true,
        }
+
+       # should wait on -sd to finish current backups, then restart
+       # since it does not support reload and restarting kills running
+       # jobs
+       exec { 'bacula-sd reload':
+               path        => '/usr/bin:/usr/sbin:/bin:/sbin',
+               command     => 'true',
+               refreshonly => true,
+       }
+
        file { '/etc/bacula/bacula-sd.conf':
                content => template('bacula/bacula-sd.conf.erb'),
                mode    => '0640',
@@ -16,6 +26,17 @@ class bacula::storage inherits bacula {
                notify  => Service['bacula-sd']
        }
 
+       file { '/etc/bacula/storage-conf.d':
+               ensure  => directory,
+               mode    => '0755',
+               group   => bacula,
+               purge   => true,
+               force   => true,
+               recurse => true,
+               source  => 'puppet:///files/empty/',
+               notify  => Exec['bacula-sd reload']
+       }
+
        @ferm::rule { 'dsa-bacula-sd-v4':
                domain      => '(ip)',
                description => 'Allow bacula-sd access from director and clients',
@@ -29,4 +50,14 @@ class bacula::storage inherits bacula {
                rule        => 'proto tcp mod state state (NEW) dport (bacula-sd) @subchain \'bacula-sd\' { saddr ($HOST_DEBIAN_V6) ACCEPT; }',
                notarule    => true,
        }
+
+       file { '/etc/bacula/storage-conf.d/empty.conf':
+               content => '',
+               mode    => '0440',
+               group   => bacula,
+               notify  => Exec['bacula-sd reload']
+       }
+
+       Bacula::Storage-per-Node<<| |>>
+
 }