aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-09-11 21:45:31 -0300
committerSilvio Rhatto <rhatto@riseup.net>2015-09-11 21:45:31 -0300
commite209b337264437e5762d2dd7376bbffeb1790d46 (patch)
tree7db7701108d766537454d39d86d46c98eb9edb43
parent76ec4642be1a8bc64380c077a5890c4d0f4243e0 (diff)
downloadpuppet-nodo-e209b337264437e5762d2dd7376bbffeb1790d46.tar.gz
puppet-nodo-e209b337264437e5762d2dd7376bbffeb1790d46.tar.bz2
Move nas and vm definitions into subsystems
-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";
}
}
}