Bug 1332038 - [z-stream clone - 3.6.6] After a live merge failure, a VM with volumes in an illegal state can be restarted
Summary: [z-stream clone - 3.6.6] After a live merge failure, a VM with volumes in an ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 3.6.4
Hardware: Unspecified
OS: Linux
urgent
urgent
Target Milestone: ovirt-3.6.6
: 3.6.6
Assignee: Ala Hino
QA Contact: Elad
URL:
Whiteboard:
Depends On: 1331572
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-05-01 14:07 UTC by rhev-integ
Modified: 2019-11-14 07:54 UTC (History)
14 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 1331572
Environment:
Last Closed: 2016-05-26 18:31:16 UTC
oVirt Team: Storage
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 56881 0 'None' MERGED Don't prepare image with illegal volumes 2020-10-28 12:35:55 UTC

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.


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