Move nova constraints from controller manifest to each service
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
This commit is contained in:
parent
b0e53995ec
commit
d85d0681dd
|
@ -99,88 +99,6 @@ if hiera('step') >= 5 {
|
||||||
Pacemaker::Resource::Ocf['openstack-core']],
|
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
|
# Fedora doesn't know `require-all` parameter for constraints yet
|
||||||
if $::operatingsystem == 'Fedora' {
|
if $::operatingsystem == 'Fedora' {
|
||||||
$redis_aodh_constraint_params = undef
|
$redis_aodh_constraint_params = undef
|
||||||
|
|
Loading…
Reference in New Issue