Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1513800

Summary: Localdisk hook must prevent VM from being snapshot.
Product: Red Hat Enterprise Virtualization Manager Reporter: Germano Veit Michel <gveitmic>
Component: ovirt-engineAssignee: Fred Rolland <frolland>
Status: CLOSED ERRATA QA Contact: Kevin Alon Goldblatt <kgoldbla>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.1.7CC: ebenahar, frolland, lsurette, ratamir, rbalakri, Rhev-m-bugs, srevivo, tnisan, ycui, ykaul, ylavi
Target Milestone: ovirt-4.2.0Keywords: ZStream
Target Release: 4.2.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1524424 (view as bug list) Environment:
Last Closed: 2018-05-15 17:46:12 UTC 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: 1524424    

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:
100%

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:
[1] https://github.com/oVirt/vdsm/tree/master/vdsm_hooks/localdisk

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.

Example:

   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]
Steps:
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
   sed -i 's/VOLTYPE=INTERNAL/VOLTYPE=LEAF/g' AAA.meta
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:
-----------------------------------------
ovirt-engine-4.2.0.2-0.1.el7.noarch
vdsm-4.20.9.2-1.el7ev.x86_64

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.

https://access.redhat.com/errata/RHEA-2018:1488

Comment 15 Franta Kust 2019-05-16 13:03:06 UTC
BZ<2>Jira Resync