Bug 1178499

Summary: [JSONRPC] Disk resize fails while vm is down
Product: Red Hat Enterprise Virtualization Manager Reporter: Gal Amado <gamado>
Component: vdsmAssignee: Daniel Erez <derez>
Status: CLOSED ERRATA QA Contact: Raz Tamir <ratamir>
Severity: urgent Docs Contact:
Priority: high    
Version: 3.5.0CC: aberezin, acanan, amureini, bazulay, derez, ecohen, gamado, gklein, iheim, lpeer, lsurette, oourfali, pkliczew, rbalakri, Rhev-m-bugs, tnisan, ybronhei, yeylon
Target Milestone: ---Keywords: AutomationBlocker, Regression
Target Release: 3.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: vdsm-4.16.8.1-6.el6ev Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-15 09:14:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1164308, 1164311    
Attachments:
Description Flags
Logs01 none

Description Gal Amado 2015-01-04 11:04:55 UTC
Description of problem:
Disk re size fails while vm is down fails without any indication to the user.
In engine log, we see an ExtendVmDiskSizeVDSCommand error - " Virtual machine does not exist, code = 1"

in the call to ExtendVmDiskSizeVDSCommand() we see vmId=00000000-0000-0000-0000-000000000000

repeating the operation when VM is up, is done without error (in the call to ExtendVmDiskSizeVDSCommand() we see a proper vmId value)


Version-Release number of selected component (if applicable):
Red Hat Enterprise Virtualization Manager Version: 3.5.0-0.26.el6ev


How reproducible:
Happens all the time on GE job storage_virtual_disk_resize.TestCase336099
to reproduce manually

Steps to Reproduce:
on up and running GE envir
1.add a thin provision disk to a VM 
2.make sure the vm is powered off.
3.edit the disk,"Extend size by(GB)" (I chose + 1G) + OK.

Actual results:
4. The disk size is not extended.
5. No error msg on the GUI, no failed tasks.
6. Error on Engine log :
2015-01-04 12:07:36,058 ERROR [org.ovirt.engine.core.vdsb
roker.vdsbroker.ExtendVmDiskSizeVDSCommand] (org.ovirt.th
read.pool-7-thread-18) Failed in ExtendVmDiskSizeVDS meth
od
2015-01-04 12:07:36,058 ERROR [org.ovirt.engine.core.vdsb
roker.vdsbroker.ExtendVmDiskSizeVDSCommand] (org.ovirt.th
read.pool-7-thread-18) Command ExtendVmDiskSizeVDSCommand
(HostName = host_mixed_2, HostId = 825c1a69-19d0-4d64-882
4-af76990d8c9e, vmId=00000000-0000-0000-0000-000000000000
) execution failed. Exception: VDSErrorException: VDSGene
ricException: VDSErrorException: Failed to ExtendVmDiskSizeVDS, error = Virtual machine does not exist, code = 1
2015-01-04 12:07:36,059 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ExtendVmDiskSizeVDSCommand] (org.ovirt.thread.pool-7-thread-18) FINISH, ExtendVmDiskSizeVDSCommand, log id: 1212b63e
2015-01-04 12:07:36,059 WARN  [org.ovirt.engine.core.bll.ExtendImageSizeCommand] (org.ovirt.thread.pool-7-thread-18) Failed to update VM golden_env_mixed_virtio_0_iscsi with the new volume size due to error: VdcBLLException: VdcBLLException: org.ovirt.engine.core.vdsbroker.vdsbroker.VDSErrorException: VDSGenericException: VDSErrorException: Failed to ExtendVmDiskSizeVDS, error = Virtual machine does not exist, code = 1 (Failed with error noVM and code 1).VM should be restarted to detect the new size.



Expected results:
4. The disk size should be extended.
6. an example of a "good" massages on Engine log (as captured when VM is up and running ):
2015-01-04 11:14:22,153 INFO  [org.ovirt.engine.core.vdsb
roker.vdsbroker.ExtendVmDiskSizeVDSCommand] (org.ovirt.th
read.pool-7-thread-35) START, ExtendVmDiskSizeVDSCommand(
HostName = host_mixed_1, HostId = 31f8b491-5096-47f6-87af
-7f8e76cd037c, vmId=0b0e0948-a77e-4e5e-b694-e0d2ff0fed98)
, log id: 69748a5d
2015-01-04 11:14:22,272 INFO  [org.ovirt.engine.core.vdsb
roker.vdsbroker.ExtendVmDiskSizeVDSCommand] (org.ovirt.th
read.pool-7-thread-50) FINISH, ExtendVmDiskSizeVDSCommand
, return: 7,516,192,768, log id: 7d41148b

Additional info:

Comment 1 Tal Nisan 2015-01-04 14:49:10 UTC
Logs?

Comment 2 Aharon Canan 2015-01-04 15:06:26 UTC
reproduce for adding logs - 

1. Create new Vm with 10G thin disk over NFS domain
2. while VM is down, extend the disk +2G

results - 
virtual size in GUI extended to 12G

in engine logs :
2015-01-04 14:47:34,790 ERROR [org.ovirt.engine.core.vdsbroker.vdsbroker.ExtendVmDiskSizeVDSCommand] (org.ovirt.thread.pool-7-thread-42) Command ExtendVmDiskSizeVDSCommand(HostName = blond-vdsf, HostId = 678ebccb-b91e-40e4-9773-2b9241e6aadb, vmId=00000000-0000-0000-0000-000000000000) execution failed. Exception: VDSErrorException: VDSGenericException: VDSErrorException: Failed to ExtendVmDiskSizeVDS, error = Virtual machine does not exist, code = 1

Comment 4 Aharon Canan 2015-01-04 15:14:00 UTC
Created attachment 975986 [details]
Logs01

Comment 5 Daniel Erez 2015-01-05 12:59:52 UTC
The error seems to be reproduced only using json-rpc.
The underling issue looks like specific logic being done only in bindingXMLRPC.py; diskSizeExtend function determines  whether an existing VM Id has been passed, whereas, in json-rpc, diskSizeExtend function under VM class (API.py) is being invoked.

Comment 9 Raz Tamir 2015-01-22 13:03:15 UTC
Verified - vt13.8
Disk was extended successfully when vm isn't running

Comment 11 Eyal Edri 2015-02-15 09:14:52 UTC
bugs were moved by ERRATA to RELEASE PENDING bug not closed probably due to errata error.
closing as 3.5.0 is released.