summaryrefslogtreecommitdiffstats
path: root/manifests/profile/pacemaker/nova/api.pp
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-07-29 08:39:56 +0000
committerGerrit Code Review <review@openstack.org>2016-07-29 08:39:56 +0000
commit171a747061892cc37f6f1f1181d48723e4e17995 (patch)
treecbf745ad9a2a5b7ed1df05015fbaa99719227208 /manifests/profile/pacemaker/nova/api.pp
parent9d81892ea1bcfb66230a12ff397ac5681369e70e (diff)
parenta93d22f45a24a16b253f6842a087d850763926eb (diff)
Merge "Move nova constraints from controller manifest to each service"
Diffstat (limited to 'manifests/profile/pacemaker/nova/api.pp')
-rw-r--r--manifests/profile/pacemaker/nova/api.pp34
1 files changed, 34 insertions, 0 deletions
diff --git a/manifests/profile/pacemaker/nova/api.pp b/manifests/profile/pacemaker/nova/api.pp
index 8a6dc8d..5e8f15f 100644
--- a/manifests/profile/pacemaker/nova/api.pp
+++ b/manifests/profile/pacemaker/nova/api.pp
@@ -48,6 +48,40 @@ class tripleo::profile::pacemaker::nova::api (
pacemaker::resource::service { $::nova::params::api_service_name:
clone_params => 'interleave=true',
}
+
+ 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]],
+ }
+
}
}