Bug 1178499 - [JSONRPC] Disk resize fails while vm is down
Summary: [JSONRPC] Disk resize fails while vm is down
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 3.5.0
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: ---
: 3.5.0
Assignee: Daniel Erez
QA Contact: Raz Tamir
URL:
Whiteboard: storage
Depends On:
Blocks: rhev35rcblocker rhev35gablocker
TreeView+ depends on / blocked
 
Reported: 2015-01-04 11:04 UTC by Gal Amado
Modified: 2016-02-10 19:42 UTC (History)
18 users (show)

Fixed In Version: vdsm-4.16.8.1-6.el6ev
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-15 09:14:52 UTC
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Logs01 (733.65 KB, application/x-gzip)
2015-01-04 15:14 UTC, Aharon Canan
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0227 0 normal SHIPPED_LIVE vdsm 3.5.0-1 ASYNC - bug fix and enhancement update 2015-02-16 19:40:04 UTC
oVirt gerrit 36590 0 master MERGED API: move diskSizeExtend logic from BindingXMLRPC Never
oVirt gerrit 36614 0 ovirt-3.5 MERGED API: move diskSizeExtend logic from BindingXMLRPC Never

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.


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