Bug 1703405 - Virt-v2v can't convert ubuntu guest with open-vm-tools and ubuntu-server installed
Summary: Virt-v2v can't convert ubuntu guest with open-vm-tools and ubuntu-server inst...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libguestfs
Version: 8.0
Hardware: x86_64
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Libvirt Maintainers
QA Contact: Virtualization Bugs
URL:
Whiteboard: V2V
Depends On: 1683888
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-04-26 10:53 UTC by Pino Toscano
Modified: 2020-11-14 06:19 UTC (History)
10 users (show)

Fixed In Version: libguestfs-1.40.2-4.module+el8.0.1+3188+cd3de524
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1683888
Environment:
Last Closed: 2019-08-07 10:41:34 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:2395 0 None None None 2019-08-07 10:42:45 UTC

Description Pino Toscano 2019-04-26 10:53:47 UTC
+++ This bug was initially created as a clone of Bug #1683888 +++

Description of problem:
Virt-v2v can't convert ubuntu guest with open-vm-tools and ubuntu-server installed

Version-Release number of selected component (if applicable):
virt-v2v-1.40.2-1.el7.x86_64
libguestfs-1.40.2-1.el7.x86_64
libvirt-4.5.0-10.el7_6.4.x86_64
qemu-kvm-rhev-2.12.0-18.el7_6.3.x86_64


How reproducible:
100%

Steps to reproduce:
1.Convert a ubuntu guest with open-vm-tools and ubuntu-server installed from VMware by virt-v2v but the conversion is failed

# virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io  vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -n default esx6.7-ubuntu18.04LTS-x86_64 --password-file /tmp/passwd
[   0.0] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-ubuntu18.04LTS-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   1.9] Creating an overlay to protect the source from being modified
[   5.0] Opening the overlay
[  11.7] Inspecting the overlay
[  13.2] Checking for sufficient free disk space in the guest
[  13.2] Estimating space required on target for each disk
[  13.2] Converting Ubuntu 18.04.2 LTS to run on KVM
virt-v2v: warning: could not determine a way to update the configuration of 
Grub2
virt-v2v: warning: don't know how to install guest tools on ubuntu-18
virt-v2v: error: libguestfs error: command: dpkg: dependency problems 
prevent removal of open-vm-tools:
 ubuntu-server depends on open-vm-tools.

dpkg: error processing package open-vm-tools (--purge):
 dependency problems - not removing
Errors were encountered while processing:
 open-vm-tools

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 can convert ubuntu guest with open-vm-tools and ubuntu-server installed successfully


Additional info:
1.Can't reproduce the problem with virt-v2v rhel7.6.z build as virt-v2v doesn't remove the open-vm-tools in this build (Pino told me), so this isn't a regression problem
virt-v2v-1.38.2-12.el7_6.2.x86_64
libguestfs-1.38.2-12.el7_6.2.x86_64

2.Also can't reproduce the problem with virt-v2v rhel8 build:
virt-v2v-1.38.4-10.module+el8+2709+40ed2f2c.x86_64
libguestfs-1.38.4-10.module+el8+2709+40ed2f2c.x86_64

--- Additional comment from Pino Toscano on 2019-02-28 09:44:57 CET ---

Sent a patch for this yesterday:
https://www.redhat.com/archives/libguestfs/2019-February/msg00066.html

--- Additional comment from Pino Toscano on 2019-03-26 09:17:40 CET ---

Fixed upstream with
https://github.com/libguestfs/libguestfs/commit/1a4fd822ef057764f809cddce642b3223756629e
which is in libguestfs >= 1.41.1.

--- Additional comment from zhoujunqin on 2019-03-27 10:37:37 CET ---

I can reproduce this bug with package:
virt-v2v-1.40.2-1.el7.x86_64

Then test it with new build:
libvirt-4.5.0-10.el7.x86_64
libguestfs-1.40.2-2.el7.x86_64
virt-v2v-1.40.2-2.el7.x86_64
qemu-kvm-rhev-2.12.0-25.el7.x86_64
kernel-3.10.0-957.el7.x86_64
python-ovirt-engine-sdk4-4.3.0-1.el7ev.x86_64
rhv-guest-tools-iso-4.3-3.el7ev.noarch

