Description of problem:
trying to export a vm while one of its images is located on a domain in mainetance will be sent to vdsm instead of being blocked in backend.
if the disk is marked as bootable we will get "faied to read OVF, it may be cvorrupted" error from vdsm and if the disk is not marked as bootable we will get can't find domain.
**template export is blocked - this is only on vm export**
Version-Release number of selected component (if applicable):
si4
How reproducible:
100%
Steps to Reproduce:
1. create 3 domains + export domain
2. create a vm with two disks each located on a different domain (not the master domain)
3. put domain in maintenance -> try to export domain
Actual results:
execution fails in vdsm with different errors (depending if the disk is bootable or not)
Expected results:
we should block exection in backend like we do for templates
Additional info:logs will be attached
vdsm log fpr non-bootable disk:
Thread-124691::ERROR::2012-05-28 12:14:19,592::task::853::TaskManager.Task::(_setError) Task=`ce81cad6-eb3e-4de2-acf9-9a743fc87c63`::Unexpected error
Traceback (most recent call last):
File "/usr/share/vdsm/storage/task.py", line 861, in _run
return fn(*args, **kargs)
File "/usr/share/vdsm/logUtils.py", line 38, in wrapper
res = f(*args, **kwargs)
File "/usr/share/vdsm/storage/hsm.py", line 1306, in moveImage
self.validateSdUUID(srcDomUUID)
File "/usr/share/vdsm/storage/hsm.py", line 209, in validateSdUUID
sdCache.produce(sdUUID=sdUUID).validate()
File "/usr/share/vdsm/storage/sdc.py", line 93, in produce
dom = self._findDomain(sdUUID)
File "/usr/share/vdsm/storage/sdc.py", line 118, in _findDomain
raise se.StorageDomainDoesNotExist(sdUUID)
StorageDomainDoesNotExist: Storage domain does not exist: ('31bb8e4b-ed31-4ec7-bb43-6d28a26955c3',)
Thread-124691::DEBUG::2012-05-28 12:14:19,594::task::872::TaskManager.Task::(_run) Task=`ce81cad6-eb3e-4de2-acf9-9a743fc87c63`::Task._run: ce81cad6-eb3e-4de2-acf9-9a743fc87c63 ('38bd59fc-04a2-4f56-abb4-62fd34bb83f3', '31bb8e4b-ed31-4ec7-bb43-6d28a26955c3', '1c4b81c0-bc2b-4b57-9341-5179ee848abd', '25dc582f-ec42-42aa-823d-4a714290c867', '', 1, 'false', 'false') {} failed - stopping task
Thread-124691::DEBUG::2012-05-28 12:14:19,594::task::1199::TaskManager.Task::(stop) Task=`ce81cad6-eb3e-4de2-acf9-9a743fc87c63`::stopping in state preparing (force False)
Thread-124691::DEBUG::2012-05-28 12:14:19,595::task::978::TaskManager.Task::(_decref) Task=`ce81cad6-eb3e-4de2-acf9-9a743fc87c63`::ref 1 aborting True
Thread-124691::INFO::2012-05-28 12:14:19,595::task::1157::TaskManager.Task::(prepare) Task=`ce81cad6-eb3e-4de2-acf9-9a743fc87c63`::aborting: Task is aborted: 'Storage domain does not exist' - code 358
vdsm error for bootable disk:
ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3::ERROR::2012-05-28 12:24:05,685::task::853::TaskManager.Task::(_setError) Task=`ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3`::Unexpected error
Traceback (most recent call last):
File "/usr/share/vdsm/storage/task.py", line 861, in _run
return fn(*args, **kargs)
File "/usr/share/vdsm/storage/task.py", line 320, in run
return self.cmd(*self.argslist, **self.argsdict)
File "/usr/share/vdsm/storage/securable.py", line 63, in wrapper
return f(self, *args, **kwargs)
File "/usr/share/vdsm/storage/sp.py", line 1662, in moveImage
image.Image(repoPath).move(srcDomUUID, dstDomUUID, imgUUID, vmUUID, op, postZero, force)
File "/usr/share/vdsm/storage/image.py", line 670, in move
chains = self._createTargetImage(destDom, srcSdUUID, imgUUID)
File "/usr/share/vdsm/storage/image.py", line 595, in _createTargetImage
raise se.DestImageActionError(imgUUID, destDom.sdUUID, str(e))
DestImageActionError: Error during destination image manipulation: 'image=25dc582f-ec42-42aa-823d-4a714290c867, dest domain=1c4b81c0-bc2b-4b57-9341-5179ee848abd: msg=Action was stopped: ()'
ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3::DEBUG::2012-05-28 12:24:05,686::task::872::TaskManager.Task::(_run) Task=`ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3`::Task._run: ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3 () {} failed - stopping task
ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3::DEBUG::2012-05-28 12:24:05,686::task::1199::TaskManager.Task::(stop) Task=`ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3`::stopping in state running (force False)
ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3::DEBUG::2012-05-28 12:24:05,687::task::903::TaskManager.Task::(_runJobs) Task=`ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3`::aborting: Task is aborted: u'ddf36b70-ed0c-4d5f-a41a-2aaa291ce5c3' - code 411
please ignore the ovf curroption.
this is a different problem on my setup which is not connected to this bug.
but the error: Error during destination image manipulation is the correct error for this bug
Fixed in si6, returns the following can do message:
"Error while executing action: Cannot copy Template. The relevant Storage Domain is inaccessible.
-Please handle Storage Domain issues and retry the operation."