FYI, I have found a way to terminate instance:
virsh schedinfo <domain> --set vcpu_quota=20000
After this, shutdown, reboot and destroy all works. Of course, this
disables the vcpu throttling. It was set to 5000, which may cause the CPU
stall problem in guest.
Thanks,
Yuanle
On Sat, Feb 8, 2014 at 11:34 AM, sylecn <sylecn(a)gmail.com> wrote:
Hi,
I'm using libvirt/kvm with openstack. When vm has CPU stall, the instance
can't be destroyed. I have asked the question on openstack user mailing
list and received no answers in weeks.
Here is one example:
# virsh destroy instance-00000085
error: Failed to destroy domain instance-00000085
error: Failed to terminate process 61222 with SIGKILL: Device or
resource busy
# lsof -p 61222
# ps -f -p 61222
UID PID PPID C STIME TTY TIME CMD
107 61222 1 68 Jan24 ? 9-23:06:19 [qemu-system-x86]
<defunct>
The log in /var/log/libvirt/libvirtd.log:
2014-02-08 03:21:31.597+0000: 2177: error :
virProcessKillPainfully:315 : Failed to terminate process 61222 with
SIGKILL: Device or resource busy
Restart libvirt-bin service did not solve the problem.
virsh shutdown/reboot just hang. Maybe that is because the CPU in vm is
stalled.
I wonder if there is some way to destroy (or rebuild) dead instance
without rebooting the hypervisor. Any suggestions is welcome.
The software I am running:
hypervisor os: ubuntu 12.04.3
hypervisor kernel: 3.8.0-35-generic
vm os: ubuntu 12.04
vm kernel: 3.2.0-56-virtual
openstack: havana
libvirt: 1.1.1-0ubuntu8~cloud2
Thanks,
Yuanle