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

[BGP pre-merge] UDN pod can access default network nodeport service with ETP=local on same node on SGW

    • Important
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      without BGP UDN advertised: 

      UDN pod cannot access default network by nodePort service with ETP=local on same node

      After BGP UDN advertised to default VRF

      UDN pod can access default network by nodePort service with ETP=local on same node

       

      # oc rsh -n z9 test-rc-ncfg7 ip a 
      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: eth0@if154: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default 
          link/ether 0a:58:0a:81:02:14 brd ff:ff:ff:ff:ff:ff link-netnsid 0
          inet 10.129.2.20/23 brd 10.129.3.255 scope global eth0
             valid_lft forever preferred_lft forever
          inet6 fd01:0:0:5::14/64 scope global 
             valid_lft forever preferred_lft forever
          inet6 fe80::858:aff:fe81:214/64 scope link 
             valid_lft forever preferred_lft forever
      3: ovn-udn1@if155: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1300 qdisc noqueue state UP group default 
          link/ether 0a:58:28:64:02:05 brd ff:ff:ff:ff:ff:ff link-netnsid 0
          inet 40.100.2.5/24 brd 40.100.2.255 scope global ovn-udn1
             valid_lft forever preferred_lft forever
          inet6 fe80::858:28ff:fe64:205/64 scope link 
             valid_lft forever preferred_lft forever
      
      
       oc get pod -n z9 -o wide
      NAME            READY   STATUS    RESTARTS   AGE   IP            NODE                                 NOMINATED NODE   READINESS GATES
      test-rc-gg5d2   1/1     Running   0          17h   10.128.2.31   worker-0.core.openshift-qe.sdn.com   <none>           <none>
      test-rc-ncfg7   1/1     Running   0          17h   10.129.2.20   worker-2                             <none>           <none> 
      
      ####there is nodePort svc with ETP=local on default network namespace z0 #
      
      # oc get svc -n z0 hello-pod -o yaml
      apiVersion: v1
      kind: Service
      metadata:
        creationTimestamp: "2025-03-06T02:49:04Z"
        labels:
          name: hello-pod
        name: hello-pod
        namespace: z0
        resourceVersion: "676086"
        uid: 46b4191b-bec4-4aa8-97fc-fa6035e8382e
      spec:
        clusterIP: 172.30.225.251
        clusterIPs:
        - 172.30.225.251
        externalTrafficPolicy: Local
        internalTrafficPolicy: Cluster
        ipFamilies:
        - IPv4
        ipFamilyPolicy: SingleStack
        ports:
        - name: http
          nodePort: 32705
          port: 27017
          protocol: TCP
          targetPort: 8080
        selector:
          name: test-pods
        sessionAffinity: None
        type: NodePort
      status:
        loadBalancer: {}
      
      ********************
      
      ############without BGP UDN adverstie,  udn can access nodeport with different network on different node. but not different network on same node. see case 8 and 9 in https://docs.google.com/document/d/12ITKApvttTi2AO0bYGVwZGXFazLBNTcoLlmNmIXs9zI/edit?tab=t.0
      
      # oc get pod -n z0 -o wide
      NAME            READY   STATUS    RESTARTS   AGE   IP            NODE                                 NOMINATED NODE   READINESS GATES
      test-rc-772wm   1/1     Running   0          17h   10.129.2.24   worker-2                             <none>           <none>
      test-rc-dw7ww   1/1     Running   0          17h   10.128.2.32   worker-0.core.openshift-qe.sdn.com   <none>     
            <none>
      # oc rsh -n z9 test-rc-ncfg7 curl 192.168.111.25:32705
      ^Ccommand terminated with exit code 130
      
      # oc rsh -n z9 test-rc-ncfg7 curl 192.168.111.23:32705
      Hello OpenShift!
      
      
      ######## After UDN advertised both two can be accessed on SGW #############
      
      # oc rsh -n z9 test-rc-ncfg7 curl 192.168.111.23:32705
      Hello OpenShift!
      
      # oc rsh -n z9 test-rc-ncfg7 curl 192.168.111.25:32705
      Hello OpenShift!
      
      
      

       

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

      How reproducible:

      Steps to Reproduce:

      1.

      2.

      3.

      Actual results:

      Expected results:

      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

              jcaamano@redhat.com Jaime Caamaño Ruiz
              zzhao1@redhat.com Zhanqi Zhao
              Zhanqi Zhao Zhanqi Zhao
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: