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: 2021-09-09 12:51 UTC (History)
11 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 Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHV-43463 0 None None None 2021-09-09 12:51:46 UTC
Red Hat Product Errata RHEA-2018:1488 0 None None None 2018-05-15 17:47:48 UTC
oVirt gerrit 85103 0 master MERGED engine: Block snapshots on VM with localdisk 2017-12-07 13:38:32 UTC
oVirt gerrit 85273 0 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:
[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.


   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.


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

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