]> gitweb.fluxo.info Git - puppet-virtual.git/commitdiff
fixes to virtual module
authorMicah Anderson <micah@riseup.net>
Sun, 4 Nov 2007 22:41:42 +0000 (22:41 +0000)
committerMicah Anderson <micah@riseup.net>
Sun, 4 Nov 2007 22:41:42 +0000 (22:41 +0000)
manifests/vserver.pp

index d0236a62c19a04bdbc6a8449f4cdc192c309ec0d..2dd5ccb4ec19f5b604a0a997ee716296cd923282 100644 (file)
@@ -20,8 +20,9 @@ class vserver::host {
        
 }
 
-define vs_create($vs_name = $name, $context = $context) { 
-
+define vs_create($in_domain, $legacy = false) { 
+  
+        $vs_name = $legacy ? { true => $name, false => $in_domain ? { '' => $name, default => "${name}.${in_domain}" } }
        case $vs_name { '': { fail ( "Cannot create VServer with empty name" ) } }
 
        exec { "/usr/sbin/vserver ${vs_name} build -m debootstrap -- -d etch":
@@ -32,17 +33,24 @@ define vs_create($vs_name = $name, $context = $context) {
                
 
 # ensure: present, stopped, running
-define vserver($vs_name = $name, $ensure, $context, $mark = '') {
-       $if_dir = "/etc/vservers/${vs_name}/interfaces/"
+define vserver($ensure, $context, $in_domain = '', $mark = '', $legacy = false) {
+  
+        case $in_domain { '': {}
+               default: { err("${fqdn}: vserver ${name} uses deprecated \$in_domain" ) }
+        }
+
+        $vs_name = $legacy ? { true => $name, false => $in_domain ? { '' => $name, default => "${name}.${in_domain}" } }
+        case $vs_name { '': { fail ( "Cannot create VServer with empty name" ) } }
+       
+        $if_dir = "/etc/vservers/${vs_name}/interfaces/"
        $mark_file = "/etc/vservers/${vs_name}/apps/init/mark"
 
-       case $vs_name { '': { fail ( "Cannot create VServer with empty name" ) } }
 
        # TODO: wasn't there a syntax for using arrays as case selectors??
        case $ensure {
-               present: { vs_create{$name:} }
-               running: { vs_create{$name:} }
-               stopped: { vs_create{$name:} }
+               present: { vs_create{$name: in_domain => $in_domain, legacy => $legacy, } }
+               running: { vs_create{$name: in_domain => $in_domain, legacy => $legacy, } }
+               stopped: { vs_create{$name: in_domain => $in_domain, legacy => $legacy, } }
                default: { err("${fqdn}: vserver(${vs_name}): unknown ensure '${ensure}'") }
        }