Update: clean keepalived and radvd instances after pcs cluster stop

Older neutron versions have a bug which makes them leave keepalived and
radvd running even after all neutron services are stopped, preventing
neutron router failover from happening. Router can then get stuck on the
inactive node, like this:

[stack@instack ~]$ neutron l3-agent-list-hosting-router default_router
+--------------------------------------+------------------------------------+----------------+-------+----------+
| id                                   | host                               | admin_state_up | alive | ha_state |
+--------------------------------------+------------------------------------+----------------+-------+----------+
| 48ca9477-b93b-4305-9e6d-9f1c5d3388f0 | overcloud-controller-1.localdomain | True           | :-)   | standby  |
| eba0575c-654f-4da6-b1cd-f7fdf1cd3726 | overcloud-controller-2.localdomain | True           | :-)   | standby  |
| 68815390-251f-4425-a5f8-38bdbf3bdb90 | overcloud-controller-0.localdomain | True           | xxx   | active   |
+--------------------------------------+------------------------------------+----------------+-------+----------+

We need to kill the leftover processes manually to prevent the state
described above from happening.

See https://review.gerrithub.io/#/c/248931

Change-Id: I2deaa176222983daa0c33ab52a6aa5dbe7365302
This commit is contained in:
Jiri Stransky 2015-11-24 13:18:44 +01:00
parent 7bae1ce8b0
commit 0d12f977e6

@ -126,6 +126,13 @@ openstack-nova-scheduler"
else
pcs cluster stop
fi
# clean leftover keepalived and radvd instances from neutron
# (can be removed when we remove neutron-netns-cleanup from cluster services)
# see https://review.gerrithub.io/#/c/248931/1/neutron-netns-cleanup.init
killall neutron-keepalived-state-change 2>/dev/null || :
kill $(ps ax | grep -e "keepalived.*\.pid-vrrp" | awk '{print $1}') 2>/dev/null || :
kill $(ps ax | grep -e "radvd.*\.pid\.radvd" | awk '{print $1}') 2>/dev/null || :
else
echo "Excluding upgrading packages that are handled by config management tooling"
command_arguments="$command_arguments --skip-broken"