Bug 1258932

Summary: [REST-API] Moving cinder disks should be blocked by caDoAction=false
Product: Red Hat Enterprise Virtualization Manager Reporter: Ori Gofen <ogofen>
Component: ovirt-engineAssignee: Daniel Erez <derez>
Status: CLOSED CURRENTRELEASE QA Contact: Ori Gofen <ogofen>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.6.0CC: acanan, amureini, bazulay, gklein, lsurette, mgoldboi, rbalakri, Rhev-m-bugs, tnisan, yeylon, ykaul
Target Milestone: ovirt-3.6.0-rc   
Target Release: 3.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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: 1135132    
Attachments:
Description Flags
log none

Description Ori Gofen 2015-09-01 14:28:51 UTC
Created attachment 1069039 [details]
log

Description of problem:
The opration of moving cinder disks to another domain is not supported on rhevm3.6, yet is allowed when executed from rest-api|python sdk.

The action object is returned successfully upon move disk:

>>> o = api.vms.get('vm_derez')
>>> cinder_disk = o.disks.list()[0]
>>> action = cinder_disk.move(action=params.Action(storage_domain=nfs))
>>> action.get_status().get_state()
'complete'

engine log:

2015-09-01 17:13:52,740 ERROR [org.ovirt.engine.core.vdsbroker.irsbroker.IrsBrokerComm
and] (org.ovirt.thread.pool-7-thread-50) [5c456bcb] IrsBroker::Failed::MoveImageGroupV
DS: IRSGenericException: IRSErrorException: Failed to MoveImageGroupVDS, error = Stora
ge domain does not exist: (u'4433c470-4b86-4672-879b-f83e0daaa6fd',), code = 358
2015-09-01 17:13:52,740 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.MoveImageGrou
pVDSCommand] (org.ovirt.thread.pool-7-thread-50) [5c456bcb] FINISH, MoveImageGroupVDSC
ommand, log id: 5edc9408
2015-09-01 17:13:52,740 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.SPMGetAllTask
sInfoVDSCommand] (org.ovirt.thread.pool-7-thread-30) [5c456bcb] -- executeIrsBrokerCom
mand: Attempting on storage pool '00000001-0001-0001-0001-00000000033a'
2015-09-01 17:13:52,740 ERROR [org.ovirt.engine.core.bll.MoveImageGroupCommand] (org.o
virt.thread.pool-7-thread-50) [5c456bcb] Command 'org.ovirt.engine.core.bll.MoveImageG
roupCommand' failed: EngineException: org.ovirt.engine.core.vdsbroker.irsbroker.IRSErr
orException: IRSGenericException: IRSErrorException: Failed to MoveImageGroupVDS, erro
r = Storage domain does not exist: (u'4433c470-4b86-4672-879b-f83e0daaa6fd',), code =
358 (Failed with error StorageDomainDoesNotExist and code 358)
2015-09-01 17:13:52,741 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.HSMGetAllTask
sInfoVDSCommand] (org.ovirt.thread.pool-7-thread-30) [5c456bcb] START, HSMGetAllTasksI
nfoVDSCommand(HostName = purple-vds2.qa.lab.tlv.redhat.com, VdsIdVDSCommandParametersB
ase:{runAsync='true', hostId='f188738e-a1ea-4074-80d5-33c38113d848'}), log id: 5f80bc2
3
2015-09-01 17:13:52,749 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.HSMGetAllTask
sInfoVDSCommand] (org.ovirt.thread.pool-7-thread-30) [5c456bcb] FINISH, HSMGetAllTasks
InfoVDSCommand, return: [], log id: 5f80bc23
2015-09-01 17:13:52,749 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.SPMGetAllTask
sInfoVDSCommand] (org.ovirt.thread.pool-7-thread-30) [5c456bcb] FINISH, SPMGetAllTasks
InfoVDSCommand, return: [], log id: 6562dd69
2015-09-01 17:13:52,749 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (org.
ovirt.thread.pool-7-thread-30) [5c456bcb] Discovered no tasks on Storage Pool 'Default
'
2015-09-01 17:13:52,750 ERROR [org.ovirt.engine.core.bll.MoveImageGroupCommand] (org.o
virt.thread.pool-7-thread-50) [5c456bcb] Transaction rolled-back for command 'org.ovir
t.engine.core.bll.MoveImageGroupCommand'.
2015-09-01 17:13:52,758 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (org.
ovirt.thread.pool-7-thread-50) [5c456bcb] Removed task 'd5fedcb7-241e-4919-9763-8584d4
a4fd13' from DataBase
2015-09-01 17:13:52,766 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.Aud
itLogDirector] (org.ovirt.thread.pool-7-thread-50) [5c456bcb] Correlation ID: 3edab359
, Job ID: 310e4e23-9eea-4b8e-b3ac-a1cd27591b8f, Call Stack: null, Custom Event ID: -1,
 Message: User admin@internal failed to move disk vm_derez_Disk_1 to domain nfs_1.
2015-09-01 17:13:52,784 INFO  [org.ovirt.engine.core.bll.MoveOrCopyDiskCommand] (org.o
virt.thread.pool-7-thread-50) [5c456bcb] Lock freed to object 'EngineLock:{exclusiveLo
cks='[ff43d543-af67-470d-a8c1-f6f8857f0c3f=<DISK, ACTION_TYPE_FAILED_DISK_IS_BEING_MIG
:

Version-Release number of selected component (if applicable):
rhevm-3.6-12.noarch

How reproducible:
100%

Steps to Reproduce:
as descripted above

Actual results:
operation failed a redundant Task wasn't cleared, an action object was returned

Expected results:
operation should be blocked, the attempt should throw a "caDoAction" traceback

Additional info:

Comment 1 Ori Gofen 2015-10-26 09:53:35 UTC
Verified on rhevm-3.6.02
message returned:
detail: Cannot move Virtual Machine Disk. Action is unsupported for the specified disk type (CINDER).

Comment 2 Allon Mureinik 2016-03-10 10:37:49 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE

Comment 3 Allon Mureinik 2016-03-10 10:38:18 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE

Comment 4 Allon Mureinik 2016-03-10 10:44:07 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE

Comment 5 Allon Mureinik 2016-03-10 12:00:50 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE