32c7170...
by
OpenDev Sysadmins <email address hidden>
OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:
Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
Ensure pool manager is restarted when pools change
The designate pool manager needs to be restarted on all designate
units when the update pools command is run with a new version of
the pools yaml.
Previously it was assumed that it was sufficient to trigger a new
hook execution but in the following scenario the update is missed:
1) Non-leader reacts to a change in pools and renders a new
pools.yaml but does not run the db update as it is not the leader
2) leader reacts to a change in pools, renders a new pools.yaml,
updates the db and finally sets pool-yaml-hash with the new
value to trigger hooks executions on peers.
3) Non-leader reacts to leader db change, re-renders pools.yaml with
the same values as step 1 and does not perform the pool manager
restart even though it is needed.
The above scenario is fixed by adding a handler looking for a
change in the pool-yaml-hash and restarting the pool manager if it
changes. The leadership layer is needed to get the flags raised on
leader db changes.
The leader can also fail to restart pool manager as services are
restarted as soon as the config is rendered and before the
update_pools call is made. This scenario is fixed by adding a
handler to look for a change in the pools.yaml and restart pool
manager if it changes. This works because update pools is run in
the same handler as config render which means the new handler runs
after this render & update handler.
Ensure that EOL releases are removed from metadata
and tests, and that the current dev release is enabled
in metadata. Dev release tests are enabled separately
because of chickens and eggs.
Add missing amqp relation between neutron-api and rabbitmq-server