Bug 1569850

Summary: migration fails using Vdsm 4.30.z on cluster <= 4.1 for VMs with payload device
Product: [oVirt] vdsm Reporter: Francesco Romani <fromani>
Component: CoreAssignee: Francesco Romani <fromani>
Status: CLOSED CURRENTRELEASE QA Contact: Israel Pinto <ipinto>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.30.0CC: bugs
Target Milestone: ovirt-4.2.3Flags: rule-engine: ovirt-4.2+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-10 06:31:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Francesco Romani 2018-04-20 06:22:49 UTC
Description of problem:
VMs with payload device (sysprep, cloud init) can no longer properly migrate if 
clusters <= 4.1 are upgraded with Vdsm >= 4.2, while still retaining the old clusterLevel.


Version-Release number of selected component (if applicable):
Any Vdsm >= 4.2 in cluster <= 4.1

How reproducible:
100%

Steps to Reproduce:
1. Prepare a <= 4.1 oVirt environment, upgrade Vdsm to 4.2.2 in a cluster
2. Run a VM with either sysprep or cloud-init
3. Suspend the VM
4. Try to migrate (or suspend again) the same VM

Actual results:
The last migration/suspension will fail

Expected results:
Migration/suspension should succeed as usual

Additional info:
VMs without payload devices are not affected.
Vdsm fail to properly store the information needed to rebuild the payload device past the first time, so after the first time the VM goes away (e.g. suspension, migration or even Vdsm restart), it can no longer rebuild it, and the corresponding VM device (e.g. cdrom) will be dangling, leading to migration failures.

Comment 1 Francesco Romani 2018-04-20 06:24:20 UTC
no doc_text: this should "just work" and should not have user-visible consequences. Aka the behaviour should not have changed.

Comment 2 Israel Pinto 2018-05-02 11:56:06 UTC
Verify with:
Engine version:4.2.3.3-0.1.el7

Steps:
1. Create VM
2. Run VM with cloud init on 4.1 host in 4.1 cluster on rhevm 4.2.3 
3. Check that VM has payload on the host.
CASE 1: Migrate to 4.2 host 
CASE 2: Suspend VM and Resume the VM on 4.2 host. (host on cluster 4.1)

PASS 
Payload exist on 4.2 host for both cases

Comment 3 Sandro Bonazzola 2018-05-10 06:31:11 UTC
This bugzilla is included in oVirt 4.2.3 release, published on May 4th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.3 release, it has been closed with a resolution of CURRENT RELEASE.

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