Bug 1580309
| Summary: | virt-v2v rhel7.6 build can't convert guest to null with qemu-kvm rhel7.5.z build | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | mxie <mxie> | ||||
| Component: | libguestfs | Assignee: | Richard W.M. Jones <rjones> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 7.6 | CC: | juzhou, mzhan, ptoscano, tzheng, xiaodwan | ||||
| Target Milestone: | rc | Keywords: | Regression | ||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | V2V | ||||||
| Fixed In Version: | libguestfs-1.38.2-2.el7 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2018-10-30 07:45:35 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
This is horrible but I guess the only fix here is to downstream revert commit 4699c7b6e126e07c95b67fb95df58aed87a680dd in RHEL 7 only. (In reply to Richard W.M. Jones from comment #3) > This is horrible but I guess the only fix here is to downstream revert > commit 4699c7b6e126e07c95b67fb95df58aed87a680dd in RHEL 7 only. An alternative is to detect at runtime whether qemu-img supports both JSON URLs, and the null-co driver, and only if so use the current way (i.e. revert to copying-and-discard like it was done before). We already do something similar for OVA, see qemu_img_supports_offset_and_size. While that would certainly be nicer, it's also pretty complicated. I wonder if we need this complexity for what is essentially a debugging/testing feature? Not-that-complicated (at least IMHO) approach for this: https://www.redhat.com/archives/libguestfs/2018-May/msg00093.html Fixed upstream with https://github.com/libguestfs/libguestfs/commit/1b6a2b221d04e455bdd31cff09015f74487882c1 which is in libguestfs >= 1.39.6. Verify the bug with below builds:
virt-v2v-1.38.2-2.el7.x86_64
libguestfs-1.38.2-2.el7.x86_64
libvirt-client-4.3.0-1.el7.x86_64
qemu-kvm-1.5.3-156.el7_5.2.x86_64
qemu-img-1.5.3-156.el7_5.2.x86_64
Steps:
1.Convert a guest to null by virt-v2v
# virt-v2v rhel7.5 -o null
[ 0.0] Opening the source -i libvirt rhel7.5
[ 0.1] Creating an overlay to protect the source from being modified
[ 1.6] Initializing the target -o null
[ 2.1] Opening the overlay
[ 10.4] Inspecting the overlay
[ 93.8] Checking for sufficient free disk space in the guest
[ 93.8] Estimating space required on target for each disk
[ 93.8] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM
virt-v2v: This guest has virtio drivers installed.
[ 314.6] Mapping filesystem data to avoid copying unused and blank areas
[ 317.2] Closing the overlay
[ 325.7] Checking if the guest needs BIOS or UEFI to boot
[ 325.7] Assigning disks to buses
[ 325.7] Copying disk 1/1 to /var/tmp/null.SGwPbX/sda (raw)
(100.00/100%)
[ 673.4] Creating output metadata
[ 673.4] Finishing off
Result:
Latest Virt-v2v could convert guest to null target with qemu-kvm rhel7.5.z build,so move the bug from ON_QA to VERIFIED
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:3021 |
Created attachment 1439471 [details] v2v_1.38.2-1-qemu-kvm_7.5.z-null.log Description of problem: virt-v2v rhel7.6 build can't convert guest to null with qemu-kvm rhel7.5.z build Version-Release number of selected component (if applicable): virt-v2v-1.38.2-1.el7.x86_64 libguestfs-1.38.2-1.el7.x86_64 libvirt-3.9.0-14.el7_5.5.x86_64 qemu-kvm-1.5.3-156.el7_5.2.x86_64 How reproducible: 100% Steps to Reproduce: 1.Convert a guest to null by virt-v2v # virt-v2v rhel7.5 -o null [ 0.0] Opening the source -i libvirt rhel7.5 [ 0.0] Creating an overlay to protect the source from being modified [ 0.5] Initializing the target -o null [ 0.5] Opening the overlay [ 4.1] Inspecting the overlay [ 270.4] Checking for sufficient free disk space in the guest [ 270.4] Estimating space required on target for each disk [ 270.4] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM virt-v2v: This guest has virtio drivers installed. [ 527.5] Mapping filesystem data to avoid copying unused and blank areas [ 530.4] Closing the overlay [ 535.3] Checking if the guest needs BIOS or UEFI to boot [ 535.3] Assigning disks to buses [ 535.3] Copying disk 1/1 to qemu URI json:{ "file.driver": "null-co", "file.size": "1E" } (raw) qemu-img: Unknown protocol 'json:{ "file.driver": "null-co", "file.size": "1E" }' virt-v2v: error: qemu-img command failed, see earlier errors If reporting bugs, run virt-v2v with debugging enabled and include the complete output: virt-v2v -v -x [...] Actual results: As above description Expected results: virt-v2v rhel7.6 build can convert guest to null with qemu-kvm rhel7.5.z build Additional info: V2V can convert guest to null with builds: virt-v2v-1.38.2-1.el7.x86_64 libguestfs-1.38.2-1.el7.x86_64 qemu-kvm-rhev-2.10.0-21.el7_5.3.x86_64 libvirt-3.9.0-14.el7_5.5.x86_64