Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1513800 - Localdisk hook must prevent VM from being snapshot.
Summary: Localdisk hook must prevent VM from being snapshot.
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 4.1.7
Hardware: x86_64
OS: Linux
Target Milestone: ovirt-4.2.0
: 4.2.0
Assignee: Fred Rolland
QA Contact: Kevin Alon Goldblatt
Depends On:
Blocks: 1524424
TreeView+ depends on / blocked
Reported: 2017-11-16 01:22 UTC by Germano Veit Michel
Modified: 2018-12-21 19:24 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1524424 (view as bug list)
Last Closed: 2018-05-15 17:46:12 UTC
oVirt Team: Storage
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2018:1488 None None None 2018-05-15 17:47:48 UTC
oVirt gerrit 85103 master MERGED engine: Block snapshots on VM with localdisk 2017-12-07 13:38:32 UTC
oVirt gerrit 85273 ovirt-engine-4.1 MERGED engine: Block snapshots on VM with localdisk 2017-12-11 14:20:52 UTC

Description Germano Veit Michel 2017-11-16 01:22:04 UTC
Description of problem:

VDSM localdisk hook[1] does not prevent a VM from being snapshot.
This breaks the chain, merge fails and if shutdown VM wont start. It's also complex to fix.

Apparently would be easy if we had "before_vm_snapshot" hook infra.

Version-Release number of selected component (if applicable):
RHV 4.0, vdsm-4.18

How reproducible:

Steps to Reproduce:
1. Install he hook
2. Snapshot the VM

Actual results:
jsonrpc.Executor/4::DEBUG::2017-11-12 04:02:37,169::storage::315::virt.vm::(path) vmId=`b54f9aa2-c060-4fc6-9879-d33ad87accaa`::Drive vda moved from u'/dev/ovirt-local/ae207ffa-ad36-4927-b634-5ec5c6c284b0' to u'/rhev/data-center/78a89f5e-e88a-40dc-9467-9ccbb77f59d6/c2ba9087-43d9-44b5-a862-32f3a4dafb95/images/1c27de0d-a56c-4bd0-96ed-4e54843b0b4b/ca99bf43-daf9-440a-9469-37cbe8abb76d'

Expected results:
Fail to snapshot

Comment 2 Germano Veit Michel 2017-11-16 01:32:56 UTC
Missing from initial comment:

Comment 4 Germano Veit Michel 2017-11-16 01:55:25 UTC
Current fix is to basically collapse the chain down to the base image on the local host, then adjust the DB.


   Volume AAA is the raw  , local to the host, image (i.e.: /dev/ovirt-local/...)
   Volume BBB is the qcow2, on nfs storage   , image (i.e.: /rhev/data-center/...)
   Chain is: [BBB - leaf]
             [AAA - base]
1) VM shutdown (!!!)
2) unsafe rebase of image BBB, make it point to AAA's path (so that step 3 can succeed, otherwise qemu-img commit fails to build the chain)
   qemu-img rebase -f qcow2 -t none -u -b AAA -F raw BBB
3) image commit, commit BBB into AAA
   qemu-img commit -f qcow2 -t none -b AAA -d -p BBB
4) metadata fix for AAA
5) Remove BBB (optional, probably safer to do later)
   # rm -rf BBB*
6) Adjust images and snapshots in the DB to make VM with no snapshots and use AAA to start.

Comment 7 Allon Mureinik 2017-12-07 13:39:49 UTC
Merged for oVirt 4.2.1 (will be part of RHV 4.2 GA).

Fred/Tal - the patch seems simple enough - let's please clone this and provide a fix for 4.1.9 too.

Comment 10 Kevin Alon Goldblatt 2017-12-14 13:37:30 UTC
Verified with the following code:

Verified with the following scenario:
1. Install he hook
2. Snapshot the VM >>>>> Error is displayed informing the user that snapshots cant be created as the hook is configured on the system.

Moving to VERIFY

Comment 14 errata-xmlrpc 2018-05-15 17:46:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

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