Bug 1429170 - Cold move of file based (nfs) disk failed when the VM is cloned from template as thin provision
Summary: Cold move of file based (nfs) disk failed when the VM is cloned from template...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: BLL.Storage
Version: 4.1.1.3
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ovirt-4.1.1-1
: 4.1.1.6
Assignee: Liron Aravot
QA Contact: Eyal Shenitzky
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-03-05 09:52 UTC by Eyal Shenitzky
Modified: 2017-04-21 09:41 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-21 09:41:01 UTC
oVirt Team: Storage
Embargoed:
rule-engine: ovirt-4.1+
rule-engine: blocker+


Attachments (Terms of Use)
engine and vdsm logs (873.92 KB, application/x-gzip)
2017-03-05 09:52 UTC, Eyal Shenitzky
no flags Details
new VDSM and engine logs (1.99 MB, application/x-gzip)
2017-03-05 12:50 UTC, Eyal Shenitzky
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 73587 0 master MERGED core: CloneImageGroupVolumesStructure - determineSourceImageGroup() 2017-03-06 12:49:08 UTC
oVirt gerrit 73595 0 ovirt-engine-4.1 MERGED core: CloneImageGroupVolumesStructure - determineSourceImageGroup() 2017-03-06 15:11:41 UTC
oVirt gerrit 74282 0 ovirt-engine-4.1.1.z MERGED core: CloneImageGroupVolumesStructure - determineSourceImageGroup() 2017-03-20 09:39:04 UTC
oVirt gerrit 74365 0 master MERGED core: CloneImageGroupVolumesStructure - determineSourceImageGroup() 2017-03-21 09:23:20 UTC
oVirt gerrit 74375 0 ovirt-engine-4.1.1.z MERGED core: CloneImageGroupVolumesStructure - determineSourceImageGroup() 2017-03-21 09:38:24 UTC
oVirt gerrit 74376 0 ovirt-engine-4.1 MERGED core: CloneImageGroupVolumesStructure - determineSourceImageGroup() 2017-03-21 09:37:20 UTC

Description Eyal Shenitzky 2017-03-05 09:52:46 UTC
Created attachment 1260039 [details]
engine and vdsm logs

Description of problem:
Cold migration failed when trying to migrate file based disk (nfs) of VM that created 
from template as thin provision copy.

The operation failed with the following error in the VDSM:

2017-03-05 11:47:30,523+0200 INFO  (tasks/0) [storage.ThreadPool.WorkerThread] START task 7d2d32df-20f7-4055-8ddf-6fcbb4af868e (cmd=<bound method Task.commit of <storage.task.Task instance at 0x173a368>>, args=None) (threadPool:208)
2017-03-05 11:47:30,556+0200 ERROR (tasks/0) [storage.TaskManager.Task] (Task='7d2d32df-20f7-4055-8ddf-6fcbb4af868e') Unexpected error (task:870)
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/task.py", line 877, in _run
    return fn(*args, **kargs)
  File "/usr/share/vdsm/storage/task.py", line 333, in run
    return self.cmd(*self.argslist, **self.argsdict)
  File "/usr/lib/python2.7/site-packages/vdsm/storage/securable.py", line 79, in wrapper
    return method(self, *args, **kwargs)
  File "/usr/share/vdsm/storage/sp.py", line 1912, in createVolume
    srcVol = srcDom.produceVolume(srcImgUUID, srcVolUUID)
  File "/usr/share/vdsm/storage/sd.py", line 748, in produceVolume
    volUUID)
  File "/usr/share/vdsm/storage/fileVolume.py", line 361, in __init__
    manifest = self.manifestClass(repoPath, sdUUID, imgUUID, volUUID)
  File "/usr/share/vdsm/storage/fileVolume.py", line 61, in __init__
    volUUID)
  File "/usr/share/vdsm/storage/volume.py", line 84, in __init__
    self.validate()
  File "/usr/share/vdsm/storage/volume.py", line 106, in validate
    self.validateImagePath()
  File "/usr/share/vdsm/storage/fileVolume.py", line 80, in validateImagePath
    raise se.ImagePathError(imageDir)
ImagePathError: Image path does not exist or cannot be accessed/created: (u'/rhev/data-center/mnt/yellow-vdsb.qa.lab.tlv.redhat.com:_Storage__NFS_storage__local__ge10__nfs__2/f99afe6c-ddef-45a2-b55c-3e81e35ac4f6/images/6c1f1bc7-8501-4432-8f3a-f43e12ebcd48',)


Version-Release number of selected component (if applicable):
Engine - 4.1.1.3-0.1.el7
VDSM - 4.19.7-1.el7ev.x86_64

How reproducible:


Steps to Reproduce:
1. Create a VM with disk on file storage domain
2. Create Template from the VM in step 1
3. Create VM as thin provisioned copy from the template in step 2
4. Move the VM disk to another storage domain when the VM is down

Actual results:
Failed to move disk to another 

Expected results:
Move disk operation should succeed. 

Additional info:
Engine and VDSM logs are attached

Comment 1 Eyal Shenitzky 2017-03-05 12:50:25 UTC
Created attachment 1260060 [details]
new VDSM and engine logs

Comment 2 Eyal Edri 2017-03-19 08:06:20 UTC
Is it means for ovirt-4.1.1? is so it needs to be backported to ovirt-4.1.1.z, if not then it needs to move to ovirt-4.1.2.

Comment 3 Allon Mureinik 2017-03-19 14:49:54 UTC
(In reply to Eyal Edri from comment #2)
> Is it means for ovirt-4.1.1? is so it needs to be backported to
> ovirt-4.1.1.z, if not then it needs to move to ovirt-4.1.2.
Liron, please backport this to ovirt-4.1.1.z.

Comment 4 Eyal Shenitzky 2017-03-28 07:35:07 UTC
 Verified with the following code:
------------------------------------------
vdsm- 4.19.10-1.el7ev.x86_64
rhevm- 4.1.1.5-0.1.el7

Verified with the following scenario:
------------------------------------------
Steps to Reproduce:
1. Create a VM with disk on file storage domain
2. Create Template from the VM in step 1
3. Create VM as thin provisioned copy from the template in step 2
4. Move the VM disk to another storage domain when the VM is down


Moving to VERIFIED


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