Bug #776
Non common VM failure state needs to be recovered from
Status: | Closed | Start date: | 08/18/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | - | % Done: | 0% | |
Category: | - | |||
Target version: | - | |||
Resolution: | fixed | Pull request: | ||
Affected Versions: | OpenNebula 3.6 |
Description
From Dan Yocum yocum@fnal.gov
--
libvirtd daemon dies on a host node. oned can't successfully query the libvirtd daemon as to the state of the VMs, so all VMs enter "unknown" state. User doesn't realize that libvirtd is the problem, so they attempt to 'onevm restart <vmid>' which results in a state of 'fail.' Sysadmin comes along and restarts libvirtd on the host machine and all VMs are now visible and oned can successfully query the state of the VMs, however, oned still thinks that the other VMs are in 'fail' state so the user can't restart or stop or anything to the VMs (which are still running).
--
I manually modified the database (mysql) to place the VMs into the 'running' state, thusly:
mysql -B -e "update opennebula.vm_pool set etime='0' where oid='<vmid>'"
mysql -B -e "update opennebula.vm_pool set lcm_state='3' where oid='<vmid>'"
mysql -B -e "update opennebula.vm_pool set state='3' where oid='<vmid>'"
where <vmid> is the ID of the VM as determined by using 'onevm list'.
The second way to resolve the issue is to again modify the database, but place the status of the VM into 'unknown' and then restart the VM:
mysql -B -e "update opennebula.vm_pool set lcm_state='3' where oid='<vmid>'"
mysql -B -e "update opennebula.vm_pool set state='16' where oid='<vmid>'"
onevm restart <vmid>
History
#1 Updated by Ruben S. Montero over 8 years ago
- Status changed from New to Closed
- Resolution set to fixed
- Affected Versions OpenNebula 3.6 added
Fixed in 4.0