Bug 1739878

Summary: Provisioning RHEL 8 with network bond configuration results in system with all nics down
Product: Red Hat Satellite Reporter: Joniel Pasqualetto <jpasqual>
Component: Provisioning TemplatesAssignee: Lukas Zapletal <lzap>
Status: CLOSED ERRATA QA Contact: Roman Plevka <rplevka>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5.0CC: dsynk, egolov, lzap, mhulan
Target Milestone: 6.6.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: foreman-1.22.0.24-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-22 19:51:40 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:

Description Joniel Pasqualetto 2019-08-11 14:21:58 UTC
Description of problem:

When provisioning a RHEL 8 with network bond, the system is provisioned but all network interfaces are down after the installation reboots.

This is due to the configuration NM_CONTROLLED=no added to all interfaces by the network configuration snippets, like in the example below:

[root@levi-ribron network-scripts]# cat ifcfg-ens3 
BOOTPROTO="none"
DEVICE=ens3
HWADDR="52:54:00:0b:25:1b"
ONBOOT=yes
PEERDNS=no
PEERROUTES=no
DEFROUTE=no
NM_CONTROLLED=no
MASTER=bond0
SLAVE=yes

[root@levi-ribron network-scripts]# cat ifcfg-ens4
BOOTPROTO="none"
DEVICE=ens4
HWADDR="52:54:00:ad:32:1d"
ONBOOT=yes
PEERDNS=no
PEERROUTES=no
DEFROUTE=no
NM_CONTROLLED=no
MASTER=bond0
SLAVE=yes

[root@levi-ribron network-scripts]# cat ifcfg-bond0
BOOTPROTO="dhcp"
DOMAIN="example.com"
DEVICE=bond0
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
DEFROUTE=yes
MTU=1500
TYPE=Bond
BONDING_OPTS=" mode=active-backup"
BONDING_MASTER=yes
NM_CONTROLLED=no

As in RHEL 8 legacy network scripts are not installed by default, all the interfaces with NM_CONTROLLED=no won't be initialized.

As a workaround, one can install the package "network-scripts" and configure the legacy service "network" to start at boot time to get the interfaces working as expected. 

However, RHEL 8 documentation says those are deprecated. See:

 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/getting-started-with-managing-networking-with-networkmanager_configuring-and-managing-networking#legacy_network_scripts_support


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


How reproducible:
Always

Steps to Reproduce:
1. Create a new host on Satellite using default kickstart templates
2. Configure the network to have a bond interface
3. Wait until the build finishes, then check the status of network interfaces.

Actual results:
System is built, but network interfaces are not initialized when system boots.

Expected results:
All network interfaces would be initialized properly.

Additional info:

Comment 4 Lukas Zapletal 2019-08-23 07:39:43 UTC
Created redmine issue https://projects.theforeman.org/issues/27690 from this bug

Comment 6 Bryan Kearney 2019-08-23 08:05:29 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/27690 has been resolved.

Comment 8 Roman Plevka 2019-09-18 09:08:52 UTC
VERIFIED
on sat6.6.0-20.1

I provisioned a rhel8 host with eth0, eth1 and bond0 (that bonds the previous two) interfaces. Everything was provisioned as expected;
the interfaces were brought up correctly:

2: ens3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 52:54:00:50:d5:8b brd ff:ff:ff:ff:ff:ff
3: ens4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 52:54:00:50:d5:8b brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:50:d5:8b brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.96/24 brd 192.168.100.255 scope global dynamic noprefixroute bond0
       valid_lft 31464sec preferred_lft 31464sec
    inet6 fe80::5054:ff:fe50:d58b/64 scope link 
       valid_lft forever preferred_lft forever

Comment 9 Bryan Kearney 2019-10-22 19:51:40 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/RHSA-2019:3172