nova-live-migration: Ensure subnode is fenced during evacuation testing
As stated in the forced-down API [1]: > Setting a service forced down without completely fencing it will > likely result in the corruption of VMs on that host. Previously only the libvirtd service was stopped on the subnode prior to calling this API, allowing n-cpu, q-agt and the underlying guest domains to continue running on the host. This change now ensures all devstack services are stopped on the subnode and all active domains destroyed. It is hoped that this will resolve bug #1813789 where evacuations have timed out due to VIF plugging issues on the new destination host. [1] https://docs.openstack.org/api-ref/compute/?expanded=update-forced-down-detail#update-forced-down NOTE(lyarwood): The following change is squashed here to allow both to pass the gate without encoutering additional failures. nova-live-migration: Only stop n-cpu and q-agt during evacuation testing I8af2ad741ca08c3d88efb9aa817c4d1470491a23 started to correctly fence the subnode ahead of evacuation testing but missed that c-vol and g-api where also running on the host. As a result the BFV evacuation test will fail if the volume being used is created on the c-vol backend hosted on the subnode. This change now avoids this by limiting the services stopped ahead of the evacuation on the subnode to n-cpu and q-agt. Change-Id: Ia7c317e373e4037495d379d06eda19a71412d409 Closes-Bug: #1868234 (cherry picked from commit1e16b3184d
) Related-Bug: #1813789 Change-Id: I8af2ad741ca08c3d88efb9aa817c4d1470491a23 (cherry picked from commitb097959c1c
)
This commit is contained in:
parent
dd1643035e
commit
91d410b92f
|
@ -56,6 +56,11 @@ nova boot --flavor ${flavor_id} --poll \
|
|||
--block-device id=${image_id},source=image,dest=volume,size=1,bootindex=0,shutdown=remove \
|
||||
--nic net-id=${network_id} --availability-zone nova:${subnode} evacuate-bfv-test
|
||||
|
||||
# Fence the subnode
|
||||
echo "Stopping n-cpu, q-agt and guest domains on subnode"
|
||||
$ANSIBLE subnodes --become -f 5 -i "$WORKSPACE/inventory" -m shell -a "systemctl stop devstack@n-cpu devstack@q-agt"
|
||||
$ANSIBLE subnodes --become -f 5 -i "$WORKSPACE/inventory" -m shell -a "for domain in \$(virsh list --all --name); do virsh destroy \$domain; done"
|
||||
|
||||
echo "Forcing down the subnode so we can evacuate from it"
|
||||
openstack --os-compute-api-version 2.11 compute service set --down ${subnode} nova-compute
|
||||
|
||||
|
|
Loading…
Reference in New Issue