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 |