]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/manifests/scheduler.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / manifests / scheduler.pp
diff --git a/3rdparty/modules/cinder/manifests/scheduler.pp b/3rdparty/modules/cinder/manifests/scheduler.pp
new file mode 100644 (file)
index 0000000..26b1e58
--- /dev/null
@@ -0,0 +1,46 @@
+#
+class cinder::scheduler (
+  $scheduler_driver = false,
+  $package_ensure   = 'present',
+  $enabled          = true,
+  $manage_service   = true
+) {
+
+  include cinder::params
+
+  Cinder_config<||> ~> Service['cinder-scheduler']
+  Cinder_api_paste_ini<||> ~> Service['cinder-scheduler']
+  Exec<| title == 'cinder-manage db_sync' |> ~> Service['cinder-scheduler']
+
+  if $scheduler_driver {
+    cinder_config {
+      'DEFAULT/scheduler_driver': value => $scheduler_driver;
+    }
+  }
+
+  if $::cinder::params::scheduler_package {
+    Package['cinder-scheduler'] -> Cinder_config<||>
+    Package['cinder-scheduler'] -> Cinder_api_paste_ini<||>
+    Package['cinder-scheduler'] -> Service['cinder-scheduler']
+    package { 'cinder-scheduler':
+      ensure => $package_ensure,
+      name   => $::cinder::params::scheduler_package,
+    }
+  }
+
+  if $manage_service {
+    if $enabled {
+      $ensure = 'running'
+    } else {
+      $ensure = 'stopped'
+    }
+  }
+
+  service { 'cinder-scheduler':
+    ensure    => $ensure,
+    name      => $::cinder::params::scheduler_service,
+    enable    => $enabled,
+    hasstatus => true,
+    require   => Package['cinder'],
+  }
+}