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

[Multi-NIC]EgressIP was not correctly reassigned when label/unlabel egress node

XMLWordPrintable

    • Important
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None
    • Hide
      * Previously, when using multiple NICS, egress IP addresses were not correctly reassigned to the correct egress node when when labeled or unlabeled. This bug has been fixed, and egress IP addresses are now reassigned to the correct egress node. (link:https://issues.redhat.com/browse/OCPBUGS-18162[(*OCPBUGS-17162*])
      Show
      * Previously, when using multiple NICS, egress IP addresses were not correctly reassigned to the correct egress node when when labeled or unlabeled. This bug has been fixed, and egress IP addresses are now reassigned to the correct egress node. (link: https://issues.redhat.com/browse/OCPBUGS-18162 [(* OCPBUGS-17162 *])
    • Bug Fix
    • Done

      Description of problem:

      [Multi-NIC]EgressIP was not correctly reassigned when label/unlabel egress node
      
      

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

      Tested PR openshift/cluster-network-operator#1969,openshift/ovn-kubernetes#1832
      together
      
      

      How reproducible:

      
      

      Steps to Reproduce:

      1.  Label worker-0 node as egress node, and create one egressip object
      # oc get egressip
      NAME         EGRESSIPS      ASSIGNED NODE   ASSIGNED EGRESSIPS
      egressip-1   172.22.0.100   worker-0        172.22.0.100
      
      2. Create another egressIP object, the egressIP located on  worker-0  as well.
      # oc get egressip
      NAME         EGRESSIPS      ASSIGNED NODE   ASSIGNED EGRESSIPS
      egressip-1   172.22.0.100   worker-0        172.22.0.100
      egressip-2   172.22.0.101   worker-0        172.22.0.101
      
      3. Checked secondary NIC on egress node, the two IPs were correctly added
      2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:da:86:9b:3e:ac brd ff:ff:ff:ff:ff:ff
          inet 172.22.0.86/24 brd 172.22.0.255 scope global dynamic noprefixroute enp1s0
             valid_lft 96sec preferred_lft 96sec
          inet 172.22.0.100/32 scope global enp1s0ovn
             valid_lft forever preferred_lft forever
          inet 172.22.0.101/32 scope global enp1s0ovn
             valid_lft forever preferred_lft forever
          inet6 fe80::2da:86ff:fe9b:3eac/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      
      4. Label another node worker-1 as egress node
      5. Delete egressip-2 and recreated it, egressip-2 is on worker-1  
      # oc get egressip
      NAME         EGRESSIPS      ASSIGNED NODE   ASSIGNED EGRESSIPS
      egressip-1   172.22.0.100   worker-0        172.22.0.100
      egressip-2   172.22.0.101   worker-1        172.22.0.101
      6. Unlabel egress from worker-1, 172.22.0.101 was reassigned to  worker-0 
      # oc get egressip
      NAME         EGRESSIPS      ASSIGNED NODE   ASSIGNED EGRESSIPS
      egressip-1   172.22.0.100   worker-0        172.22.0.100
      egressip-2   172.22.0.101   worker-0        172.22.0.101
      
      7, Check the  worker-0's and  worker-1' secondary NIC
      3.
      

      Actual results:

      EgressIP was not removed from worker-1
      # oc debug node/worker-1
      Starting pod/worker-1-debug-pw7xk ...
      To use host binaries, run `chroot /host`
      Pod IP: 192.168.111.24
      If you don't see a command prompt, try pressing enter.
      sh-4.4# ip a show enp1s0
      2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:da:86:9b:3e:b0 brd ff:ff:ff:ff:ff:ff
          inet 172.22.0.90/24 brd 172.22.0.255 scope global dynamic noprefixroute enp1s0
             valid_lft 115sec preferred_lft 115sec
          inet 172.22.0.101/32 scope global enp1s0ovn
             valid_lft forever preferred_lft forever
          inet6 fe80::2da:86ff:fe9b:3eb0/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      
      172.22.0.100 was missed from worker-0
      # oc debug node/worker-0
      Starting pod/worker-0-debug-8nz5f ...
      To use host binaries, run `chroot /host`
      Pod IP: 192.168.111.23
      If you don't see a command prompt, try pressing enter.
      sh-4.4# ip a show enp1s0
      2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:da:86:9b:3e:ac brd ff:ff:ff:ff:ff:ff
          inet 172.22.0.86/24 brd 172.22.0.255 scope global dynamic noprefixroute enp1s0
             valid_lft 68sec preferred_lft 68sec
          inet 172.22.0.101/32 scope global enp1s0ovn
             valid_lft forever preferred_lft forever
          inet6 fe80::2da:86ff:fe9b:3eac/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      
      

      Expected results:

      The egressIP should be correctly reassigned to correct egress node
      
      

      Additional info:

      
      

            mkennell@redhat.com Martin Kennelly
            huirwang Huiran Wang
            Huiran Wang Huiran Wang
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: