Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1809601

Summary: use_dhcpv6: true does not seem to work on an ovs-bridge
Product: Red Hat Enterprise Linux 8 Reporter: Michele Baldessari <michele>
Component: initscriptsAssignee: Jan Macku <jamacku>
Status: CLOSED ERRATA QA Contact: Daniel Rusek <drusek>
Severity: high Docs Contact:
Priority: urgent    
Version: 8.1CC: bfournie, dsneddon, hbrock, hjensas, initscripts-maint-list, jamacku, jslagle, lnykryn, mburns, msekleta
Target Milestone: rcKeywords: ZStream
Target Release: 8.2Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: initscripts-10.00.7-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1821379 1821380 (view as bug list) Environment:
Last Closed: 2020-11-04 01:41:25 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: 1821379, 1821380    
Attachments:
Description Flags
output of command "journalctl -l -u network"
none
journal with rc.debug - and "scope global" removed in ipv6_wait_tentative() none

Description Michele Baldessari 2020-03-03 13:12:35 UTC
Description of problem:
While trying to get TLS-everywhere and IPv6 to work, I have the need to get a dhcpv6 address on br-ex (nic3 on infrared 3_nets config) on some nodes. In order to do that I set 'use_dhcpv6:true' on the nic. The template works correctly and I am able to see the following in /etc/os-net-config/config.json on said node:
    {
      "members": [
        {
          "name": "nic3",
          "primary": true,
          "type": "interface"
        }
      ],
      "name": "br-ex",
      "type": "ovs_bridge",
      "use_dhcp": false,
      "use_dhcpv6": true
    }

This then translates into:
[root@compute-0 os-net-config]# more /etc/sysconfig/network-scripts/ifcfg-br-ex 
# This file is autogenerated by os-net-config
DEVICE=br-ex
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSBridge
IPV6INIT=yes
DHCPV6C=yes
OVS_EXTRA="set bridge br-ex other-config:hwaddr=52:54:00:e5:c7:52 -- set bridge br-ex fail_mode=standalone -- del-controller br-ex"

(Note the DHCPV6C=yes)
Yet it seems that this does not work in the end because I get no IPv6 from the  2620:52:0:13b8:: range on br-ex as expected and I only see the local-link address:
[root@compute-0 os-net-config]# ip -o a |grep br-ex
7: br-ex    inet6 fe80::5054:ff:fee5:c752/64 scope link \       valid_lft forever preferred_lft forever

Note that requesting dhcp v6 manually works correctly:
[root@compute-0 os-net-config]# dhclient -6 br-ex
[root@compute-0 os-net-config]# ip -o a|grep br-ex
7: br-ex    inet6 2620:52:0:13b8::fe:28/128 scope global dynamic \       valid_lft 3466sec preferred_lft 3406sec
7: br-ex    inet6 fe80::5054:ff:fee5:c752/64 scope link \       valid_lft forever preferred_lft forever


Version-Release number of selected component (if applicable):
os-net-config-11.3.1-0.20191202211303.d814f68.el8ost.noarch

How reproducible:
100% so far

Comment 1 Harald Jensås 2020-03-05 08:02:06 UTC
I've tried to reproduce this on CentOS 8 using a simple config:

network_config:
  - 
    type: ovs_bridge
    name: br-ex
    use_dhcp: false
    use_dhcpv6: true
    members:
      - 
        name: enp2s0
        type: interface
        primary: true

It does'nt even configure the ovs_bridge in my case, but this is likely due to a problem with my openvswitch setup. (I can't find a repo with openvswitch so I installed from source ...)
I will switch to RHEL8 and use packages from OSP repos.


@Michele, do you have debug log's from the os-net-config run?

