]> gitweb.fluxo.info Git - puppet-virtual.git/commitdiff
VServer sched files cannot have empty content
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 14 Sep 2010 20:42:27 +0000 (17:42 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 14 Sep 2010 20:42:27 +0000 (17:42 -0300)
manifests/vserver.pp

index 7d758f792d2fcc22ffbcde94433fbe3ace158524..b21d3ca9712dfe494c5f85d73ed65ef53eb804d6 100644 (file)
@@ -399,52 +399,155 @@ define vs_sched($ensure = present, $fill_rate = '', $fill_rate2 = '',
     mode   => 0755,
   }
 
-  file { "/etc/vservers/${name}/sched/fill-rate":
-    ensure  => $ensure,
-    content => "$fill_rate\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $fill_rate {
+    '': {
+      file { "/etc/vservers/${name}/sched/fill-rate":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_fill_rate = "--fill-rate $fill_rate"
+
+      file { "/etc/vservers/${name}/sched/fill-rate":
+        ensure  => $ensure,
+        content => "$fill_rate\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/fill-rate2":
-    ensure  => $ensure,
-    content => "$fill_rate2\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $fill_rate2 {
+    '': {
+      file { "/etc/vservers/${name}/sched/fill-rate2":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_fill_rate2 = "--fill-rate2 $fill_rate2"
+  
+      file { "/etc/vservers/${name}/sched/fill-rate2":
+        ensure  => $ensure,
+        content => "$fill_rate2\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/interval":
-    ensure  => $ensure,
-    content => "$interval\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $interval {
+    '': {
+      file { "/etc/vservers/${name}/sched/interval":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_interval = "--interval $interval"
+  
+      file { "/etc/vservers/${name}/sched/interval":
+        ensure  => $ensure,
+        content => "$interval\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/interval2":
-    ensure  => $ensure,
-    content => "$interval2\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $interval2 {
+    '': {
+      file { "/etc/vservers/${name}/sched/interval2":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_interval2 = "--interval2 $interval2"
+  
+      file { "/etc/vservers/${name}/sched/interval2":
+        ensure  => $ensure,
+        content => "$interval2\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/tokens-min":
-    ensure  => $ensure,
-    content => "$tokens_min\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $tokens_min {
+    '': {
+      file { "/etc/vservers/${name}/sched/tokens-min":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_tokens_min = "--tokens-min $tokens_min"
+  
+      file { "/etc/vservers/${name}/sched/tokens-min":
+        ensure  => $ensure,
+        content => "$tokens_min\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/tokens-max":
-    ensure  => $ensure,
-    content => "$tokens_max\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $tokens_max {
+    '' {
+      file { "/etc/vservers/${name}/sched/tokens-max":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_tokens_max = "--tokens-max $tokens_max"
+  
+      file { "/etc/vservers/${name}/sched/tokens-max":
+        ensure  => $ensure,
+        content => "$tokens_max\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/tokens":
-    ensure  => $ensure,
-    content => "$tokens\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $tokens {
+    '' {
+      file { "/etc/vservers/${name}/sched/tokens":
+        ensure => absent,
+      }
+    }
+    default: {
+      $set_tokens = "--tokens $tokens"
+  
+      file { "/etc/vservers/${name}/sched/tokens":
+        ensure  => $ensure,
+        content => "$tokens\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
   }
 
-  file { "/etc/vservers/${name}/sched/priority-bias":
-    ensure  => $ensure,
-    content => "$priority_bias\n",
-    require => File["/etc/vservers/${name}/sched"],
+  case $priority_bias {
+    '': {
+      file { "/etc/vservers/${name}/sched/priority-bias":
+        ensure => absent,
+      }
+    }
+      default: {
+      $set_priority_bias = "--prio-bias $priority_bias"
+  
+      file { "/etc/vservers/${name}/sched/priority-bias":
+        ensure  => $ensure,
+        content => "$priority_bias\n",
+        require => File["/etc/vservers/${name}/sched"],
+      }
+    }
+  }
+
+  case $idle_time {
+    true: {
+      $set_idle_time = "--idle-time"
+
+      file { "/etc/vservers/${name}/sched/idle-time":
+        ensure => $ensure,
+      }
+    }
+    default: {
+      file { "/etc/vservers/${name}/sched/idle-time":
+        ensure => absent,
+      }
+    }
   }
 
   vs_cflags { "${name}-sched_hard":
@@ -462,53 +565,6 @@ define vs_sched($ensure = present, $fill_rate = '', $fill_rate2 = '',
   case $ensure {
     present: {
 
-      if $fill_rate != '' {
-        $set_fill_rate = "--fill-rate $fill_rate"
-      }
-
-      if $fill_rate2 != '' {
-        $set_fill_rate2 = "--fill-rate2 $fill_rate2"
-      }
-
-      if $interval != '' {
-        $set_interval = "--interval $interval"
-      }
-
-      if $interval2 != '' {
-        $set_interval2 = "--interval2 $interval2"
-      }
-
-      if $tokens_min != '' {
-        $set_tokens_min = "--tokens-min $tokens_min"
-      }
-
-      if $tokens_max != '' {
-        $set_tokens_max = "--tokens-max $tokens_max"
-      }
-
-      if $tokens != '' {
-        $set_tokens = "--tokens $tokens"
-      }
-
-      if $priority_bias != '' {
-        $set_priority_bias = "--prio-bias $priority_bias"
-      }
-
-      case $idle_time {
-        true: {
-          $set_idle_time = "--idle-time"
-
-          file { "/etc/vservers/${name}/sched/idle-time":
-            ensure => present,
-          }
-        }
-        default: {
-          file { "/etc/vservers/${name}/sched/idle-time":
-            ensure => absent,
-          }
-        }
-      }
-
       $vsched_params = "$set_fill_rate $set_fill_rate2 $set_interval $set_interval2 $set_tokens_min $set_tokens_max $set_tokens $set_idle_time $set_priority_bias"
 
       exec { "vsched --xid `cat /etc/vservers/$name/context` ${vsched_params} --force":