Steps:
1. Prepare a ubuntu guest with VMware Tools service installed from Open-source VMware Tools.

$ dpkg -l open-vm-tools ubuntu-server
...
||/ Name                                           Version                      Architecture                 Description
+++-==============================================-============================-============================-==================================================================================================
ii  open-vm-tools                                  2:10.3.0-0ubuntu1~18.04.3    amd64                        Open VMware Tools for virtual machines hosted on VMware (CLI)
ii  ubuntu-server                                  1.417                        amd64                        The Ubuntu Server system


$ service open-vm-tools  status
● open-vm-tools.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-03-27 06:37:54 UTC; 25min ago
     Docs: http://open-vm-tools.sourceforge.net/about.php

2. Convert guest from vmware to rhv by virt-v2v and there is no error about vmware tool during conversion.

# virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-ubuntu18.04LTS-x86_64 --password-file /tmp/passwd -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -os nfs_data -op /tmp/rhvpasswd -oo rhv-cafile=/home/ca.pem  -oo rhv-direct=true -oo rhv-cluster=nfs -of raw -b ovirtmgmt
Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored
[   0.2] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-ubuntu18.04LTS-x86_64
[   2.1] Creating an overlay to protect the source from being modified
[   2.8] Opening the overlay
[  17.4] Inspecting the overlay
[  31.7] Checking for sufficient free disk space in the guest
[  31.7] Estimating space required on target for each disk
[  31.7] Converting Ubuntu 18.04.2 LTS to run on KVM
virt-v2v: warning: could not determine a way to update the configuration of 
Grub2
virt-v2v: warning: don't know how to install guest tools on ubuntu-18
virt-v2v: This guest has virtio drivers installed.
[ 841.0] Mapping filesystem data to avoid copying unused and blank areas
[ 841.9] Closing the overlay
[ 842.1] Assigning disks to buses
[ 842.1] Checking if the guest needs BIOS or UEFI to boot
[ 842.1] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[ 843.4] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.GVJk4J/nbdkit0.sock", "file.export": "/" } (raw)
    (100.00/100%)
[2409.2] Creating output metadata
[2430.7] Finishing off

3. After finishing v2v conversion, power on guest at rhv, login guest and check vmware-tools service status
Result: 
3.1 open-vm-tools.service is inactive.
3.2 package "open-vm-tools" and "ubuntu-server" are kept since dependency.

So bug issue has been fixed on version virt-v2v-1.40.2-2.el7.x86_64

--- Additional comment from liuzi on 2019-04-24 07:51:54 CEST ---

Verify bug with builds:
virt-v2v-1.40.2-3.el7.x86_64
libvirt-4.5.0-12.el7.x86_64
libguestfs-1.40.2-3.el7.x86_64
qemu-kvm-rhev-2.12.0-26.el7.x86_64
kernel-3.10.0-1022.el7.x86_64

Steps:
1. Prepare a ubuntu guest with VMware Tools service installed from Open-source VMware Tools.
$ service open-vm-tools status
● open-vm-tools.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-04-24 03:08:53 UTC; 2h 9min ago
     Docs: http://open-vm-tools.sourceforge.net/about.php
 Main PID: 495 (vmtoolsd)
    Tasks: 2 (limit: 1111)
   CGroup: /system.slice/open-vm-tools.service
           └─495 /usr/bin/vmtoolsd

2. Convert guest from vmware to local by virt-v2v 
# virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io  vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -n default esx6.7-ubuntu18.04LTS-x86_64 --password-file /tmp/passwd
[   0.2] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-ubuntu18.04LTS-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   3.0] Creating an overlay to protect the source from being modified
[   6.8] Opening the overlay
[  47.2] Inspecting the overlay
[  50.7] Checking for sufficient free disk space in the guest
[  50.7] Estimating space required on target for each disk
[  50.7] Converting Ubuntu 18.04.2 LTS to run on KVM
virt-v2v: warning: could not determine a way to update the configuration of 
Grub2
virt-v2v: This guest has virtio drivers installed.
[ 116.1] Mapping filesystem data to avoid copying unused and blank areas
[ 118.6] Closing the overlay
[ 119.9] Assigning disks to buses
[ 119.9] Checking if the guest needs BIOS or UEFI to boot
[ 119.9] Initializing the target -o libvirt -os default
[ 120.1] Copying disk 1/1 to /var/lib/libvirt/images/esx6.7-ubuntu18.04LTS-x86_64-sda (raw)
    (100.00/100%)
