Bug 1274323

Summary: Live merge: Engine must refresh resized volume on HSM prior to starting merge
Product: [oVirt] ovirt-engine Reporter: Adam Litke <alitke>
Component: BLL.StorageAssignee: Greg Padgett <gpadgett>
Status: CLOSED WONTFIX QA Contact: Kevin Alon Goldblatt <kgoldbla>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.6.0CC: amureini, bugs, gpadgett, tnisan, ylavi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1291569 1292129 (view as bug list) Environment:
Last Closed: 2015-12-16 14:41:03 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: 1232481, 1291569, 1292129    
Attachments:
Description Flags
engine.log
none
vdsm log from SPM host
none
vdsm log from HSM host none

Description Adam Litke 2015-10-22 13:35:12 UTC
Description of problem:

If a drive was enlarged after creation of a snapshot then the volume associated with the snapshot will be smaller than the currently active volume.  If the snapshot volume is also on preallocated block storage then engine needs to manually enlarge the snapshot volume prior to starting a live merge.

Today, engine issues the extendVolumeSize call to SPM but it does not notify the host running the VM (HSM host) that the volume has been resized.  This means that when a VM is running on a non-SPM host the resize won't be picked up by qemu and the merge will fail.


Version-Release number of selected component (if applicable):
ovirt-engine-4.0.0-0.0.master.20151020161541.git37557f3.el7.centos.noarch

How reproducible:
Always

Steps to Reproduce:
1. Start a VM on a non-SPM host with a preallocated block disk
2. Create a snapshot involving the disk
3. Enlarge the disk by 1GB
4. Delete the snapshot

Actual results:
The merge fails with an error like the following on the HSM host:

libvirtError: internal error: unable to execute QEMU command 'block-commit': Top image /rhev/data-center/108151fa-1c40-4ee3-bae0-d91d0e56f44d/2276ca67-cdff-4bde-b437-446fc2e92a46/images/65ade35f-deed-4e0d-8a73-7c98c80fb661/b97c3c80-f781-4b51-bb79-5929fd9f3cf8 is larger than base image /rhev/data-center/108151fa-1c40-4ee3-bae0-d91d0e56f44d/2276ca67-cdff-4bde-b437-446fc2e92a46/images/65ade35f-deed-4e0d-8a73-7c98c80fb661/71bc1e19-e392-4121-9c2f-896d7402db22, and resize of base image failed: Invalid argument

Expected results:

The snapshot should be removed successfully.

Additional info:

Comment 1 Adam Litke 2015-10-22 13:36:35 UTC
Created attachment 1085521 [details]
engine.log

Comment 2 Adam Litke 2015-10-22 13:37:01 UTC
Created attachment 1085522 [details]
vdsm log from SPM host

Comment 3 Adam Litke 2015-10-22 13:37:22 UTC
Created attachment 1085524 [details]
vdsm log from HSM host

Comment 4 Adam Litke 2015-10-22 13:38:46 UTC
I believe the proper way to fix this is for engine to issue a diskSizeExtend to the HSM host as discussed in the Feature Page for online disk resize:

http://www.ovirt.org/Features/Online_Virtual_Drive_Resize#Detailed_Description

Comment 5 Yaniv Lavi 2015-10-29 12:51:23 UTC
In oVirt testing is done on single release by default. Therefore I'm removing the 4.0 flag. If you think this bug must be tested in 4.0 as well, please re-add the flag. Please note we might not have testing resources to handle the 4.0 clone.

Comment 6 Allon Mureinik 2015-12-16 14:41:03 UTC
Patch was merged to the upstream ovirt-3.5 branch, but we currently aren't planning to have a 3.5.7 build.
Closing.