Bug 918498 - [RACE]: vm status changes from up->pause->up during live storage migration and some actions fail with CanDoAction on illegal vm status
Summary: [RACE]: vm status changes from up->pause->up during live storage migration an...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 3.2.0
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
: 3.2.0
Assignee: Liron Aravot
QA Contact: Leonid Natapov
URL:
Whiteboard: storage
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-06 11:55 UTC by Dafna Ron
Modified: 2016-02-10 17:51 UTC (History)
12 users (show)

Fixed In Version: sf13.1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
logs (881.29 KB, application/x-gzip)
2013-03-06 11:55 UTC, Dafna Ron
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 12986 0 None None None Never

Description Dafna Ron 2013-03-06 11:55:39 UTC
Created attachment 705893 [details]
logs

Description of problem:

I tried to deactivate a disk while the vm was doing a live storage migration on one of its other disks. 
I got a CanDoAction in engine: 

2013-03-06 01:08:43,791 WARN  [org.ovirt.engine.core.bll.HotUnPlugDiskFromVmCommand] (ajp-/127.0.0.1:8702-3) CanDoAction of action HotUnPlugDiskFromVm failed. Reasons:VAR__ACTION__HOT_UNPLUG,VAR__TYPE__VM_DISK,ACTION_TYPE_FAILED_VM_STAT

looking at the log, the VM's status is illegal because vdsm is moving it to Pause during extend: 

2013-03-06 01:08:40,835 INFO  [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (QuartzScheduler_Worker-37) VM FGFG 8770aef8-5b0a-4b81-9ac0-866884cef95c moved from Up --> Paused


Version-Release number of selected component (if applicable):

SF9
vdsm-4.10.2-10.0.el6ev.x86_64
libvirt-0.10.2-18.el6_4.eblake.2.x86_64

How reproducible:

race

Steps to Reproduce:
1. try to unplug a disk once the lvextend has moved the vm to pause
2.
3.
  
Actual results:

we fail with CanDoAction

Expected results:

since we change the vm status a lot during live migrate, if lvextend bug is not fixed we should at least create a flow for status change during lvextend (such as retries). 

Additional info: logs

Comment 1 Ayal Baron 2013-03-10 06:45:47 UTC
Fede, any reason to prevent hotunplug while VM is in pause?

Comment 3 Federico Simoncelli 2013-03-12 13:01:26 UTC
(In reply to comment #1)
> Fede, any reason to prevent hotunplug while VM is in pause?

I checked the qemu/libvirt code and it looks like there's no limitation about hot-plugging/hot-unplugging when the VM is suspended. I also successfully tested it a couple of times (qemu-1.2.2-6.fc18/libvirt-0.10.2.3-1.fc18).
If there's any limitation in VDSM (I don't think there is), it should be removed (maybe cloning this bug).

As far as this issue is concerned the canDoAction can be modified accordingly.

Comment 4 Liron Aravot 2013-03-12 16:47:01 UTC
http://gerrit.ovirt.org/#/c/12986/

Comment 5 Federico Simoncelli 2013-03-12 17:29:38 UTC
Please note the incongruity with bug 918798 comment 8. Fine by me to enable it but qemu should try to solve its issue.

Comment 7 Leonid Natapov 2013-04-14 15:53:47 UTC
sf13.1
Can hotplug/unplug/attach disk while VM is paused.

Comment 8 Itamar Heim 2013-06-11 08:59:25 UTC
3.2 has been released

Comment 9 Itamar Heim 2013-06-11 08:59:26 UTC
3.2 has been released

Comment 10 Itamar Heim 2013-06-11 08:59:28 UTC
3.2 has been released

Comment 11 Itamar Heim 2013-06-11 09:00:59 UTC
3.2 has been released

Comment 12 Itamar Heim 2013-06-11 09:30:29 UTC
3.2 has been released


Note You need to log in before you can comment on or make changes to this bug.