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

OVN br-int flows do not get updated on other nodes when a nodes bond MACADDR is changed to other slave interface after reboot.

XMLWordPrintable

    • Important
    • No
    • False
    • Hide

      None

      Show
      None
    • Hide
      * Previously, when a MAC address changed on the physical interface being used by OVN-Kubernetes, it would not be updated correctly within OVN-Kubernetes and could cause traffic disruption and Kube API outages from the node for a prolonged period of time. This was most common when a bond interface was being used, where the MAC address of the bond might swap depending on which device was the first to come up.
      +
      With this update, OVN-Kubernetes dynamically detects MAC address changes and updates it correctly. (link:https://issues.redhat.com/browse/OCPBUGS-18716[*OCPBUGS-18716*])
      Show
      * Previously, when a MAC address changed on the physical interface being used by OVN-Kubernetes, it would not be updated correctly within OVN-Kubernetes and could cause traffic disruption and Kube API outages from the node for a prolonged period of time. This was most common when a bond interface was being used, where the MAC address of the bond might swap depending on which device was the first to come up. + With this update, OVN-Kubernetes dynamically detects MAC address changes and updates it correctly. (link: https://issues.redhat.com/browse/OCPBUGS-18716 [* OCPBUGS-18716 *])
    • Bug Fix
    • Done

      Description of problem:

      OVN br-int ovs flows do not get updated on other nodes when a nodes bond MACADDR is changed to other slave interface after reboot. This causes network traffic coming for the sdn of one node to get dropped when it hits the node that changed mac addresses on its bond interface.  
      
      

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

      How reproducible: 100% of the time after rebooting if the mac changes. mac does not always change.

      Steps to Reproduce:

      1. Capture bond0 mac before reboot
      2. Reboot host
      3. Confirm mac change
      4.  oc run --rm -it test-pod-sdn --image=registry.redhat.io/openshift4/network-tools-rhel8  --overrides='{"spec": {"tolerations": [{"operator": "Exists"}],"nodeSelector":{"kubernetes.io/hostname":"nodeb-not-rebooted"}}}' /bin/bash
      5. Ping rebooted node
      
      

      Actual results:

      ping hits rebooted node but is dropped because the MAC address is of other slave interface and not the one bond is using. 
      
      

      Expected results:

      OVS flows to update on all nodesafter reboot if MAC changes 
      

      Additional info:

        If we restart NetworkManager a couple times this triggers OVS flows to get updated, not sure why. 
      
      Possible workarounds 
       -  https://access.redhat.com/solutions/6972925
       - Statically set the mac of bond0 to one of the slave interfaces. 
      

              trozet@redhat.com Tim Rozet
              rhn-support-rhowe Ryan Howe
              Ross Brattain Ross Brattain
              Votes:
              0 Vote for this issue
              Watchers:
              18 Start watching this issue

                Created:
                Updated:
                Resolved: