]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ganeti2/manifests/init.pp
cf658fc5885f72714682c0654b6155802ca15e39
[dsa-puppet.git] / modules / ganeti2 / manifests / init.pp
1 # = Class: ganeti2
2 #
3 # Standard ganeti2 config debian.org hosts
4 #
5 # == Sample Usage:
6 #
7 #   include ganeti2
8 #
9 class ganeti2 {
10
11         include ganeti2::params
12         include ganeti2::firewall
13
14         $drbd = $ganeti2::params::drbd
15
16         package { 'ganeti':
17                 ensure => installed
18         }
19
20         package { 'ganeti-instance-debootstrap':
21                 ensure => installed
22         }
23
24         package { 'ganeti-htools':
25                 ensure => installed
26         }
27
28         if $drbd {
29                 package { 'drbd8-utils':
30                         ensure => installed
31                 }
32         }
33
34         site::linux_module { 'tun': }
35
36         file {
37                 '/etc/ganeti/instance-debootstrap/variants.list':
38                         content => template('ganeti2/instance-debootstrap/variants.list.erb'),
39                         require => Package['ganeti-instance-debootstrap'],
40                         ;
41                 '/etc/ganeti/instance-debootstrap/variants/dsa.conf':
42                         content => template('ganeti2/instance-debootstrap/variants/dsa.conf.erb'),
43                         require => Package['ganeti-instance-debootstrap'],
44                         ;
45                 '/etc/ganeti/instance-debootstrap/variants/dsa-wheezy.conf':
46                         content => template('ganeti2/instance-debootstrap/variants/dsa-wheezy.conf.erb'),
47                         require => Package['ganeti-instance-debootstrap'],
48                         ;
49                 '/etc/ganeti/instance-debootstrap/hooks/00-dsa-configure-networking':
50                         content => template('ganeti2/instance-debootstrap/hooks/00-dsa-configure-networking.erb'),
51                         require => Package['ganeti-instance-debootstrap'],
52                         mode    => '0555',
53                         ;
54                 '/etc/ganeti/instance-debootstrap/hooks/10-dsa-install-extra-packages':
55                         content => template('ganeti2/instance-debootstrap/hooks/10-dsa-install-extra-packages.erb'),
56                         require => Package['ganeti-instance-debootstrap'],
57                         mode    => '0555',
58                         ;
59                 '/etc/ganeti/instance-debootstrap/hooks/20-dsa-install-bootloader':
60                         content => template('ganeti2/instance-debootstrap/hooks/20-dsa-install-bootloader.erb'),
61                         require => Package['ganeti-instance-debootstrap'],
62                         mode    => '0555',
63                         ;
64                 '/etc/ganeti/instance-debootstrap/hooks/30-dsa-install-ssh-keys':
65                         content => template('ganeti2/instance-debootstrap/hooks/30-dsa-install-ssh-keys.erb'),
66                         require => Package['ganeti-instance-debootstrap'],
67                         mode    => '0555',
68                         ;
69                 '/etc/ganeti/instance-debootstrap/hooks/40-dsa-setup-swapfile':
70                         content => template('ganeti2/instance-debootstrap/hooks/40-dsa-setup-swapfile.erb'),
71                         require => Package['ganeti-instance-debootstrap'],
72                         mode    => '0555',
73                         ;
74                 '/etc/ganeti/instance-debootstrap/hooks/clear-root-password':
75                         require => Package['ganeti-instance-debootstrap'],
76                         mode    => '0444',
77                         ;
78                 '/etc/ganeti/instance-debootstrap/hooks/xen-hvc0':
79                         require => Package['ganeti-instance-debootstrap'],
80                         mode    => '0444',
81                         ;
82         }
83
84 }