]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ganeti2/manifests/init.pp
4cbd7d5e704f182c8586d8bb60a5863ce8667397
[dsa-puppet.git] / modules / ganeti2 / manifests / init.pp
1 class ganeti2 {
2
3         package { 'ganeti2':
4                 ensure => installed
5         }
6
7         package { 'ganeti-instance-debootstrap':
8                 ensure => installed
9         }
10
11         package { 'ganeti-htools':
12                 ensure => installed
13         }
14
15         case $::cluster {
16                 'ganeti2.debian.org': {
17                         package { 'drbd8-utils':
18                                 ensure => installed
19                         }
20
21                         @ferm::rule { 'dsa-ganeti-noded-v4':
22                                 description => 'allow ganeti-noded communication',
23                                 rule        => 'proto tcp mod state state (NEW) dport (1811) @subchain \'ganeti-noded\' { saddr ($HOST_GANETI_V4) daddr ($HOST_GANETI_V4) ACCEPT; }',
24                                 notarule    => true,
25                         }
26
27                         @ferm::rule { 'dsa-ganeti-confd-v4':
28                                 description => 'allow ganeti-confd communication',
29                                 rule        => 'proto udp mod state state (NEW) dport (1814) @subchain \'ganeti-confd\' { saddr ($HOST_GANETI_V4) daddr ($HOST_GANETI_V4) ACCEPT; }',
30                                 notarule    => true,
31                         }
32
33                         @ferm::rule { 'dsa-ganeti-rapi-v4':
34                                 description => 'allow ganeti-rapi communication',
35                                 rule        => 'proto tcp mod state state (NEW) dport (5080) @subchain \'ganeti-rapi\' { saddr ($HOST_GANETI_V4) daddr ($HOST_GANETI_V4) ACCEPT; }',
36                                 notarule    => true,
37                         }
38
39                         @ferm::rule { 'dsa-ganeti-drbd-v4':
40                                 description => 'allow ganeti drbd communication',
41                                 rule        => 'proto tcp mod state state (NEW) dport (11000:11999) @subchain \'ganeti-drbd\' { saddr ($HOST_GANETI_BACKEND_V4) daddr ($HOST_GANETI_BACKEND_V4) ACCEPT; }',
42                                 notarule    => true,
43                         }
44
45                         @ferm::rule { 'dsa-ganeti-kvm-migration-v4':
46                                 description => 'allow ganeti kvm migration ',
47                                 rule        => 'proto tcp dport 8102 @subchain \'ganeti-kvm-migration\' { saddr ($HOST_GANETI_BACKEND_V4) daddr ($HOST_GANETI_BACKEND_V4) ACCEPT; }',
48                                 notarule    => true,
49                         }
50
51                         @ferm::rule { 'dsa-ganeti-ssh-v4':
52                                 description => 'allow ganeti to ssh around',
53                                 rule        => 'proto tcp dport ssh @subchain \'ganeti-ssh\' { saddr ( $HOST_GANETI_V4 $HOST_GANETI_BACKEND_V4) ACCEPT; }',
54                                 notarule    => true,
55                         }
56                 }
57         }
58
59         file {
60                 '/etc/ganeti/instance-debootstrap/variants.list':
61                         content => template('ganeti2/instance-debootstrap/variants.list.erb'),
62                         ;
63                 '/etc/ganeti/instance-debootstrap/variants/dsa.conf':
64                         content => template('ganeti2/instance-debootstrap/variants/dsa.conf.erb'),
65                         ;
66                 '/etc/ganeti/instance-debootstrap/hooks/00-dsa-configure-networking':
67                         content => template('ganeti2/instance-debootstrap/hooks/00-dsa-configure-networking.erb'),
68                         mode   => '0555',
69                         ;
70                 '/etc/ganeti/instance-debootstrap/hooks/10-dsa-install-extra-packages':
71                         content => template('ganeti2/instance-debootstrap/hooks/10-dsa-install-extra-packages.erb'),
72                         mode   => '0555',
73                         ;
74                 '/etc/ganeti/instance-debootstrap/hooks/20-dsa-install-bootloader':
75                         content => template('ganeti2/instance-debootstrap/hooks/20-dsa-install-bootloader.erb'),
76                         mode   => '0555',
77                         ;
78                 '/etc/ganeti/instance-debootstrap/hooks/30-dsa-install-ssh-keys':
79                         content => template('ganeti2/instance-debootstrap/hooks/30-dsa-install-ssh-keys.erb'),
80                         mode   => '0555',
81                         ;
82                 '/etc/ganeti/instance-debootstrap/hooks/40-dsa-setup-swapfile':
83                         content => template('ganeti2/instance-debootstrap/hooks/40-dsa-setup-swapfile.erb'),
84                         mode   => '0555',
85                         ;
86                 '/etc/ganeti/instance-debootstrap/hooks/clear-root-password':
87                         mode   => '0444',
88                         ;
89                 '/etc/ganeti/instance-debootstrap/hooks/xen-hvc0':
90                         mode   => '0444',
91                         ;
92         }
93
94 }