Comment 2 Michele Baldessari 2020-03-11 07:54:23 UTC
(In reply to Harald Jensås from comment #1)
> I've tried to reproduce this on CentOS 8 using a simple config:
> 
> network_config:
>   - 
>     type: ovs_bridge
>     name: br-ex
>     use_dhcp: false
>     use_dhcpv6: true
>     members:
>       - 
>         name: enp2s0
>         type: interface
>         primary: true
> 
> It does'nt even configure the ovs_bridge in my case, but this is likely due
> to a problem with my openvswitch setup. (I can't find a repo with
> openvswitch so I installed from source ...)
> I will switch to RHEL8 and use packages from OSP repos.
> 
> 
> @Michele, do you have debug log's from the os-net-config run?

Not atm, but I will try and get them on the next run, but isn't the issue here that if we have 'DHCPV6C=yes' in the ifcfg script the network-scripts should request dhcpv6 when the ifup takes place? (NB: not my area of expertise so do hit me with a cluebat if I am completely off ;)

Comment 3 Harald Jensås 2020-03-11 10:16:10 UTC
(In reply to Michele Baldessari from comment #2)
> (In reply to Harald Jensås from comment #1)
> > @Michele, do you have debug log's from the os-net-config run?
> 
> Not atm, but I will try and get them on the next run, but isn't the issue
> here that if we have 'DHCPV6C=yes' in the ifcfg script the network-scripts
> should request dhcpv6 when the ifup takes place? (NB: not my area of
> expertise so do hit me with a cluebat if I am completely off ;)

It should. And it did request dhcpv6 when I used an even simpler config with just an interface, no bridge.
I will continue efforts to reproduce this today.

Comment 4 Harald Jensås 2020-03-11 12:04:53 UTC
Steps to reproduce on RHEL:
 subscription-manager register
 subscription-manager attach --pool=<pool-id>
 subscription-manager repos --disable=*
 subscription-manager repos \
    --enable=rhel-8-for-x86_64-baseos-rpms \
    --enable=rhel-8-for-x86_64-appstream-rpms \
    --enable=rhel-8-for-x86_64-highavailability-rpms \
    --enable=ansible-2.8-for-rhel-8-x86_64-rpms \
    --enable=openstack-16-for-rhel-8-x86_64-rpms \
    --enable=fast-datapath-for-rhel-8-x86_64-rpms
 dnf install rhosp-openvswitch.noarch os-net-config.noarch
 systemctl enable openvswitch


[root@rhel8 ~]# cat config.yaml 
network_config:
  - 
    type: ovs_bridge
    name: br-ex
    use_dhcp: false
    use_dhcpv6: true
    members:
      - 
        name: enp2s0
        type: interface
        primary: true

[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3230sec preferred_lft 3230sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff

[root@rhel8 ~]# os-net-config --config config.yaml --debug
[2020/03/11 12:47:13 PM] [INFO] Using config file at: config.yaml
[2020/03/11 12:47:13 PM] [INFO] Ifcfg net config provider created.
[2020/03/11 12:47:13 PM] [INFO] Not using any mapping file.
[2020/03/11 12:47:13 PM] [DEBUG] network_config JSON: [{'type': 'ovs_bridge', 'name': 'br-ex', 'use_dhcp': False, 'use_dhcpv6': True, 'members': [{'name': 'enp2s0', 'type': 'interface', 'primary': True}]}]
[2020/03/11 12:47:13 PM] [INFO] Finding active nics
[2020/03/11 12:47:13 PM] [INFO] lo is not an active nic
[2020/03/11 12:47:13 PM] [INFO] enp2s0 is an active nic
[2020/03/11 12:47:13 PM] [INFO] enp1s0 is an active nic
[2020/03/11 12:47:13 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml)
[2020/03/11 12:47:13 PM] [INFO] Active nics are ['enp1s0', 'enp2s0']
[2020/03/11 12:47:13 PM] [INFO] nic2 mapped to: enp2s0
[2020/03/11 12:47:13 PM] [INFO] nic1 mapped to: enp1s0
[2020/03/11 12:47:13 PM] [INFO] adding bridge: br-ex
[2020/03/11 12:47:13 PM] [DEBUG] bridge data: # This file is autogenerated by os-net-config
DEVICE=br-ex
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSBridge
IPV6INIT=yes
DHCPV6C=yes
OVS_EXTRA="set bridge br-ex other-config:hwaddr=52:54:00:b6:aa:30 -- set bridge br-ex fail_mode=standalone -- del-controller br-ex"

[2020/03/11 12:47:13 PM] [INFO] adding interface: enp2s0
[2020/03/11 12:47:13 PM] [DEBUG] interface data: # This file is autogenerated by os-net-config
DEVICE=enp2s0
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
BOOTPROTO=none

[2020/03/11 12:47:13 PM] [INFO] applying network configs...
[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0
UUID=63cfae0a-37d9-435e-b1bb-bc9749d84bd1
DEVICE=enp2s0
ONBOOT=no

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:
# This file is autogenerated by os-net-config
DEVICE=enp2s0
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
BOOTPROTO=none

[2020/03/11 12:47:13 PM] [DEBUG] Original ifcfg file:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0
UUID=63cfae0a-37d9-435e-b1bb-bc9749d84bd1
DEVICE=enp2s0
ONBOOT=no

[2020/03/11 12:47:13 PM] [DEBUG] New ifcfg file:
# This file is autogenerated by os-net-config
DEVICE=enp2s0
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
BOOTPROTO=none

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:
# This file is autogenerated by os-net-config
DEVICE=br-ex
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSBridge
IPV6INIT=yes
DHCPV6C=yes
OVS_EXTRA="set bridge br-ex other-config:hwaddr=52:54:00:b6:aa:30 -- set bridge br-ex fail_mode=standalone -- del-controller br-ex"

[2020/03/11 12:47:13 PM] [DEBUG] Original ifcfg file:

[2020/03/11 12:47:13 PM] [DEBUG] New ifcfg file:
# This file is autogenerated by os-net-config
DEVICE=br-ex
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
DEVICETYPE=ovs
TYPE=OVSBridge
IPV6INIT=yes
DHCPV6C=yes
OVS_EXTRA="set bridge br-ex other-config:hwaddr=52:54:00:b6:aa:30 -- set bridge br-ex fail_mode=standalone -- del-controller br-ex"

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff file data:

[2020/03/11 12:47:13 PM] [DEBUG] Diff data:

[2020/03/11 12:47:13 PM] [INFO] running ifdown on interface: enp2s0
[2020/03/11 12:47:13 PM] [DEBUG] Running cmd (subprocess): /sbin/ifdown enp2s0
[2020/03/11 12:47:13 PM] [DEBUG] CMD "/sbin/ifdown enp2s0" returned: 0 in 0.095s
[2020/03/11 12:47:13 PM] [INFO] interface enp2s0 is up, trying with ip command
[2020/03/11 12:47:13 PM] [DEBUG] Running cmd (subprocess): /sbin/ip link set dev enp2s0 down
[2020/03/11 12:47:13 PM] [DEBUG] CMD "/sbin/ip link set dev enp2s0 down" returned: 0 in 0.005s
[2020/03/11 12:47:13 PM] [INFO] running ifdown on bridge: br-ex
[2020/03/11 12:47:13 PM] [DEBUG] Running cmd (subprocess): /sbin/ifdown br-ex
[2020/03/11 12:47:13 PM] [DEBUG] CMD "/sbin/ifdown br-ex" returned: 1 in 0.029s
[2020/03/11 12:47:13 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-enp2s0
[2020/03/11 12:47:13 PM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-br-ex
[2020/03/11 12:47:13 PM] [INFO] running ifup on bridge: br-ex
[2020/03/11 12:47:13 PM] [DEBUG] Running cmd (subprocess): /sbin/ifup br-ex
[2020/03/11 12:48:16 PM] [DEBUG] CMD "/sbin/ifup br-ex" returned: 0 in 62.344s
[2020/03/11 12:48:16 PM] [DEBUG] Calling stop_dhclient_interfaces() for enp2s0
[2020/03/11 12:48:16 PM] [INFO] running ifup on interface: enp2s0
[2020/03/11 12:48:16 PM] [DEBUG] Running cmd (subprocess): /sbin/ifup enp2s0
[2020/03/11 12:48:16 PM] [DEBUG] CMD "/sbin/ifup enp2s0" returned: 0 in 0.303s

[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3126sec preferred_lft 3126sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 9a:53:9d:83:ae:55 brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever

    ^^^ No ipv6 address on br-ex

[root@rhel8 ~]# dhclient -6 br-ex

[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3082sec preferred_lft 3082sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 9a:53:9d:83:ae:55 brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fd12:3456:789a:1::ad3c/128 scope global dynamic 
       valid_lft 656sec preferred_lft 596sec
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever

   ^^^ manually runing dhclient configures the itnerface


-- Additionaly, bringing the br-ex interface down and up again also fail:
[root@rhel8 ~]# ifdown br-ex
WARN      : [ifdown] You are using 'ifdown' script provided by 'network-scripts', which are now deprecated.
WARN      : [ifdown] 'network-scripts' will be removed in one of the next major releases of RHEL.
WARN      : [ifdown] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.
[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 2633sec preferred_lft 2633sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
[root@rhel8 ~]# ifup br-ex
WARN      : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.
WARN      : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.
WARN      : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.

Determining IPv6 information for br-ex... failed.

[root@rhel8 ~]# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 2550sec preferred_lft 2550sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
6: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 4a:fd:76:b3:01:48 brd ff:ff:ff:ff:ff:ff
7: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever

Comment 5 Harald Jensås 2020-03-11 12:20:43 UTC
Enabled the network service:
 systemctl enable network

Reboot and added 'rc.debug' on kernel commandline.


[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3522sec preferred_lft 3522sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether fe:e6:5f:2d:a0:03 brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever



   ^^^ the interface was not configured by dhcpv6.


Mar 11 13:04:20 rhel8.lab.example.com network[1283]: ++ ip -6 addr show dev br-ex scope global tentative
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + ip_output=
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + '[' -z '' ']'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + return 0
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + is_true yes
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + case "$1" in
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + return 0
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + '[' -x /sbin/dhclient ']'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + '[' br-ex '!=' lo ']'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + dbus-send --print-reply --system --dest=org.fedoraproject.FirewallD1 /org/fedoraproject/FirewallD1 org.fedoraproject.FirewallD1.zone.changeZoneOfInterface string: string:br-ex
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + generate_config_file_name 6
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + local ver=6
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + '[' -s /etc/dhcp/dhclient6-br-ex.conf ']'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + '[' -s /etc/dhclient6-br-ex.conf ']'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + DHCLIENTCONF=
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + generate_lease_file_name 6
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + local ver=6
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + LEASEFILE=/var/lib/dhclient/dhclient6-br-ex.leases
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + '[' -f /var/lib/dhclient/dhclient6-br-ex.leases ']'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + LEASEFILE=/var/lib/dhclient/dhclient6--br-ex.lease
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + echo
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + echo -n 'Determining IPv6 information for br-ex...'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: Determining IPv6 information for br-ex...+ DHCLIENTARGS='-6 -1   -lf /var/lib/dhclient/dhclient6--br-ex.lease -pf /run/dhclient6-br-ex.pid br-ex'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + set_hostname_options DHCLIENTARGS
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + is_false ''
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + case "$1" in
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + return 1
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + [[ -n '' ]]
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + local hostname_options=
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + [[ -n '' ]]
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + is_hostname_set
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + case "${HOSTNAME}" in
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + return 0
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + hostname_options='-H rhel8'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + eval 'DHCLIENTARGS='\''-6 -1   -lf /var/lib/dhclient/dhclient6--br-ex.lease -pf /run/dhclient6-br-ex.pid br-ex -H rhel8'\'''
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: ++ DHCLIENTARGS='-6 -1   -lf /var/lib/dhclient/dhclient6--br-ex.lease -pf /run/dhclient6-br-ex.pid br-ex -H rhel8'
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + return
Mar 11 13:04:20 rhel8.lab.example.com network[1283]: + /sbin/dhclient -6 -1 -lf /var/lib/dhclient/dhclient6--br-ex.lease -pf /run/dhclient6-br-ex.pid br-ex -H rhel8
Mar 11 13:04:22 rhel8.lab.example.com dhclient[1483]: XMT: Solicit on br-ex, interval 1010ms.
Mar 11 13:04:23 rhel8.lab.example.com dhclient[1483]: XMT: Solicit on br-ex, interval 2030ms.
Mar 11 13:04:25 rhel8.lab.example.com dhclient[1483]: XMT: Solicit on br-ex, interval 3990ms.
Mar 11 13:04:29 rhel8.lab.example.com dhclient[1483]: XMT: Solicit on br-ex, interval 8020ms.
Mar 11 13:04:37 rhel8.lab.example.com dhclient[1483]: XMT: Solicit on br-ex, interval 15250ms.
Mar 11 13:04:53 rhel8.lab.example.com dhclient[1483]: XMT: Solicit on br-ex, interval 29690ms.
Mar 11 13:05:22 rhel8.lab.example.com dhclient[1483]: Max retransmission duration exceeded.
Mar 11 13:05:22 rhel8.lab.example.com network[1283]: + echo ' failed.'
Mar 11 13:05:22 rhel8.lab.example.com network[1283]:  failed.

  ^^^ It did run dhclient, but there was no respond.

Running the same dhclient command works ...

[root@rhel8 ~]# /sbin/dhclient -6 -1 -lf /var/lib/dhclient/dhclient6--br-ex.lease -pf /run/dhclient6-br-ex.pid br-ex -H rhel8

[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 2730sec preferred_lft 2730sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether fe:e6:5f:2d:a0:03 brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fd12:3456:789a:1::ad3c/128 scope global dynamic 
       valid_lft 655sec preferred_lft 595sec
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever

Comment 6 Harald Jensås 2020-03-11 12:36:14 UTC
Created attachment 1669261 [details]
output of command "journalctl -l -u network"

The output of command "journalctl -l -u network" with rc.debug enabled.


My gut feeling is that we try to run dhclient before the link-local address is up. Similar to: https://github.com/fedora-sysv/initscripts/pull/309.

Comment 7 Harald Jensås 2020-03-11 13:05:05 UTC
Created attachment 1669298 [details]
journal with rc.debug - and "scope global" removed in ipv6_wait_tentative()

I appliead https://github.com/fedora-sysv/initscripts/pull/309. It fixes the problem.



[root@rhel8 network-scripts]# reboot
Connection to rhel8.lab.example.com closed by remote host.
Connection to rhel8.lab.example.com closed.

[hjensas@hjensas ~]$ ssh root.example.com
root.example.com's password: 
Last login: Wed Mar 11 13:05:34 2020 from 192.168.122.1

[root@rhel8 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:83:7c:93 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.60/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3565sec preferred_lft 3565sec
    inet6 fe80::83da:1c14:aff5:2ca7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:d2:dd:a4:c3:9f brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 52:54:00:b6:aa:30 brd ff:ff:ff:ff:ff:ff
    inet6 fd12:3456:789a:1::ad3c/128 scope global dynamic 
       valid_lft 650sec preferred_lft 590sec
    inet6 fe80::5054:ff:feb6:aa30/64 scope link 
       valid_lft forever preferred_lft forever

Comment 10 Jan Macku 2020-03-11 16:52:52 UTC
This bug will be fixed in RHEL 8.3.0

Upstream PR: https://github.com/fedora-sysv/initscripts/pull/315

Comment 19 errata-xmlrpc 2020-11-04 01:41:25 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 (initscripts bug fix and enhancement update), 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-2020:4463