Bug 609417

Summary: [vdsm] [libvirt intg] in case vm is paused due to unknown reason by libvirt it remains "up" in vdsm
Product: Red Hat Enterprise Linux 6 Reporter: Haim <hateya>
Component: vdsmAssignee: Dan Kenigsberg <danken>
Status: CLOSED CURRENTRELEASE QA Contact: Moran Goldboim <mgoldboi>
Severity: high Docs Contact:
Priority: low    
Version: 6.1CC: danken, iheim, mgoldboi, Rhev-m-bugs, yeylon, ykaul
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: vdsm * libvirt integration
Fixed In Version: vdsm-4.9-10.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-19 15:22:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 581275    

Description Haim 2010-06-30 08:56:09 UTC
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):

vdsm-4.9-9.2.x86_64
qemu-kvm-0.12.1.2-2.82.el6.x86_64
2.6.32-37.el6.x86_64

How reproducible: run scenario of lvextend on iscsi with sparse allocation - currently it's not dealt correctly, so you will hit this scenario.

Comment 2 RHEL Program Management 2010-06-30 09:23:08 UTC
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
inclusion.

Comment 4 Haim 2010-07-30 08:28:52 UTC
Dan, how can I test this flow ? libvirt now handles the enospace event, can you provide me some code to test it ?

Comment 5 Dan Kenigsberg 2010-08-01 07:01:56 UTC
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]
            v._onAbnormalStop(devAlias, reason)
in libvirtvm.py. The VM should go to Paused even without them.

Comment 6 Haim 2010-08-19 07:14:38 UTC
Dan, we have another unhanded case which creates this state where 'qemu' produces 'eother' error reason (with UDEV case). 

what do you think ?

Comment 7 Dan Kenigsberg 2010-08-19 07:23:45 UTC
let the eother be tracked by its specific BZ. This issue is much more general.

Comment 8 Haim 2010-08-19 07:38:23 UTC
verified then, it only occurs with 'eother' sate. 

2.6.32-59.1.el6.x86_64
libvirt-0.8.1-25.el6.x86_64
vdsm-4.9-13.el6.x86_64
device-mapper-multipath-0.4.9-25.el6.x86_64
lvm2-2.02.72-7.el6.x86_64
qemu-kvm-0.12.1.2-2.109.el6.x86_64