Red Hat Bugzilla – Bug 609417
[vdsm] [libvirt intg] in case vm is paused due to unknown reason by libvirt it remains "up" in vdsm
Last modified: 2014-01-12 19:46:29 EST
Description of problem:
there are some conditions where libvirt decides to pause vm (e_no_space for example) and if event is not properly handled by vdsm, then vm will go to pause from libvirt side, but will remain up by vdsm and as a result rhev-m side.
i know we can't deal with all cases, but at least we should say that in case that pause event is not handled correctly, put vm into pause.
Version-Release number of selected component (if applicable):
How reproducible: run scenario of lvextend on iscsi with sparse allocation - currently it's not dealt correctly, so you will hit this scenario.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
Dan, how can I test this flow ? libvirt now handles the enospace event, can you provide me some code to test it ?
Haim, I told you not to open this bug...
You can comment out the lines
elif eventid == libvirt.VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON:
srcPath, devAlias, action, reason = args[:-1]
in libvirtvm.py. The VM should go to Paused even without them.
Dan, we have another unhanded case which creates this state where 'qemu' produces 'eother' error reason (with UDEV case).
what do you think ?
let the eother be tracked by its specific BZ. This issue is much more general.
verified then, it only occurs with 'eother' sate.