Bug 1752866

Summary: Wrong payload path when migrating from a 4.4 host to a 4.3 host
Product: [oVirt] vdsm Reporter: Milan Zamazal <mzamazal>
Component: CoreAssignee: Milan Zamazal <mzamazal>
Status: CLOSED CURRENTRELEASE QA Contact: Polina <pagranat>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.40.0CC: bugs, lsvaty, rbarry
Target Milestone: ovirt-4.3.8Flags: rbarry: ovirt-4.3?
Target Release: 4.30.34   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: vdsm-4.30.34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-01-27 12:56:03 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:
Bug Depends On: 1765171    
Bug Blocks:    

Description Milan Zamazal 2019-09-17 12:47:47 UTC
Description of problem:

VM payload path has changed in Vdsm 4.40 in order to resolve Python 2 x Python 3 differences. But when a VM with an attached payload is migrated (either live or from a 4.4 host to a 4.3 host, two problems occur:

- The payload path is lost, because the destination Vdsm creates a payload path different from the one present in the domain XML.

- The VM can't be destroyed, due to a failure on a non-existent payload file removal.

Version-Release number of selected component (if applicable):

Vdsm master

How reproducible:

100%

Steps to Reproduce:
1. Start a VM with a payload on a 4.4 host.
2. Migrate the VM to a 4.3 host.
3. Check the payload availability.
4. Power off the VM.

Actual results:

- The payload is not present in the VM.
- The VM is reported as running by Engine, until Vdsm is restarted on the given host.

Expected results:

- The payload is present in the VM.
- The VM can be powered off normally.

Comment 5 Polina 2019-11-05 14:36:29 UTC
maybe we should re-target this bz .

Comment 6 Polina 2019-11-17 12:00:11 UTC
The bug is verified on engine ovirt-engine-4.3.7.2-0.1.el7.noarch with hosts: vdsm-4.30.37-1.el7ev.x86_64  and vdsm-4.40.0-141.gitb9d2120.el8ev.x86_64.

1. Start VM with cdrom payload and Run VM via the run-once option on host 4.4. Check that payload exists.

 <name>CreateVmWithCdromPayload</name>
  <uuid>70fab2b3-20a3-4bc6-a982-1f41f3f9ab12</uuid>
  ....
  <ovirt-vm:vmPayload>
      <ovirt-vm:file path="payload.cdrom">Y2Ryb20gcGF5bG9hZCB2aWEgY3JlYXRl</ovirt-vm:file>
  </ovirt-vm:vmPayload>
  ...

2. Migrate the VM to the 4.3 host 
3. Poweroff.
Tried also migrate back from 4.3 to 4.4. The Payload exists. The VM is successfully powered off

Comment 7 Sandro Bonazzola 2020-01-27 12:56:03 UTC
This bugzilla is included in oVirt 4.3.8 release, published on January 27th 2020.

Since the problem described in this bug report should be
resolved in oVirt 4.3.8 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.