ganeti2: add wrapper for qemu-system-ppc64
[mirror/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         site::linux_module { 'tun': }
21
22         file { '/etc/cron.hourly/puppet-cleanup-watcher-pause-file':
23                 source => 'puppet:///modules/ganeti2/cleanup-watcher-pause-file',
24                 mode    => '0555',
25         }
26
27         if $::debarchitecture == 'arm64' {
28                 file { '/usr/local/bin/qemu-system-aarch64-wrapper':
29                         source => 'puppet:///modules/ganeti2/qemu-system-aarch64-wrapper',
30                         mode   => '0555',
31                 }
32         }
33         if $::debarchitecture == 'ppc64el' {
34                 file { '/usr/local/bin/qemu-system-ppc64-wrapper':
35                         source => 'puppet:///modules/ganeti2/qemu-system-ppc64-wrapper',
36                         mode   => '0555',
37                 }
38         }
39
40         if $::cluster == 'ganeti.bm.debian.org' {
41                 file { '/usr/local/sbin/crazy-multipath-restart':
42                         source => 'puppet:///modules/ganeti2/crazy-multipath-restart',
43                         mode   => '0555',
44                 }
45                 file { '/etc/cron.d/puppet-crazy-multipath-restart': ensure => absent, }
46                 concat::fragment { 'dsa-puppet-stuff--multipath-restart':
47                         target => '/etc/cron.d/dsa-puppet-stuff',
48                         content  => @("EOF"),
49                                         */15 * * * * root /usr/local/sbin/crazy-multipath-restart
50                                         | EOF
51                 }
52         }
53         file { '/usr/local/sbin/ganeti-reboot-cluster':
54                 source => 'puppet:///modules/ganeti2/ganeti-reboot-cluster',
55                 mode   => '0555',
56         }
57
58         package { ['python-dbus', 'systemd-container']: ensure => installed }
59         file { '/usr/local/sbin/ganeti-machined-register-instances':
60                 source => 'puppet:///modules/ganeti2/ganeti-machined-register-instances',
61                 mode   => '0555',
62         }
63         file { [
64                 '/etc/ganeti/hooks',
65                 '/etc/ganeti/hooks/instance-reboot-post.d',
66                 '/etc/ganeti/hooks/instance-migrate-post.d',
67                 '/etc/ganeti/hooks/instance-start-post.d',
68                 '/etc/ganeti/hooks/instance-failover-post.d',
69                 '/etc/ganeti/hooks/instance-add-post.d',
70                 ]:
71                 ensure => directory,
72         }
73         file { [
74                 '/etc/ganeti/hooks/instance-reboot-post.d/00-ganeti-machined-register-instances',
75                 '/etc/ganeti/hooks/instance-migrate-post.d/00-ganeti-machined-register-instances',
76                 '/etc/ganeti/hooks/instance-start-post.d/00-ganeti-machined-register-instances',
77                 '/etc/ganeti/hooks/instance-failover-post.d/00-ganeti-machined-register-instances',
78                 '/etc/ganeti/hooks/instance-add-post.d/00-ganeti-machined-register-instances',
79                 ]:
80                 ensure => link,
81                 target => '/usr/local/sbin/ganeti-machined-register-instances',
82         }
83 }