[ 420.7] Creating output metadata
Pool default refreshed

Domain esx6.7-ubuntu18.04LTS-x86_64 defined from /tmp/v2vlibvirt91099c.xml

[ 425.6] Finishing off

3. After finishing v2v conversion, power on guest in kvm and check vmware-tools service status
$ service open-vm-tools status
● open-vm-tools.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled; vendor preset: enabled)
   Active: inactive (dead) 
Condition:start condition failed at Wed 2019-04-24 05:28:53 UTC; 7min ago
          └─ConditionVirtualization=vmware was not met
     Docs: http://open-vm-tools.sourceforge.net/about.php

Result:There is no error about vmware tool during conversion and the guest can pass all checkpoints.So change the bug from ON_QA to VERIFIED.

Comment 2 liuzi 2019-05-16 03:22:14 UTC
Verify bug with builds:
virt-v2v-1.40.2-4.module+el8+3201+fd6ac632.x86_64
libvirt-5.0.0-7.module+el8+3023+072e7fc8.x86_64
libguestfs-1.40.2-4.module+el8+3201+fd6ac632.x86_64
qemu-kvm-3.1.0-25.module+el8+3153+f1590ef7.x86_64


Steps:
1. Prepare a ubuntu guest with VMware Tools service installed from Open-source VMware Tools.
$ service open-vm-tools status
● open-vm-tools.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-05-15 07:29:03 UTC; 2min ago
     Docs: http://open-vm-tools.sourceforge.net/about.php

2. Convert guest from vmware to local by virt-v2v 
# virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-ubuntu18.04LTS-x86_64 --password-file /tmp/passwd -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -os nfs_data -op /tmp/rhvpasswd -oo rhv-cafile=/home/ca.pem  -oo rhv-direct=true -oo rhv-cluster=nfs -of raw -b ovirtmgmt
[   0.3] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-ubuntu18.04LTS-x86_64

[   2.1] Creating an overlay to protect the source from being modified
[   2.7] Opening the overlay
[  19.6] Inspecting the overlay
[  34.2] Checking for sufficient free disk space in the guest
[  34.2] Estimating space required on target for each disk
[  34.2] Converting Ubuntu 18.04.2 LTS to run on KVM
virt-v2v: warning: could not determine a way to update the configuration of 
Grub2
virt-v2v: warning: don't know how to install guest tools on ubuntu-18
virt-v2v: This guest has virtio drivers installed.
[ 789.1] Mapping filesystem data to avoid copying unused and blank areas
[ 789.7] Closing the overlay
[ 789.9] Assigning disks to buses
[ 789.9] Checking if the guest needs BIOS or UEFI to boot
[ 789.9] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[ 791.3] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.mwowFr/nbdkit0.sock", "file.export": "/" } (raw)
    (100.00/100%)
[1676.1] Creating output metadata
[1695.7] Finishing off

3. After finishing v2v conversion, power on guest in kvm and check vmware-tools service status
$ service open-vm-tools status
● open-vm-tools.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/open-vm-tools.service; enabled; vendor preset: enabled)
   Active: inactive (dead) 
Condition:start condition failed at Wed 2019-05-16 02:59:32 UTC; 1min 27s ago
          └─ConditionVirtualization=vmware was not met
     Docs: http://open-vm-tools.sourceforge.net/about.php

Result:There is no error about vmware tool during conversion and the guest can pass all checkpoints.So change the bug from ON_QA to VERIFIED.

Comment 4 errata-xmlrpc 2019-08-07 10:41:34 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/RHBA-2019:2395


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