Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-4730

ovs-configuration cannot read actual NetworkManager DHCP values

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 4.13
    • None
    • Important
    • SDN Sprint 233, SDN Sprint 234, SDN Sprint 235
    • 3
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      OVN ovs-configuration moves the default device into br-ex. We copy the nmcli DHCP settings from the default device to br-ex.

      ++ nmcli --get-values ipv4.dhcp-client-id conn show a661c652-5ada-3efd-9deb-f73f9d08a896
      + dhcp_client_id=
      

      nmcli does not seem to show the actual current DHCP values.

      We set NetworkManager values in /etc/NetworkManager/conf.d/ files for DHCP according to https://access.redhat.com/solutions/6747451

      nmcli issue is an NetworkManager issue https://bugzilla.redhat.com/show_bug.cgi?id=2152601

      There may be ovs-configuration workarounds

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

      
      4.13.0-0.nightly-2022-12-07-144237
      
      
      

      How reproducible:
      Always

      Steps to Reproduce:

      Following https://access.redhat.com/solutions/6747451

      1. 
      cat <<EOF > /etc/NetworkManager/conf.d/99-client-id.conf
      [connection-bond0]
      match-device=interface-name:=bond0,interface-name:=br-ex
      ipv4.dhcp-client-id=01:$(cat /sys/class/net/enp5s0/address)
      ipv6.dhcp-duid=00:03:00:01:$(cat /sys/class/net/enp5s0/address)
      EOF
      2. reboot
      3. nmcli --get-values ipv4.dhcp-client-id conn show
      4. nmcli c show bond0 | grep 'dhcp.*id'
      5. journalctl -u ovs-configuration | grep dhcp
      
      

      Actual results:

      
      # nmcli --get-values ipv4.dhcp-client-id conn show bond0 | od -c
      0000000  \n
      0000001
      
      
      # nmcli c show bond0 | grep 'dhcp.*id'
      ipv4.dhcp-client-id:                    --
      ipv4.dhcp-iaid:                         --
      ipv4.dhcp-vendor-class-identifier:      --
      ipv6.dhcp-duid:                         --
      ipv6.dhcp-iaid:                         --
      
      The TRACE logs show actual values
      
      Dec 09 00:39:48 master-0-0 NetworkManager[1373]: <debug> [1670546388.9265] CONFIG:   ipv4.dhcp-client-id=mac
      Dec 09 00:39:48 master-0-0 NetworkManager[1373]: <debug> [1670546388.9265] CONFIG:   ipv6.dhcp-duid=ll
      Dec 09 00:39:48 master-0-0 NetworkManager[1373]: <debug> [1670546388.9265] CONFIG:   ipv6.dhcp-iaid=mac
      Dec 09 00:39:48 master-0-0 NetworkManager[1373]: <debug> [1670546388.9265] CONFIG:   ipv4.dhcp-client-id=01:52:54:00:56:88:e5
      Dec 09 00:39:48 master-0-0 NetworkManager[1373]: <debug> [1670546388.9265] CONFIG:   ipv6.dhcp-duid=00:03:00:01:52:54:00:56:88:e5
      Dec 09 00:40:10 master-0-0 NetworkManager[1373]: <debug> [1670546410.3974] device[2818202ed4949e8f] (bond0): ipv4.dhcp-client-id: use "01:52:54:00:56:88:e5" client ID: 01:52:54:00:56:88:e5
      Dec 09 00:40:12 master-0-0 NetworkManager[1373]: <debug> [1670546412.1798] device[2818202ed4949e8f] (bond0): ipv6.dhcp-iaid: using 7424379 (0x0071497b) IAID (str: 'mac', explicit 1)
      Dec 09 00:40:12 master-0-0 NetworkManager[1373]: <debug> [1670546412.1798] device[2818202ed4949e8f] (bond0): ipv6.dhcp-duid: generate 00:03:00:01:52:54:00:56:88:e5 DUID '00:03:00:01:52:54:00:56:88:e5' (enforcing)
      Dec 09 00:40:12 master-0-0 NetworkManager[1373]: <trace> [1670546412.1798] dhcp6 (bond0): duid: set 00:03:00:01:52:54:00:56:88:e5
      
      
      

      Expected results:

      
      # nmcli c show bond0 | grep 'dhcp.*id'
      ipv4.dhcp-client-id:                    01:52:54:00:56:88:e5
      ipv4.dhcp-iaid:                         --
      ipv4.dhcp-vendor-class-identifier:      --
      ipv6.dhcp-duid:                         00:03:00:01:52:54:00:56:88:e5
      ipv6.dhcp-iaid:                         --
      
      

      br-ex is configured with the actual DHCP setting in use.

      Additional info:

      ovs-configuration logs

      
      
      
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2720]: ++ ip -j a show dev bond0
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2721]: ++ jq '.[0].addr_info | map(. | select(.family == "inet6" and .scope != "link")) | length'
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + num_ip6_addrs=1
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + '[' 1 -gt 0 ']'
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + extra_if_brex_args+='ipv6.may-fail no '
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2722]: ++ nmcli --get-values ipv4.dhcp-client-id conn show a661c652-5ada-3efd-9deb-f73f9d08a896
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + dhcp_client_id=
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + '[' -n '' ']'
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2726]: ++ nmcli --get-values ipv6.dhcp-duid conn show a661c652-5ada-3efd-9deb-f73f9d08a896
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + dhcp6_client_id=
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2397]: + '[' -n '' ']'
      Dec 08 03:47:47 master-0-0 configure-ovs.sh[2730]: ++ nmcli --get-values ipv6.addr-gen-mode conn show a661c652-5ada-3efd-9deb-f73f9d08a896
      Dec 08 03:47:48 master-0-0 configure-ovs.sh[2397]: + ipv6_addr_gen_mode=eui64
      Dec 08 03:47:48 master-0-0 configure-ovs.sh[2397]: + '[' -n eui64 ']'
      
      
      

            jcaamano@redhat.com Jaime CaamaƱo Ruiz
            rbrattai@redhat.com Ross Brattain
            Ross Brattain Ross Brattain
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: