diff options
-rw-r--r-- | manifests/subsystem/nas/share.pp (renamed from manifests/nas/share.pp) | 2 | ||||
-rw-r--r-- | manifests/subsystem/vm/instance.pp (renamed from manifests/vserver/instance.pp) | 117 |
2 files changed, 61 insertions, 58 deletions
diff --git a/manifests/nas/share.pp b/manifests/subsystem/nas/share.pp index 1aec898..43922b7 100644 --- a/manifests/nas/share.pp +++ b/manifests/subsystem/nas/share.pp @@ -1,5 +1,5 @@ # Share a folder pubicly using FTP, Samba, NFS, DLNA, etc. -define nodo::nas::share( +define nodo::subsystem::nas::share( $description, $folder, $owner = '', diff --git a/manifests/vserver/instance.pp b/manifests/subsystem/vm/instance.pp index 23cebb1..4a2bfeb 100644 --- a/manifests/vserver/instance.pp +++ b/manifests/subsystem/vm/instance.pp @@ -1,5 +1,5 @@ # Define a vserver instance -define nodo::vserver::instance( +define nodo::subsystem::vm::instance( $context, $distro = 'squeeze', $ensure = 'running', @@ -20,7 +20,8 @@ define nodo::vserver::instance( $rsync = false, $avahi = false, $munin_port = false, - $monkeysphere_ssh_port = false + $monkeysphere_ssh_port = false, + $implementation = false ) { # Instance id @@ -45,29 +46,49 @@ define nodo::vserver::instance( '': { $tor_port = "9001" } } - $dev = hiera('nodo::vserver::interface', 'eth0') + $dev = hiera('nodo::subsystem::vm::interface', 'eth0') + + if $implementation == 'vserver' { + virtual::vserver { $name: + ensure => $ensure, + context => "$context", + mark => 'default', + distro => $distro, + interface => "${dev}:192.168.0.${context}/24", + hostname => "$name.$domain", + memory_limit => $memory_limit, + } - virtual::vserver { $name: - ensure => $ensure, - context => "$context", - mark => 'default', - distro => $distro, - interface => "${dev}:192.168.0.${context}/24", - hostname => "$name.$domain", - memory_limit => $memory_limit, - } + # Some nodes need a lot of space at /tmp otherwise some admin + # tasks like backups might not run. + file { "/etc/vservers/${name}/fstab": + source => [ "puppet:///modules/site_nodo/etc/fstab/vserver/$name", + "puppet:///modules/nodo/etc/fstab/vserver" ], + owner => "root", + group => "root", + mode => 0644, + ensure => present, + notify => Exec["vs_restart_${name}"], + require => Exec["vs_create_${name}"], + } - # Some nodes need a lot of space at /tmp otherwise some admin - # tasks like backups might not run. - file { "/etc/vservers/${name}/fstab": - source => [ "puppet:///modules/site_nodo/etc/fstab/vserver/$name", - "puppet:///modules/nodo/etc/fstab/vserver" ], - owner => "root", - group => "root", - mode => 0644, - ensure => present, - notify => Exec["vs_restart_${name}"], - require => Exec["vs_create_${name}"], + # Sound support + if $sound { + if !defined(File["/usr/local/sbin/create-sound-devices"]) { + file { "/usr/local/sbin/create-sound-devices": + ensure => present, + source => "puppet:///modules/nodo/sound/devices.sh", + owner => root, + group => root, + mode => 755, + } + } + exec { "/usr/local/sbin/create-sound-devices ${name}": + unless => "/usr/local/sbin/create-sound-devices ${name} --check", + user => root, + require => [ Exec["vs_create_${name}"], File["/usr/local/sbin/create-sound-devices"] ], + } + } } # Create a munin virtual resource to be realized in the node @@ -86,34 +107,16 @@ define nodo::vserver::instance( } } - # Sound support - if $sound { - if !defined(File["/usr/local/sbin/create-sound-devices"]) { - file { "/usr/local/sbin/create-sound-devices": - ensure => present, - source => "puppet:///modules/nodo/sound/devices.sh", - owner => root, - group => root, - mode => 755, - } - } - exec { "/usr/local/sbin/create-sound-devices ${name}": - unless => "/usr/local/sbin/create-sound-devices ${name} --check", - user => root, - require => [ Exec["vs_create_${name}"], File["/usr/local/sbin/create-sound-devices"] ], - } - } - # Apply firewall rules just for running vservers case $ensure { 'running': { - firewall::vserver::ssh { "$name": + firewall::vm::ssh { "$name": destination => "192.168.0.$context", port_orig => "22$id", port_dest => "22", } - firewall::vserver::munin { "$name": + firewall::vm::munin { "$name": destination => "192.168.0.$context", port_orig => "49$id", port_dest => "49$id", @@ -121,14 +124,14 @@ define nodo::vserver::instance( if $proxy { class { - "firewall::vserver::http": destination => "192.168.0.$context"; - "firewall::vserver::https": destination => "192.168.0.$context"; + "firewall::vm::http": destination => "192.168.0.$context"; + "firewall::vm::https": destination => "192.168.0.$context"; } } if $puppetmaster { class { - "firewall::vserver::puppetmaster": + "firewall::vm::puppetmaster": destination => "192.168.0.$context", puppetmaster_port => $puppetmaster_port, puppetmaster_nonssl_port => $puppetmaster_nonssl_port, @@ -137,67 +140,67 @@ define nodo::vserver::instance( if $gitd { class { - "firewall::vserver::gitd": destination => "192.168.0.$context"; + "firewall::vm::gitd": destination => "192.168.0.$context"; } } if $icecast { class { - "firewall::vserver::icecast": destination => "192.168.0.$context"; + "firewall::vm::icecast": destination => "192.168.0.$context"; } } if $mail { class { - "firewall::vserver::mail": destination => "192.168.0.$context"; + "firewall::vm::mail": destination => "192.168.0.$context"; } } if $dns { class { - "firewall::vserver::dns": destination => "192.168.0.$context"; + "firewall::vm::dns": destination => "192.168.0.$context"; } } if $tor { class { - "firewall::vserver::tor": destination => "192.168.0.$context"; + "firewall::vm::tor": destination => "192.168.0.$context"; } } if $jabber { class { - "firewall::vserver::jabber": destination => "192.168.0.$context"; + "firewall::vm::jabber": destination => "192.168.0.$context"; } } if $mumble { class { - "firewall::vserver::mumble": destination => "192.168.0.$context"; + "firewall::vm::mumble": destination => "192.168.0.$context"; } } if $gobby { class { - "firewall::vserver::gobby": destination => "192.168.0.$context"; + "firewall::vm::gobby": destination => "192.168.0.$context"; } } if $yacy { class { - "firewall::vserver::yacy": destination => "192.168.0.$context"; + "firewall::vm::yacy": destination => "192.168.0.$context"; } } if $rsync { class { - "firewall::vserver::rsync": destination => "192.168.0.$context"; + "firewall::vm::rsync": destination => "192.168.0.$context"; } } if $avahi { class { - "firewall::vserver::mdns": destination => "192.168.0.$context"; + "firewall::vm::mdns": destination => "192.168.0.$context"; } } } |