]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/ganeti2/manifests/init.pp
Automatically load tun on ganeti nodes
[dsa-puppet.git] / modules / ganeti2 / manifests / init.pp
index 7308ca2e9e9f6d57c984934c95dff8a03dca37bf..66841e57c4d259ad119d5cff4277b490860d5e4a 100644 (file)
@@ -1,10 +1,11 @@
 class ganeti2 {
 
-       package { 'ganeti2':
-               ensure => installed
-       }
+       include ganeti2::params
+       include ganeti2::firewall
 
-       package { 'drbd8-utils':
+       $drbd = $ganeti2::params::drbd
+
+       package { 'ganeti2':
                ensure => installed
        }
 
@@ -16,33 +17,60 @@ class ganeti2 {
                ensure => installed
        }
 
-       @ferm::rule { 'dsa-ganeti-noded-v4':
-               description => 'allow ganeti-noded communication between',
-               rule        => 'proto tcp mod state state (NEW) dport (1811) @subchain \'ganeti-noded\' { saddr ($HOST_GANETI_V4) daddr ($HOST_GANETI_V4) ACCEPT; }',
-               notarule    => true,
+       if $drbd {
+               package { 'drbd8-utils':
+                       ensure => installed
+               }
        }
 
-       @ferm::rule { 'dsa-ganeti-confd-v4':
-               description => 'allow ganeti-confd communication',
-               rule        => 'proto udp mod state state (NEW) dport (1814) @subchain \'ganeti-confd\' { saddr ($HOST_GANETI_V4) daddr ($HOST_GANETI_V4) ACCEPT; }',
-               notarule    => true,
-       }
-
-       @ferm::rule { 'dsa-ganeti-rapi-v4':
-               description => 'allow ganeti-rapi communication',
-               rule        => 'proto tcp mod state state (NEW) dport (5080) @subchain \'ganeti-rapi\' { saddr ($HOST_GANETI_V4) daddr ($HOST_GANETI_V4) ACCEPT; }',
-               notarule    => true,
-       }
+       site::linux_module { 'tun': }
 
-       @ferm::rule { 'dsa-drbd-v4':
-               description => 'allow drbd communication',
-               rule        => 'proto tcp mod state state (NEW) dport (11000:11999) @subchain \'drbd\' { saddr ($HOST_GANETI_BACKEND_V4) daddr ($HOST_GANETI_BACKEND_V4) ACCEPT; }',
-               notarule    => true,
+       file {
+               '/etc/ganeti/instance-debootstrap/variants.list':
+                       content => template('ganeti2/instance-debootstrap/variants.list.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       ;
+               '/etc/ganeti/instance-debootstrap/variants/dsa.conf':
+                       content => template('ganeti2/instance-debootstrap/variants/dsa.conf.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       ;
+               '/etc/ganeti/instance-debootstrap/variants/dsa-wheezy.conf':
+                       content => template('ganeti2/instance-debootstrap/variants/dsa-wheezy.conf.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/00-dsa-configure-networking':
+                       content => template('ganeti2/instance-debootstrap/hooks/00-dsa-configure-networking.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0555',
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/10-dsa-install-extra-packages':
+                       content => template('ganeti2/instance-debootstrap/hooks/10-dsa-install-extra-packages.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0555',
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/20-dsa-install-bootloader':
+                       content => template('ganeti2/instance-debootstrap/hooks/20-dsa-install-bootloader.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0555',
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/30-dsa-install-ssh-keys':
+                       content => template('ganeti2/instance-debootstrap/hooks/30-dsa-install-ssh-keys.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0555',
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/40-dsa-setup-swapfile':
+                       content => template('ganeti2/instance-debootstrap/hooks/40-dsa-setup-swapfile.erb'),
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0555',
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/clear-root-password':
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0444',
+                       ;
+               '/etc/ganeti/instance-debootstrap/hooks/xen-hvc0':
+                       require => Package['ganeti-instance-debootstrap'],
+                       mode   => '0444',
+                       ;
        }
 
-       @ferm::rule { 'dsa-ganeti-migrate':
-               description => 'allow kvm to migrate instances',
-               rule        => 'proto tcp dport 8102 @subchain \'kvm-migrate\' { saddr ($HOST_GANETI_BACKEND_V4) daddr ($HOST_GANETI_BACKEND_V4) ACCEPT; }',
-               notarule    => true,
-       }
 }