Add redis ordering with ceilometer-central
authorJiri Stransky <jistr@redhat.com>
Wed, 2 Sep 2015 16:09:13 +0000 (18:09 +0200)
committerJiri Stransky <jistr@redhat.com>
Wed, 2 Sep 2015 16:09:13 +0000 (18:09 +0200)
This is another missing constraint. The `require-all=false` part is good
to have, otherwise Ceilometer (and transitively Heat) would switch to
A/P mode. However, at the moment `require-all=false` isn't a recognized
parameter on Fedora, hence the logic fork based on $::operatingsystem.

Change-Id: I2657087192a05b2d8f0ab04ec60631d35331bf6c

puppet/manifests/overcloud_controller_pacemaker.pp

index cfd30f1..bea88ef 100644 (file)
@@ -1211,6 +1211,22 @@ if hiera('step') >= 4 {
       clone_params    => 'interleave=true',
       resource_params => 'startdelay=10',
     }
+    # Fedora doesn't know `require-all` parameter for constraints yet
+    if $::operatingsystem == 'Fedora' {
+      $redis_ceilometer_constraint_params = undef
+    } else {
+      $redis_ceilometer_constraint_params = 'require-all=false'
+    }
+    pacemaker::constraint::base { 'redis-then-ceilometer-central-constraint':
+      constraint_type   => 'order',
+      first_resource    => "redis-master",
+      second_resource   => "${::ceilometer::params::agent_central_service_name}-clone",
+      first_action      => 'promote',
+      second_action     => 'start',
+      constraint_params => $redis_ceilometer_constraint_params,
+      require           => [Pacemaker::Resource::Ocf['redis'],
+                            Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name]],
+    }
     pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
       constraint_type => 'order',
       first_resource  => "${::keystone::params::service_name}-clone",