Bug 1098773 - Building vm from template throws "Exception: VDSGenericException: VDSErrorException" if the template was create RawSparse on NFS and was copied to ISCSI domain
Summary: Building vm from template throws "Exception: VDSGenericException: VDSErrorEx...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 3.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 3.5.0
Assignee: Vered Volansky
QA Contact: Ori Gofen
URL:
Whiteboard: storage
Depends On:
Blocks: 960934
TreeView+ depends on / blocked
 
Reported: 2014-05-18 10:35 UTC by Ori Gofen
Modified: 2016-05-26 01:50 UTC (History)
10 users (show)

Fixed In Version: ovirt-engine-3.5.0_alpha1.1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 26732 0 None None None Never
oVirt gerrit 26733 0 None None None Never
oVirt gerrit 26734 0 None None None Never

Description Ori Gofen 2014-05-18 10:35:09 UTC
Description of problem:

When coping a template that was create as raw sparse on NFS to ISCSI domain,it is actually creating a raw preallocated template (BZ #1098258),therefore,the operation of creating vm with thin provision disk from template is aloud by ovirt-engine in the case of an iscsi domain which has free space that is less than disks actual size, but it fails (with termination of "VDSErrorException") sense there is not enough space for the completion of the command


Version-Release number of selected component (if applicable):
vdsm-4.14.7-2.el6ev.x86_64
rhevm-3.4.0-0.20.el6ev.noarch

How reproducible:
100%

Steps to Reproduce:

Setup:have a dc with 2 domains of each kind(1 NFS,1ISCSI)

1.create vm+thin provision disk on NFS,make a template out of this vm
2.copy template to ISCSI domain and make sure-> 
{disks actual size} > {ISCSI's free space} > {3giga}
3.create vm from template (mark it thin provision on ISCSI domain)

Actual results:
operation fails from vdsm logs:

ERROR::2014-05-18 12:58:16,790::image::736::Storage.Image::(copyCollapsed) Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/image.py", line 731, in copyCollapsed
    dstVol.extend(newsize)
  File "/usr/share/vdsm/storage/blockVolume.py", line 272, in extend
    lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
  File "/usr/share/vdsm/storage/lvm.py", line 1151, in extendLV
    _resizeLV("lvextend", vgName, lvName, size)
  File "/usr/share/vdsm/storage/lvm.py", line 1145, in _resizeLV
    free_size / constants.MEGAB))

from ovirt-engine logs:

2014-05-18 12:58:25,128 ERROR [org.ovirt.engine.core.bll.SPMAsyncTask] (DefaultQuartzScheduler_Worker-80) BaseAsyncTask::LogEndTaskFailure: Task a63ba93d-505a-4cfe-b860-4a3bb45d50c7 (Parent Command AddVmFromTemplate, Parameters Type org.ovirt.engine.core.common asynctasks.AsyncTaskParameters) ended with failure:
 - Result: cleanSuccess
-- Message: VDSGenericException: VDSErrorException: Failed in vdscommand to HSMGetAllTa ksStatusesVDS, error = Volume Group not big enough,
-- Exception: VDSGenericException: VDSErrorException: Failed in vdscommand to HSMGetAllTasksStatusesVDS, error = Volume Group not big enough 


Expected results:
operation should succeed

Additional info:

Comment 1 Allon Mureinik 2014-05-18 13:22:07 UTC
Generally speaking, we're lacking proper space validation for this scenario, regardless of the move from file to block.

Comment 2 Vered Volansky 2014-05-20 11:32:35 UTC
This issue should be solved in 3.5.0, in the above patches.

Comment 3 Ori Gofen 2014-07-08 11:04:32 UTC
verified on alpha2,an error message pops up

Comment 4 Allon Mureinik 2015-02-16 19:12:34 UTC
RHEV-M 3.5.0 has been released, closing this bug.

Comment 5 Allon Mureinik 2015-02-16 19:12:35 UTC
RHEV-M 3.5.0 has been released, closing this bug.


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