Next generation HA architecture work
authorMichele Baldessari <michele@acksyn.org>
Wed, 27 Jul 2016 20:51:22 +0000 (22:51 +0200)
committerMichele Baldessari <michele@acksyn.org>
Mon, 1 Aug 2016 20:49:33 +0000 (22:49 +0200)
This change moves the cinder-volume/cinder-scheduler constraints in the
cinder-scheduler profile as these can't be applied by the cinder-volume
service when cinder-scheduler isn't managed by Pacemaker.

Blueprint:
https://blueprints.launchpad.net/tripleo/+spec/ha-lightweight-architecture

Change-Id: I5e7585c08675d8a4bd071523b94210d325d79b59
Implements: blueprint ha-lightweight-architecture
Co-Author: cmsj@tenshu.net

manifests/profile/pacemaker/cinder/scheduler.pp
manifests/profile/pacemaker/cinder/volume.pp

index 9b79903..00b0696 100644 (file)
@@ -67,6 +67,22 @@ class tripleo::profile::pacemaker::cinder::scheduler (
       require => [Pacemaker::Resource::Service[$::cinder::params::api_service],
                   Pacemaker::Resource::Service[$::cinder::params::scheduler_service]],
     }
+    pacemaker::constraint::base { 'cinder-scheduler-then-cinder-volume-constraint':
+      constraint_type => 'order',
+      first_resource  => "${::cinder::params::scheduler_service}-clone",
+      second_resource => $::cinder::params::volume_service,
+      first_action    => 'start',
+      second_action   => 'start',
+      require         => [Pacemaker::Resource::Service[$::cinder::params::scheduler_service],
+                          Pacemaker::Resource::Service[$::cinder::params::volume_service]],
+    }
+    pacemaker::constraint::colocation { 'cinder-volume-with-cinder-scheduler-colocation':
+      source  => $::cinder::params::volume_service,
+      target  => "${::cinder::params::scheduler_service}-clone",
+      score   => 'INFINITY',
+      require => [Pacemaker::Resource::Service[$::cinder::params::scheduler_service],
+                  Pacemaker::Resource::Service[$::cinder::params::volume_service]],
+    }
   }
 
 }
index a4f251e..d909831 100644 (file)
@@ -32,7 +32,7 @@ class tripleo::profile::pacemaker::cinder::volume (
   $step           = hiera('step'),
 ) {
 
-  Service <| tag == 'cinder-service' |> {
+  Service <| tag == 'cinder::volume' |> {
     hasrestart => true,
     restart    => '/bin/true',
     start      => '/bin/true',
@@ -49,22 +49,6 @@ class tripleo::profile::pacemaker::cinder::volume (
 
   if $step >= 5 and $pacemaker_master {
     pacemaker::resource::service { $::cinder::params::volume_service : }
-    pacemaker::constraint::base { 'cinder-scheduler-then-cinder-volume-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::cinder::params::scheduler_service}-clone",
-      second_resource => $::cinder::params::volume_service,
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::cinder::params::scheduler_service],
-                          Pacemaker::Resource::Service[$::cinder::params::volume_service]],
-    }
-    pacemaker::constraint::colocation { 'cinder-volume-with-cinder-scheduler-colocation':
-      source  => $::cinder::params::volume_service,
-      target  => "${::cinder::params::scheduler_service}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::cinder::params::scheduler_service],
-                  Pacemaker::Resource::Service[$::cinder::params::volume_service]],
-    }
   }
 
 }