Remove keystone constraints and add the openstack-core dummy resource in its place
Bug #1537885 reported by
Adam Young
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
Undecided
|
Michele Baldessari |
Bug Description
there's no need anymore to have each service dependent from keystone. This means we can safely remove it, and replace it by adding a new resource named openstack-core (cloned) to take its place.
This change will make it much simpler to replace Keystone running in eventlet with HTTPD, as there will now be no need to stop/restart other systems when making changes to Keystone.
To post a comment you must log in.
From a message By Fabio
It is possible to detach keystone as being at the core of openstack by
using something like this (clearly it would need to be properly
incorporated in puppet modules/etc):
# create new dummy core openstack service to replace keystone
# and allow to stop all of openstack in one command
pcs resource create openstack-core ocf:heartbeat:Dummy --clone
pcs cluster cib /tmp/foo.cib
# workaround systemd timers (bug is filed, was not fixed in this build)
for i in $(pcs -f /tmp/foo.cib config |grep systemd | awk '{print $2}'); do
pcs -f /tmp/foo.cib resource update $i op status timeout=100s op stop
timeout=100s op start timeout=100s op monitor timeout=100s
done
# change all constraints from keystone to dummy keystone- clone ]; then core-clone core-clone
constr="$(pcs -f /tmp/foo.cib config |grep keystone |grep start |grep then)"
echo "$constr" | { while read i; do
act=$(echo "$i" | awk '{print $1}')
src=$(echo "$i" | awk '{print $2}')
dst=$(echo "$i" | awk '{print $5}')
cid=$(echo "$i" | awk '{print $7}' | sed -e 's/.*id\://g' -e 's/)//g')
if [ "$src" = openstack-
pcs -f /tmp/foo.cib constraint order $act openstack-
then $dst
else
pcs -f /tmp/foo.cib constraint order $act $src then
openstack-
fi
pcs -f /tmp/foo.cib constraint remove $cid
done; }
# make sure keystone and httpd are started after dummy core-clone then keystone- clone core-clone then
pcs -f /tmp/foo.cib constraint order start openstack-
openstack-
pcs -f /tmp/foo.cib constraint order start openstack-
httpd-clone
pcs cluster cib-push /tmp/foo.cib
----
and this solution works just fine as expected both for start and stop.