[Openstack] Compute Node shutdown how to prevent instance suspend
Tomáš Vondra
vondra at homeatcloud.cz
Thu Nov 2 09:33:32 UTC 2017
Hi!
When I need to reboot a compute node (because of some driver lock-up or such problems), I first stop nova-compute so that it does not report the shutoff state of VMs to the database and resume_guests_state_on_host_boot=true does actually start them. Then I press the power switch on the VMs using virsh shutdown, one by one, and only after that I reboot the node. This is a script I scrounged somewhere and modified so that it does not take too much time:
Tomas
root at cmp03:~# cat vm-shutdown
#!/bin/bash
# file: /usr/local/sbin/vm-shutdown
# Description: shutdown active virtual machines
debug=1
#fake=1
# Get list of active virtual machines
vmList="`virsh list | (
while read vmID vmName vmStatus
do
if [ -n "$vmName" -a "$vmName" != "Name" -a "$vmName" != "Domain-0" ]
then
[ -z "$vmList" ] && vmList="$vmName" || vmList="$vmList $vmName"
fi
done
echo $vmList )`"
# check there are some active VM's
if [ -n "$vmList" ]; then
# Shutdown VM's with verification
for vmName in $vmList
do
# send initial request
[ -n "$debug" ] && echo -n "Attempting to shutdown $vmName "
[ -z "$fake" ] && virsh shutdown $vmName
# wait a limited time for the VM to be not running
count=30
while $( virsh list | grep $vmName >/dev/null ) && [ $count -gt 0 ]
do
sleep 1
let count=count-1
[ -n "$debug" ] && echo -n "."
done
# report current status
( virsh list | grep $vmName >/dev/null ) && echo " failed!" || echo "down."
# if still running, destroy it
if ( virsh list | grep $vmName >/dev/null )
then
[ -n "$debug" ] && echo -n "Attempting to destroy $vmName "
[ -z "$fake" ] && virsh destroy $vmName
# wait a limited time for the VM to be not running
count=30
while $( virsh list | grep $vmName >/dev/null ) && [ $count -gt 0 ]
do
sleep 1
let count=count-1
[ -n "$debug" ] && echo -n "."
done
# report current status
( virsh list | grep $vmName >/dev/null ) && echo " failed!" || echo "down."
fi
done
From: Tzach Shefi [mailto:tshefi at redhat.com]
Sent: Thursday, November 02, 2017 9:55 AM
To: Chris
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] Compute Node shutdown how to prevent instance suspend
Hi,
A better Q would be why do you shutdown a compute node to begin with?
I mean if you need you should do so in an orderly fashion basically excavate instances
or shut instances down manually, put the compute node in maintenance mode.
On rebooting compute node remove it from maintenance mode, turn on instances or migrate them back to this compute node should you need.
Od delete them if you wish.
There is this nova option:
resume_guests_state_on_host_boot=true
But it doesn't delete or shutdown instances but rather turns them on automatically once compute host resumes.
which might also work for you, probably not just mentioning it any way.
I don't know of an option to stop/delete instance on compute node shutdown.
Another option check maybe you could shelve suspended instance and then later delete them.
Shelving stops the instance and takes a snapshot of it. Then depending on the value of the shelved_offload_time config option, the instance is deleted from the hypervisor (0), never deleted (-1), or deleted after some period of time (> 0). Note that it's just destroying the backing instance on the hypervisor, the actual instance in the nova database is not deleted. Then you can later unshelve the instance:
This might help, but do not if you mess with kvm without updating Nova you might be left haning else where :)
https://ask.fedoraproject.org/en/question/8796/make-libvirt-to-shutdown-my-guests-not-suspend/
On Thu, Nov 2, 2017 at 9:03 AM, Chris <contact at progbau.de> wrote:
Hello,
When we shut down a compute node the instances running on it get suspended. This generates some difficulties with some applications like RabbitMQ dont like to be suspended. Is there a way to change this behavior so that the running instances gets killed or shutdown instead?
Thanks in advance.
Cheers,
Chris
_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack at lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
--
Tzach Shefi
Senior Quality Engineer, RHCSA
<https://www.redhat.com> Red Hat
<mailto:tshefi at redaht.com> tshefi at redaht.com M: <tel:+972-54-4701080> +972-54-4701080 IM: tshefi
<https://red.ht/sig> Obrázek byl odebrán odesílatelem.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20171102/668b8225/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 440 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20171102/668b8225/attachment.jpg>
More information about the Openstack
mailing list