libvirt: race between hot unplug and XMLDesc in _get_instance_disk_info

Bug #1375868 reported by Nikola Đipanov
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Expired
Undecided
Unassigned

Bug Description

THis came up when analyzing https://bugs.launchpad.net/nova/+bug/1371677 and there is a lot information on there. The bug in short is that _get_instance_disk_info will rely on db information to filter out the volumes from the list of discs it gets from libvirt XML, but due to the async nature of unplug - this can still contain a volume that does not exist in the DB and will not be filtered out, so the code will assume it's an lvm image and do a blockdev on it which can block for a very long time.

The solution is to NOT use libvirt XML in this particular case (but anywhere in Nova really) to find out information about running instances.

Tags: libvirt
Revision history for this message
Michael Turek (mjturek) wrote :

I'm going to look into this, but considering it's importance, I'll jump off if I can't provide a fix quickly. I'd suggest that this be marked as 'Triaged' as the approach to fixing this is outlined in the Bug Description.

Changed in nova:
assignee: nobody → Michael Turek (mjturek)
Changed in nova:
status: New → Triaged
Michael Turek (mjturek)
Changed in nova:
assignee: Michael Turek (mjturek) → nobody
Sean Dague (sdague)
Changed in nova:
status: Triaged → Confirmed
Revision history for this message
Jun Wei Wang (wjw7869) wrote :

Does this bug will cause libvird not response any request?
Thanks
Andy

Chen Fan (fan-chen)
Changed in nova:
assignee: nobody → Chen Fan (fan-chen)
Revision history for this message
Markus Zoeller (markus_z) (mzoeller) wrote : Cleanup EOL bug report

This is an automated cleanup. This bug report has been closed because it
is older than 18 months and there is no open code change to fix this.
After this time it is unlikely that the circumstances which lead to
the observed issue can be reproduced.

If you can reproduce the bug, please:
* reopen the bug report (set to status "New")
* AND add the detailed steps to reproduce the issue (if applicable)
* AND leave a comment "CONFIRMED FOR: <RELEASE_NAME>"
  Only still supported release names are valid (LIBERTY, MITAKA, OCATA, NEWTON).
  Valid example: CONFIRMED FOR: LIBERTY

Changed in nova:
assignee: Chen Fan (fan-chen) → nobody
importance: High → Undecided
status: Confirmed → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.