Move nova constraints from controller manifest to each service
authorMichele Baldessari <michele@acksyn.org>
Tue, 26 Jul 2016 12:24:16 +0000 (14:24 +0200)
committerMichele Baldessari <michele@acksyn.org>
Wed, 27 Jul 2016 20:58:59 +0000 (22:58 +0200)
Currently we are still creating all the pacemaker constraints for nova
in the main overcloud_controller_pacemaker.pp manifest file.

Let's move those to each role where they belong. Note that given
that a constraint depends on two separate pacemaker resources it is a
bit arbitrary in which file they end up being (the one of the first
resource or the second one).

Depends-On: I96a3a313d15fac820b020feae0568437c2cbade3

Change-Id: I4f15485b1f355b3b38fc6c16552f204aa8bba7bc

puppet/manifests/overcloud_controller_pacemaker.pp

index 9ebfb6d..ca24c44 100644 (file)
@@ -99,88 +99,6 @@ if hiera('step') >= 5 {
                           Pacemaker::Resource::Ocf['openstack-core']],
     }
 
-    # Nova
-    pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
-      constraint_type => 'order',
-      first_resource  => 'openstack-core-clone',
-      second_resource => "${::nova::params::consoleauth_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
-                          Pacemaker::Resource::Ocf['openstack-core']],
-    }
-    pacemaker::constraint::colocation { 'nova-consoleauth-with-openstack-core':
-      source  => "${::nova::params::consoleauth_service_name}-clone",
-      target  => 'openstack-core-clone',
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
-                  Pacemaker::Resource::Ocf['openstack-core']],
-    }
-    pacemaker::constraint::base { 'nova-consoleauth-then-nova-vncproxy-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::nova::params::consoleauth_service_name}-clone",
-      second_resource => "${::nova::params::vncproxy_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
-                          Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name]],
-    }
-    pacemaker::constraint::colocation { 'nova-vncproxy-with-nova-consoleauth-colocation':
-      source  => "${::nova::params::vncproxy_service_name}-clone",
-      target  => "${::nova::params::consoleauth_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
-                  Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name]],
-    }
-    pacemaker::constraint::base { 'nova-vncproxy-then-nova-api-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::nova::params::vncproxy_service_name}-clone",
-      second_resource => "${::nova::params::api_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
-                          Pacemaker::Resource::Service[$::nova::params::api_service_name]],
-    }
-    pacemaker::constraint::colocation { 'nova-api-with-nova-vncproxy-colocation':
-      source  => "${::nova::params::api_service_name}-clone",
-      target  => "${::nova::params::vncproxy_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
-                  Pacemaker::Resource::Service[$::nova::params::api_service_name]],
-    }
-    pacemaker::constraint::base { 'nova-api-then-nova-scheduler-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::nova::params::api_service_name}-clone",
-      second_resource => "${::nova::params::scheduler_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::nova::params::api_service_name],
-                          Pacemaker::Resource::Service[$::nova::params::scheduler_service_name]],
-    }
-    pacemaker::constraint::colocation { 'nova-scheduler-with-nova-api-colocation':
-      source  => "${::nova::params::scheduler_service_name}-clone",
-      target  => "${::nova::params::api_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::nova::params::api_service_name],
-                  Pacemaker::Resource::Service[$::nova::params::scheduler_service_name]],
-    }
-    pacemaker::constraint::base { 'nova-scheduler-then-nova-conductor-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::nova::params::scheduler_service_name}-clone",
-      second_resource => "${::nova::params::conductor_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::nova::params::scheduler_service_name],
-                          Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
-    }
-    pacemaker::constraint::colocation { 'nova-conductor-with-nova-scheduler-colocation':
-      source  => "${::nova::params::conductor_service_name}-clone",
-      target  => "${::nova::params::scheduler_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::nova::params::scheduler_service_name],
-                  Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
-    }
-
     # Fedora doesn't know `require-all` parameter for constraints yet
     if $::operatingsystem == 'Fedora' {
       $redis_aodh_constraint_params = undef