puppet-cinder/manifests/scheduler.pp
Doug Schaapveld 4d5a3a771d Adding manage_service parameter to all services
When set to false, enables puppet to configure a service without
starting/stopping it on each run.  This may be necessary when
using an external clustering system (Corosync/Pacemaker, for
example).  Defaults to true.

Change-Id: Icadfd9fcfab322550a04b1ffb77c55383c9b292c
2014-02-28 22:44:21 -06:00

47 lines
1.1 KiB
Puppet

#
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'],
}
}