Bug 1607274
Summary: | RFE: Add virt-v2v --mac option | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Richard W.M. Jones <rjones> |
Component: | libguestfs | Assignee: | Richard W.M. Jones <rjones> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.6 | CC: | bthurber, juzhou, michal.skrivanek, mtessun, mxie, mzhan, ngupta, ptoscano, rjones, tzheng, xiaodwan, zili |
Target Milestone: | rc | Keywords: | FutureFeature |
Target Release: | 7.7 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | V2V | ||
Fixed In Version: | libguestfs-1.40.1-1.el7 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-08-06 12:44:27 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: | |||
Bug Depends On: | 1621895 | ||
Bug Blocks: | 1594515, 1610547, 1651787 |
Description
Richard W.M. Jones
2018-07-23 07:43:49 UTC
This bug will be fixed by the rebase scheduled for RHEL 7.7, see bug 1621895. Verify bug with builds: libguestfs-1.40.2-1.el7.x86_64 virt-v2v-1.40.2-1.el7.x86_64 libvirt-4.5.0-10.el7_6.4.x86_64 # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network --mac 00:50:56:ac:6a:23:bridge:ovirtmgmt --mac 00:50:56:ac:7f:61:bridge:ovirtmgmt --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 Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored [ 0.7] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network [ 3.0] Creating an overlay to protect the source from being modified [ 4.1] Opening the overlay [ 27.7] Inspecting the overlay [ 217.9] Checking for sufficient free disk space in the guest [ 217.9] Estimating space required on target for each disk [ 217.9] Converting Red Hat Enterprise Linux Server 7.6 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1709.5] Mapping filesystem data to avoid copying unused and blank areas [1713.2] Closing the overlay [1713.6] Assigning disks to buses [1713.6] Checking if the guest needs BIOS or UEFI to boot [1713.6] 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 [1715.1] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.55dbRK/nbdkit0.sock", "file.export": "/" } (raw) (100.00/100%) [2523.1] Creating output metadata [2544.9] Finishing off You have mail in /var/spool/mail/root 2.Finish conversion,check whether the new guest's network be mapped to bridge:ovirtmgmt,and the guest can pass all checkpoints. Result: Virt-v2v had add --mac option to map a NICs to networks or bridges by MAC address. Test bug with builds: libguestfs-1.40.2-1.el7.x86_64 virt-v2v-1.40.2-1.el7.x86_64 libvirt-4.5.0-10.el7_6.4.x86_64 Scenario 1 Convert a guest from VMWare to RHV and use --mac option to map original network of guest,but give wrong mac address in the command. 1.1 Check the guest's mac address. # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 --password-file /tmp/passwd --print-source [ 0.0] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 Source guest information (--print-source option): source name: esx6.7-rhel7.5-x86_64 hypervisor type: vmware memory: 2147483648 (bytes) nr vCPUs: 4 CPU vendor: CPU model: CPU topology: sockets: 2 cores/socket: 2 threads/core: 1 CPU features: firmware: unknown display: video: vmvga sound: disks: json: { "file.cookie": "vmware_soap_session=\"4953b727ba16b78d98e210c61df1e46535908985\"", "file.sslverify": "off", "file.driver": "https", "file.url": "https://10.73.73.141/folder/esx6.7-rhel7.5-x86%5f64/esx6.7-rhel7.5-x86%5f64-flat.vmdk?dcPath=data&dsName=esx6.7", "file.timeout": 2000 } (raw) [scsi] removable media: NICs: Bridge "VM Network" mac: 00:50:56:ac:1e:2e [vmxnet3] Bridge "VM Network" mac: 00:50:56:ac:bc:a7 [e1000e] 1.2 Convert the guest to rhv and use wrong mac address to map NIC to bridge. # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 --mac 00:50:56:ac:6a:23:network:ovirtmgmt --mac 00:50:56:ac:7f:61:network:ovirtmgmt --password-file /tmp/passwd -on rhel7.5-mac -o rhv -os 10.66.144.40:/home/nfs_export [ 0.0] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 [ 2.3] Creating an overlay to protect the source from being modified [ 3.2] Opening the overlay [ 25.4] Inspecting the overlay [ 299.9] Checking for sufficient free disk space in the guest [ 299.9] Estimating space required on target for each disk [ 299.9] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1706.1] Mapping filesystem data to avoid copying unused and blank areas [1710.3] Closing the overlay [1711.7] Assigning disks to buses [1711.7] Checking if the guest needs BIOS or UEFI to boot [1711.7] Initializing the target -o rhv -os 10.66.144.40:/home/nfs_export [1712.4] Copying disk 1/1 to /tmp/v2v.X966iW/c980b640-cb59-47f7-a0fe-90312d33deae/images/b3292da3-37c6-4faa-9fcf-62e1db4503c0/3b4dab1d-b31e-48b5-bd2d-581c95cac96d (raw) (100.00/100%) [2163.7] Creating output metadata [2163.8] Finishing off You have mail in /var/spool/mail/root Result:The conversion can be finished successfully with no warning info about wrong mac address. Scenario 2 Convert a guest from VMWare to RHV and use --mac option to map original network of guest,but give wrong target network types. # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network --mac 00:50:56:ac:6a:23:network:ovirtmgmt --mac 00:50:56:ac:7f:61:bridge:ovirtmgmt --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 Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored [ 0.7] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network [ 3.0] Creating an overlay to protect the source from being modified [ 4.1] Opening the overlay [ 27.7] Inspecting the overlay [ 217.9] Checking for sufficient free disk space in the guest [ 217.9] Estimating space required on target for each disk [ 217.9] Converting Red Hat Enterprise Linux Server 7.6 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1709.5] Mapping filesystem data to avoid copying unused and blank areas [1713.2] Closing the overlay [1713.6] Assigning disks to buses [1713.6] Checking if the guest needs BIOS or UEFI to boot [1713.6] 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 [1715.1] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.55dbRK/nbdkit0.sock", "file.export": "/" } (raw) (100.00/100%) [2523.1] Creating output metadata [2544.9] Finishing off You have mail in /var/spool/mail/root Result:The guest's two NICs all be mapped to bridge:ovirtmgmt. Scenario 3 Convert a source guest with two NICs from VMWare to Libvirt and use --mac option to map original networks of guest to two different type networks with the same name. ]# virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network --mac 00:50:56:ac:6a:23:network:default --mac 00:50:56:ac:7f:61:bridge:default --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-rhel7.6-multi-network [ 2.1] Creating an overlay to protect the source from being modified [ 2.9] Opening the overlay [ 23.5] Inspecting the overlay [ 312.5] Checking for sufficient free disk space in the guest [ 312.5] Estimating space required on target for each disk [ 312.5] Converting Red Hat Enterprise Linux Server 7.6 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1803.4] Mapping filesystem data to avoid copying unused and blank areas [1807.6] Closing the overlay [1807.9] Assigning disks to buses [1807.9] Checking if the guest needs BIOS or UEFI to boot [1807.9] Initializing the target -o libvirt -os default [1808.0] Copying disk 1/1 to /var/lib/libvirt/images/esx6.7-rhel7.6-multi-network-sda (raw) (100.00/100%) [2290.5] Creating output metadata Pool default refreshed Domain esx6.7-rhel7.6-multi-network defined from /tmp/v2vlibvirtcc84ed.xml [2290.9] Finishing off You have mail in /var/spool/mail/root Result:The source network:00:50:56:ac:6a:23 is mapped to network:default,and the source network:00:50:56:ac:7f:61 is mapped to bridge. Hi Rjones: Virt-v2v had add --mac option to map a NICs to networks or bridges by MAC address, but I have some questions: 1.For scenario 1,I think the expect result is: when the --mac address rule is not been used,virt-v2v should give warning or error info. 2.For scenario 2,the rhv's network ovirtmgmt's type is bridge,so the expect result is: The source network:00:50:56:ac:6a:23 shouldn't be mapped to bridge:ovirtmgmt. Thanks > 1.For scenario 1,I think the expect result is: when the --mac address rule is not been used,virt-v2v should give warning or error info. Possibly, but it would be a new feature request because it doesn't affect the functionality of this change. 2.For scenario 2,the rhv's network ovirtmgmt's type is bridge,so the expect result is: The source network:00:50:56:ac:6a:23 shouldn't be mapped to bridge:ovirtmgmt. You specified: --mac 00:50:56:ac:6a:23:network:ovirtmgmt which means map the the 6a:23 interface to a network called ovirtmgmt. It doesn't matter what kind of interface it was originally. However an additional complication is that -o rhv-upload (or any of the RHV targets) ignores the network/bridge distinction on output, since the RHV OVF document does not have any way to distinguish between networks and bridges. See vnet_type here (notice that it is ignored completely): https://github.com/libguestfs/libguestfs/blob/89b5dabf8d1797e3875d949b6e2a903a5703be5c/v2v/create_ovf.ml#L934 (In reply to Richard W.M. Jones from comment #12) Hi Rjones: Thanks for your explanation,I filed one new RFE bug 1685809 for scenario 1. Verify 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 Scenario 1 Convert a guest from VMWare to RHV and use --mac option to map original network of guest,but give wrong mac address in the command. 1.1 Check the guest's mac address. # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 --password-file /tmp/passwd --print-source [ 0.0] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 Source guest information (--print-source option): source name: esx6.7-rhel7.5-x86_64 hypervisor type: vmware memory: 2147483648 (bytes) nr vCPUs: 4 CPU vendor: CPU model: CPU topology: sockets: 2 cores/socket: 2 threads/core: 1 CPU features: firmware: unknown display: video: vmvga sound: disks: json: { "file.cookie": "vmware_soap_session=\"4953b727ba16b78d98e210c61df1e46535908985\"", "file.sslverify": "off", "file.driver": "https", "file.url": "https://10.73.73.141/folder/esx6.7-rhel7.5-x86%5f64/esx6.7-rhel7.5-x86%5f64-flat.vmdk?dcPath=data&dsName=esx6.7", "file.timeout": 2000 } (raw) [scsi] removable media: NICs: Bridge "VM Network" mac: 00:50:56:ac:1e:2e [vmxnet3] Bridge "VM Network" mac: 00:50:56:ac:bc:a7 [e1000e] 1.2 Convert the guest to rhv and use wrong mac address to map NIC to bridge. # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 --mac 00:50:56:ac:6a:23:network:ovirtmgmt --mac 00:50:56:ac:7f:61:network:ovirtmgmt --password-file /tmp/passwd -on rhel7.5-mac -o rhv -os 10.66.144.40:/home/nfs_export [ 0.0] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.5-x86_64 [ 2.3] Creating an overlay to protect the source from being modified [ 3.2] Opening the overlay [ 25.4] Inspecting the overlay [ 299.9] Checking for sufficient free disk space in the guest [ 299.9] Estimating space required on target for each disk [ 299.9] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1706.1] Mapping filesystem data to avoid copying unused and blank areas [1710.3] Closing the overlay [1711.7] Assigning disks to buses [1711.7] Checking if the guest needs BIOS or UEFI to boot [1711.7] Initializing the target -o rhv -os 10.66.144.40:/home/nfs_export [1712.4] Copying disk 1/1 to /tmp/v2v.X966iW/c980b640-cb59-47f7-a0fe-90312d33deae/images/b3292da3-37c6-4faa-9fcf-62e1db4503c0/3b4dab1d-b31e-48b5-bd2d-581c95cac96d (raw) (100.00/100%) [2163.7] Creating output metadata [2163.8] Finishing off You have mail in /var/spool/mail/root Result 1:The conversion can be finished successfully with no warning info about wrong mac address. Scenario 2 Convert a guest from VMWare to RHV and use --mac option to map original network of guest,but give wrong target network types. # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network --mac 00:50:56:ac:6a:23:network:ovirtmgmt --mac 00:50:56:ac:7f:61:bridge:ovirtmgmt --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 Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored [ 0.7] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network [ 3.0] Creating an overlay to protect the source from being modified [ 4.1] Opening the overlay [ 27.7] Inspecting the overlay [ 217.9] Checking for sufficient free disk space in the guest [ 217.9] Estimating space required on target for each disk [ 217.9] Converting Red Hat Enterprise Linux Server 7.6 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1709.5] Mapping filesystem data to avoid copying unused and blank areas [1713.2] Closing the overlay [1713.6] Assigning disks to buses [1713.6] Checking if the guest needs BIOS or UEFI to boot [1713.6] 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 [1715.1] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.55dbRK/nbdkit0.sock", "file.export": "/" } (raw) (100.00/100%) [2523.1] Creating output metadata [2544.9] Finishing off You have mail in /var/spool/mail/root Result 2:The guest's two NICs all be mapped to bridge:ovirtmgmt. Scenario 3 Convert a source guest with two NICs from VMWare to Libvirt and use --mac option to map original networks of guest to two different type networks with the same name. ]# virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network --mac 00:50:56:ac:6a:23:network:default --mac 00:50:56:ac:7f:61:bridge:default --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-rhel7.6-multi-network [ 2.1] Creating an overlay to protect the source from being modified [ 2.9] Opening the overlay [ 23.5] Inspecting the overlay [ 312.5] Checking for sufficient free disk space in the guest [ 312.5] Estimating space required on target for each disk [ 312.5] Converting Red Hat Enterprise Linux Server 7.6 (Maipo) to run on KVM virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from the virtio-win directory or ISO. Guest tools are only provided in the RHV Guest Tools ISO, so this can happen if you are using the version of virtio-win which contains just the virtio drivers. In this case only virtio drivers can be installed in the guest, and installation of Guest Tools will be skipped. virt-v2v: This guest has virtio drivers installed. [1803.4] Mapping filesystem data to avoid copying unused and blank areas [1807.6] Closing the overlay [1807.9] Assigning disks to buses [1807.9] Checking if the guest needs BIOS or UEFI to boot [1807.9] Initializing the target -o libvirt -os default [1808.0] Copying disk 1/1 to /var/lib/libvirt/images/esx6.7-rhel7.6-multi-network-sda (raw) (100.00/100%) [2290.5] Creating output metadata Pool default refreshed Domain esx6.7-rhel7.6-multi-network defined from /tmp/v2vlibvirtcc84ed.xml [2290.9] Finishing off You have mail in /var/spool/mail/root Result 3:The source network:00:50:56:ac:6a:23 is mapped to network:default,and the source network:00:50:56:ac:7f:61 is mapped to bridge. Scenario 4 Test --mac with the same mac address to map to different networks # virt-v2v -ic vpx://root.73.141/data/10.73.75.219/?no_verify=1 esx6.7-rhel7.6-multi-network --mac 00:50:56:ac:6a:23:bridge:test --mac 00:50:56:ac:6a:23:bridge:ovirtmgmt --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 virt-v2v: error: duplicate --mac parameter. Duplicate mappings specified for MAC address 00:50:56:ac:6a:23. If reporting bugs, run virt-v2v with debugging enabled and include the complete output: virt-v2v -v -x [...] Result 4:virt-v2v will give error info when map a mac address to different networks. Result: Virt-v2v had add --mac option to map a NICs to networks or bridges by MAC address,so change 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-2019:2096 |