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@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:tsh...@redhat.com] Sent: Thursday, November 02, 2017 9:55 AM To: Chris Cc: openstack@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 <cont...@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@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:tsh...@redaht.com> tsh...@redaht.com M: <tel:+972-54-4701080> +972-54-4701080 IM: tshefi <https://red.ht/sig> Obrázek byl odebrán odesílatelem.
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack