Bug 1332038

Summary: [z-stream clone - 3.6.6] After a live merge failure, a VM with volumes in an illegal state can be restarted
Product: Red Hat Enterprise Virtualization Manager Reporter: rhev-integ
Component: vdsmAssignee: Ala Hino <ahino>
Status: CLOSED CURRENTRELEASE QA Contact: Elad <ebenahar>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 3.6.4CC: ahino, amarchuk, amureini, bazulay, gklein, lsurette, michal.skrivanek, mkalinin, ratamir, srevivo, tnisan, ycui, ykaul, ylavi
Target Milestone: ovirt-3.6.6Keywords: ZStream
Target Release: 3.6.6   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1331572 Environment:
Last Closed: 2016-05-26 18:31:16 UTC Type: ---
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: 1331572    
Bug Blocks:    

Comment 1 Allon Mureinik 2016-05-01 19:14:48 UTC
merged on the z-stream branch, moving to MODIFIED.

Comment 2 Elad 2016-05-09 11:59:32 UTC
Tested the following scenario (from the description) on latest 3.6.6.2-0.1 and on 3.6.3-0.1 for comparison:
1. Create a VM with one disk.
2. Create a snapshot.
3. Modify the database to set the base image's imagestatus = 4 (illegal).
4. On the SPM host, change the 'LEGALITY' field in the volume metadata for the leaf volume to "ILLEGAL".
5. Start the VM.


On latest 3.6.6.2-0.1, the VM is not allowed to start with the following error in vdsm:

Thread-29636::ERROR::2016-05-09 14:47:55,826::dispatcher::76::Storage.Dispatcher::(wrapper) {'status': {'message': "Cannot prepare illegal volume: (u'56ebf0e7-f273-498b-a3db-16a971eb406f',)", 'code': 227}}
Thread-29636::ERROR::2016-05-09 14:47:55,826::vm::759::virt.vm::(_startUnderlyingVm) vmId=`a5ff4a19-917d-4a9c-be4b-ef970c68cf59`::The vm start process failed
Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 703, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/virt/vm.py", line 1859, in _run
    self.preparePaths(dev_spec_map[hwclass.DISK])
  File "/usr/share/vdsm/virt/vm.py", line 780, in preparePaths
    drive['path'] = self.cif.prepareVolumePath(drive, self.id)
  File "/usr/share/vdsm/clientIF.py", line 317, in prepareVolumePath
    raise vm.VolumeError(drive)
VolumeError: Bad volume specification {u'index': 0, u'domainID': u'1bcb158e-d91d-4cae-b55b-f77f38a64284', u'type': u'disk', u'format': u'cow', u'bootOrder': u'1', u'volumeID': u'56ebf0e7-f273-498b-a3db-16a971eb406
f', 'apparentsize': '197120', u'imageID': u'109b6045-7bc3-4f48-be4a-3619c1b24564', u'specParams': {}, u'readonly': u'false', u'iface': u'virtio', 'reqsize': '0', u'deviceId': u'109b6045-7bc3-4f48-be4a-3619c1b24564
', 'truesize': '204800', u'poolID': u'1c999fc8-7630-42cf-a367-9d8cfe9505a8', u'device': u'disk', u'shared': u'false', u'propagateErrors': u'off', u'optional': u'false'}


On the older build (3.6.3-0.1), the VM is allowed to be started 



Used:
Latest:
vdsm-4.17.28-0.el7ev.noarch
rhevm-3.6.6.2-0.1.el6.noarch

Older build for comparison:
vdsm-4.17.19-0.el7ev.noarch
rhevm-3.6.3-0.1.el6.noarch

Comment 3 Allon Mureinik 2016-05-22 11:46:36 UTC
Ala, is there anything we need to document here, or is it documented elsewhere?
Please either provide the doctext, or comment with the BZ tracking the doc text and set requires-doctext-.

Comment 4 Ala Hino 2016-05-22 11:51:45 UTC
Nothing to document here

Comment 5 Allon Mureinik 2016-05-26 18:31:16 UTC
RHEV 3.6.6 has been released, closing.