Bug 1318922

Summary: network name mangling after virt-v2v conversion causes old-style network scripts to fail
Product: Red Hat Enterprise Linux 7 Reporter: keanli <keanli>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: bthurber, jsuchane, kkulkarn, mxie, mzhan, ptoscano, rjones, smallamp, tzheng, xiaodwan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1642021 (view as bug list) Environment:
Last Closed: 2019-06-25 13:11:57 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:    
Bug Blocks: 1473046, 1558351, 1642021    
Attachments:
Description Flags
V2V log
none
vmware-rhel7.2-rhv
none
vmware-rhel7.3-rhv
none
virt-v2v-esx-rhel7.2.log
none
virt-v2v-esx-rhel7.3.log none

Description keanli 2016-03-18 07:16:16 UTC
Created attachment 1137688 [details]
V2V log

Description of problem:

Can't restart network if host network interface default is not eth0. Both convert to kvm or rhevm from esx5.x or esx6.x

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

libvirt-1.2.17-13.el7_2.4.x86_64
virt-v2v-1.28.1-1.55.el7_2.2.x86_64
libguestfs-1.28.1-1.55.el7_2.2.x86_64
kernel-3.10.0-229.29.1.el7.x86_64

Also can reproduce on latest version:

libvirt-1.3.2-1.el7.x86_64
virt-v2v-1.32.3-1.el7.x86_64
libguestfs-1.32.3-1.el7.x86_64


How reproducible:
100%

Steps to Reproduce:
1. Prepare a guest with rhel7.2 default network interface is not eth0(i.e. ens192)

# ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.66.107.39  netmask 255.255.248.0  broadcast 10.66.111.255
        inet6 fe80::250:56ff:fe98:8a53  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:98:8a:53  txqueuelen 1000  (Ethernet)
        RX packets 1008  bytes 65705 (64.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 10366 (10.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

......

# vi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ens192
UUID=c32426f8-2478-40ba-affa-57b5f640e510
DEVICE=ens192
ONBOOT=yes




2. After convert the host to kvm or rhevm as a guest,open it and check:

#ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.122.74  netmask 255.255.255.0  broadcast 192.168.122.255
        inet6 fe80::250:56ff:fe98:8a53  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:98:8a:53  txqueuelen 1000  (Ethernet)
        RX packets 381  bytes 20632 (20.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 30  bytes 4955 (4.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

.....

#service network restart

[root@localhost network-scripts]# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

# journalctl -xe
Mar 17 18:18:12 localhost.localdomain systemd[1]: Stopping LSB: Bring up/down networking...
-- Subject: Unit network.service has begun shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit network.service has begun shutting down.
Mar 17 18:18:12 localhost.localdomain network[5364]: Shutting down loopback interface:  Could not load file '/et
Mar 17 18:18:12 localhost.localdomain network[5364]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-l
Mar 17 18:18:13 localhost.localdomain network[5364]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-l
Mar 17 18:18:13 localhost.localdomain NetworkManager[707]: <info>  (lo): link disconnected
Mar 17 18:18:13 localhost.localdomain network[5364]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-l
Mar 17 18:18:13 localhost.localdomain network[5364]: [  OK  ]
Mar 17 18:18:13 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking...
-- Subject: Unit network.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit network.service has begun starting up.
Mar 17 18:18:14 localhost.localdomain NetworkManager[707]: <info>  ifcfg-rh: update /etc/sysconfig/network-scrip
Mar 17 18:18:14 localhost.localdomain network[5492]: Bringing up loopback interface:  Could not load file '/etc/
Mar 17 18:18:14 localhost.localdomain network[5492]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-l
Mar 17 18:18:14 localhost.localdomain NetworkManager[707]: <info>  (lo): link connected
Mar 17 18:18:14 localhost.localdomain network[5492]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-l
Mar 17 18:18:14 localhost.localdomain network[5492]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-l
Mar 17 18:18:14 localhost.localdomain network[5492]: [  OK  ]
Mar 17 18:18:15 localhost.localdomain network[5492]: Bringing up interface ens192:  Error: Connection activation
Mar 17 18:18:15 localhost.localdomain network[5492]: [FAILED]
Mar 17 18:18:15 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1
Mar 17 18:18:15 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.
-- Subject: Unit network.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit network.service has failed.
-- 
-- The result is failed.
Mar 17 18:18:15 localhost.localdomain systemd[1]: Unit network.service entered failed state.
Mar 17 18:18:15 localhost.localdomain systemd[1]: network.service failed.
Mar 17 18:18:15 localhost.localdomain polkitd[650]: Unregistered Authentication Agent for unix-process:5359:4752

[root@localhost network-scripts]# ls
ifcfg-ens192  ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo      ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown        ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep   ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth    ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib     ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp   ifup             ifup-post    network-functions-ipv6
ifdown-ipv6   ifup-aliases     ifup-ppp
ifdown-isdn   ifup-bnep        ifup-routes
ifdown-post   ifup-eth         ifup-sit

Actual results:

As above show


Expected results:
The network configuration file should be ifcfg-etho (like ifconfig output)  

Additional info:

1,You can also check the log from attachment

2,The network can be return to normal if modify the device to eth0 in the ifcfg-ens192.

Comment 2 Richard W.M. Jones 2016-06-23 13:39:28 UTC
By the way, the log file isn't complete.  I think you didn't use both
the -v and -x options, or else you didn't collect stdout & stderr.

Anyway, the problem here is obviously to do with the network
interface getting renamed from ens192 to eth0.  The corresponding
/etc/sysconfig/network-scripts/ifcfg-ens192 file should therefore
be renamed.

However predicting how systemd/udev/the kernel is going to mangle
network names at boot is a tricky one.

Comment 5 Richard W.M. Jones 2017-03-28 14:27:51 UTC
Out of development time for RHEL 7.4.  Moving to RHEL 7.5.

Comment 10 mxie@redhat.com 2017-06-02 07:32:11 UTC
Description of problem:
There is no IP in RHEL7.3 guest after converting from source target "vmware/kvm" by virt-v2v

Version-Release number of selected component (if applicable):
virt-v2v-1.36.3-4.el7.x86_64
libguestfs-1.36.3-4.el7.x86_64
qemu-kvm-1.5.3-139.el7.x86_64
libvirt-3.2.0-7.el7.x86_64


How reproducible:
100%

Steps to Reproduce:
Scenario1:
1.Convert rhel7.3 guest from vmware to rhv by virt-v2v
# virt-v2v -ic vpx://root.75.182/data/10.73.3.19/?no_verify=1 esx5.5-rhel7.3-x86_64 -o rhev -os 10.73.131.93:/home/nfs_export --password-file /tmp/passwd -b ovirtmgmt -n ovirtmgmt -v -x |& tee > virt-v2v-esx-rhel7.3.log
2.After finishing conversion, import rhe7.3 guest from export domain to data domain
3.Power on the guest and found eth0 can't obtain IP, pls refer to screenshot"vmware-rhel7.3-rhv" and log"virt-v2v-esx-rhel7.3.log"

Scenario2:
1.Convert rhel7.3 guest from kvm to rhv by virt-v2v
2.After finishing conversion, import rhe7.3 guest from export domain to data domain
3.Power on the guest and found eth0 can't obtain IP

Scenario3:
1.Convert rhel7.2 guest from vmware to rhv by virt-v2v
# virt-v2v -ic vpx://root.75.182/data/10.73.3.19/?no_verify=1 esx5.5-rhel7.2-x86_64 -o rhev -os 10.73.131.93:/home/nfs_export --password-file /tmp/passwd -b ovirtmgmt -n ovirtmgmt -v -x |& tee > virt-v2v-esx-rhel7.2.log
2.After finishing conversion, import rhe7.2 guest from export domain to data domain
3.Power on the guest and found eth0 can obtain IP, pls refer to screenshot"vmware-rhel7.2-rhv" and and log"virt-v2v-esx-rhel7.2.log"



Actual results:
Although there is existing bug1318922 result in the rhel7 guest can't restart network service successfully, rhel7.2 still could obtain ip after converting by virt-v2v as scenario3,so it is not normal that rhel7.3 guest can't obtain IP after converting from source target "vmware/kvm" by virt-v2v

Expected results:
There is IP in RHEL7.3 guest after converting from source target "vmware/kvm" by virt-v2v

Additional info:
1.RHEL7.3 guest can obtain IP after converting from source target "xen" by virt-v2v because original rhel7.3 guest's network name is eth0 on xen server

Hi Pino,

  Due to above problem, all the rhel7.3 guests are failed in virt-v2v full matrix auto testing,Although I'm not sure whether above problem is duplicate with this bug,it is obvious that this problem will be fixed if bug1318922 could fixed, so the bug has blocked some tests, could you help to fix this bug if you have time?

Comment 11 mxie@redhat.com 2017-06-02 07:32:48 UTC
Created attachment 1284337 [details]
vmware-rhel7.2-rhv

Comment 12 mxie@redhat.com 2017-06-02 07:33:24 UTC
Created attachment 1284338 [details]
vmware-rhel7.3-rhv

Comment 13 mxie@redhat.com 2017-06-02 07:34:33 UTC
Created attachment 1284339 [details]
virt-v2v-esx-rhel7.2.log

Comment 14 mxie@redhat.com 2017-06-02 07:35:42 UTC
Created attachment 1284340 [details]
virt-v2v-esx-rhel7.3.log

Comment 15 kuwei@redhat.com 2017-09-25 09:58:05 UTC
With below builds and convert openSUSE OS from ESX exist network problem,add the comment here to verify when the bug fixed.

virt-v2v-1.36.6-1.el7.x86_64
libguestfs-1.36.6-1.el7.x86_64
libvirt-3.7.0-2.el7.x86_64
qemu-kvm-rhev-2.9.0-16.el7_4.8.x86_64

Steps:
Scenario 1:
1.Prepare a openSUSE x84_64 guest on ESX server.
2.Using virt-v2 to convert the guest to rhv
# virt-v2v -ic vpx://root.75.182/data/10.73.72.61/?no_verify=1 esx6.0-opensuse13.2-x86_64 --password-file /tmp/passwd -o rhv -os 10.73.131.93:/home/nfs_export


Scenario 2:
1.Prepare a openSUSE x84_64 guest on ESX server.
2.Using virt-v2 to convert the guest to libvirt
# virt-v2v -ic vpx://root.75.182/data/10.73.72.61/?no_verify=1 esx6.0-opensuse13.2-x86_64 --password-file /tmp/passwd

Comment 16 Kedar Kulkarni 2018-08-21 18:54:09 UTC
I am hitting this issue while running V2V migrations using CloudForms. Network names change on migrated VM compared to source VM.

Comment 17 Jaroslav Suchanek 2019-06-25 13:11:57 UTC
This issue will be addressed in next major release of RHEL.