Merge lp:~rackspace-titan/nova/terminate-libvirt-hang-lp754509 into lp:~hudson-openstack/nova/trunk
Proposed by
Brian Lamar
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Soren Hansen | ||||
Approved revision: | 971 | ||||
Merged at revision: | 973 | ||||
Proposed branch: | lp:~rackspace-titan/nova/terminate-libvirt-hang-lp754509 | ||||
Merge into: | lp:~hudson-openstack/nova/trunk | ||||
Diff against target: |
22 lines (+6/-3) 1 file modified
nova/virt/libvirt_conn.py (+6/-3) |
||||
To merge this branch: | bzr merge lp:~rackspace-titan/nova/terminate-libvirt-hang-lp754509 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Soren Hansen (community) | Approve | ||
Vish Ishaya (community) | Approve | ||
Ed Leafe (community) | Needs Fixing | ||
justinsb (community) | Approve | ||
Titan | Pending | ||
Review via email: mp+57003@code.launchpad.net |
Description of the change
Currently terminating an instance will hang in a loop, this allows for deletion of instances when using a libvirt backend. Also I couldn't help add a debug log where an exception is caught and ignored.
To post a comment you must log in.
While I am unsure how this was working before, currently it looks like there is a busy-wait check on the instance state which never exits because it's checking for the instance to be in power_state. SHUTDOWN which isn't the same as power_state. SHUTOFF. These two states are a bit confusing and I think a long-term fix should involve some renaming of states and a good hard look at any code that is busy-wait checking like this while True loop.