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

[BGP EIP L2] pod cannot access external agnhost service by BGP router after advertise L2 and EIP

XMLWordPrintable

    • Critical
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem: after advertise L2 and EIP, pod cannot access external agnhost service by BGP router

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

      How reproducible:

      Steps to Reproduce:

      1. setup BGP router (192.168.111.3) and external agnhost service(172.20.0.100)
      2. advertise l2 and create l2 pod with EIP label

      $ oc get pods -n udn-ns1 -owide
      NAME         READY   STATUS    RESTARTS   AGE   IP            NODE                                 NOMINATED NODE   READINESS GATES
      hello-pod1   1/1     Running   0          31m   10.128.0.28   worker-0.core.openshift-qe.sdn.com   <none>           <none>
      

      3. create a EIP object and advertise it

      $ oc get egressip
      NAME       EGRESSIPS         ASSIGNED NODE                        ASSIGNED EGRESSIPS
      egressip   192.168.111.200   worker-0.core.openshift-qe.sdn.com   192.168.111.200
      

      4. verify pod to external agnhost service(ip: 172.20.0.100)

      $ podman exec agnhost netstat -tuln
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       
      tcp        0      0 :::8000                 :::*                    LISTEN      
      udp        0      0 :::8081                 :::*      
      
      $ oc exec -n udn-ns1 hello-pod1 -- curl 172.20.0.100:8000 --connect-timeout 5
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
        0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
      curl: (28) Connection timeout after 5000 ms
      command terminated with exit code 28
      
      // tcpdump
      sh-5.1# tcpdump -c 2 -nni enp2s0 host 172.20.0.100
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on enp2s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
      03:21:05.727485 IP 192.168.111.200.57934 > 172.20.0.100.8000: Flags [S], seq 3719986962, win 65280, options [mss 1360,sackOK,TS val 2638948065 ecr 0,nop,wscale 7], length 0
      03:21:06.741189 IP 192.168.111.200.57934 > 172.20.0.100.8000: Flags [S], seq 3719986962, win 65280, options [mss 1360,sackOK,TS val 2638949080 ecr 0,nop,wscale 7], length 0
      2 packets captured
      2 packets received by filter
      0 packets dropped by kernel
      

      Actual results: pod cannot access external agnhost service by BGP router

      Expected results: pod should access external agnhost service by BGP router

      Additional info:

      Please fill in the following template while reporting a bug and provide as much relevant information as possible. Doing so will give us the best chance to find a prompt resolution.

      Affected Platforms:

      Is it an

      1. internal CI failure
      2. customer issue / SD
      3. internal RedHat testing failure

      If it is an internal RedHat testing failure:

      • Please share a kubeconfig or creds to a live cluster for the assignee to debug/troubleshoot along with reproducer steps (specially if it's a telco use case like ICNI, secondary bridges or BM+kubevirt).

      If it is a CI failure:

      • Did it happen in different CI lanes? If so please provide links to multiple failures with the same error instance
      • Did it happen in both sdn and ovn jobs? If so please provide links to multiple failures with the same error instance
      • Did it happen in other platforms (e.g. aws, azure, gcp, baremetal etc) ? If so please provide links to multiple failures with the same error instance
      • When did the failure start happening? Please provide the UTC timestamp of the networking outage window from a sample failure run
      • If it's a connectivity issue,
      • What is the srcNode, srcIP and srcNamespace and srcPodName?
      • What is the dstNode, dstIP and dstNamespace and dstPodName?
      • What is the traffic path? (examples: pod2pod? pod2external?, pod2svc? pod2Node? etc)

      If it is a customer / SD issue:

      • Provide enough information in the bug description that Engineering doesn’t need to read the entire case history.
      • Don’t presume that Engineering has access to Salesforce.
      • Do presume that Engineering will access attachments through supportshell.
      • Describe what each relevant attachment is intended to demonstrate (failed pods, log errors, OVS issues, etc).
      • Referring to the attached must-gather, sosreport or other attachment, please provide the following details:
        • If the issue is in a customer namespace then provide a namespace inspect.
        • If it is a connectivity issue:
          • What is the srcNode, srcNamespace, srcPodName and srcPodIP?
          • What is the dstNode, dstNamespace, dstPodName and dstPodIP?
          • What is the traffic path? (examples: pod2pod? pod2external?, pod2svc? pod2Node? etc)
          • Please provide the UTC timestamp networking outage window from must-gather
          • Please provide tcpdump pcaps taken during the outage filtered based on the above provided src/dst IPs
        • If it is not a connectivity issue:
          • Describe the steps taken so far to analyze the logs from networking components (cluster-network-operator, OVNK, SDN, openvswitch, ovs-configure etc) and the actual component where the issue was seen based on the attached must-gather. Please attach snippets of relevant logs around the window when problem has happened if any.
      • When showing the results from commands, include the entire command in the output.  
      • For OCPBUGS in which the issue has been identified, label with “sbr-triaged”
      • For OCPBUGS in which the issue has not been identified and needs Engineering help for root cause, label with “sbr-untriaged”
      • Do not set the priority, that is owned by Engineering and will be set when the bug is evaluated
      • Note: bugs that do not meet these minimum standards will be closed with label “SDN-Jira-template”
      • For guidance on using this template please see
        OCPBUGS Template Training for Networking  components

              pliurh Peng Liu
              rh-ee-meinli Meina Li
              Meina Li Meina Li
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: