When nova-compute and nova-conductor are collocated, we need to make
sure nova-conductor starts before nova-compute otherwise nova-compute
will just fail to start.
Change-Id: Icc3ed768af2a08e2db78d9c9278d309a62d26850
# deploy basic bits for nova-compute
include ::nova::compute
+ # If Service['nova-conductor'] is in catalog, make sure we start it
+ # before nova-compute.
+ Service<| title == 'nova-conductor' |> -> Service['nova-compute']
# deploy bits to connect nova compute to neutron
include ::nova::network::neutron
pacemaker::resource::service { $::nova::params::conductor_service_name:
clone_params => 'interleave=true',
}
+ # If Service['nova-compute'] is in catalog, make sure we start it after
+ # nova-conductor pcmk resource.
+ # Also make sure to restart nova-compute if nova-conductor pcmk resource changed
+ # the state, since nova-compute is deployed at a previous step.
+ Pacemaker::Resource::Service[$::nova::params::conductor_service_name] ~> Service<| title == 'nova-compute' |>
}
}