-
Bug
-
Resolution: Done
-
Normal
-
None
-
4.19.0
-
Quality / Stability / Reliability
-
False
-
-
None
-
None
-
No
-
None
-
Rejected
-
None
-
Done
-
Release Note Not Required
-
N/A
-
None
-
None
-
None
-
None
Description of problem: [BGP UDN pre-merge testing] in eBGP mode, UDN is not advertised 20 minutes after UDN RA was accepted
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1. Configured BGP in eBGP mode, and with default network successfully advertised, created a UDN namespace, and L3 UDN in the namespace, label the UDN with label app=udn that used in ra-udn.yaml
#oc get userdefinednetwork -A
NAMESPACE NAME AGE
e2e-test-udn-networking-8w3qt3q0-kw4fm udn-network-78349 56s
#oc get userdefinednetwork udn-network-78349 -n e2e-test-udn-networking-8w3qt3q0-kw4fm --show-labels
NAME AGE LABELS
udn-network-78349 71s app=udn
#oc get userdefinednetwork udn-network-78349 -n e2e-test-udn-networking-8w3qt3q0-kw4fm -oyaml
apiVersion: k8s.ovn.org/v1
kind: UserDefinedNetwork
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"k8s.ovn.org/v1","kind":"UserDefinedNetwork","metadata":{"annotations":{},"name":"udn-network-78349","namespace":"e2e-test-udn-networking-8w3qt3q0-kw4fm"},"spec":{"layer3":{"mtu":1400,"role":"Primary","subnets":[
]},"topology":"Layer3"}}
creationTimestamp: "2025-03-08T23:28:55Z"
finalizers:
- k8s.ovn.org/user-defined-network-protection
generation: 1
labels:
app: udn
name: udn-network-78349
namespace: e2e-test-udn-networking-8w3qt3q0-kw4fm
resourceVersion: "232212"
uid: a2697b46-725f-45e0-9eb8-fc8f86bc7c63
spec:
layer3:
mtu: 1400
role: Primary
subnets:
- cidr: 10.150.0.0/16
hostSubnet: 24
topology: Layer3
status:
conditions:
- lastTransitionTime: "2025-03-08T23:28:55Z"
message: NetworkAttachmentDefinition has been created
reason: NetworkAttachmentDefinitionCreated
status: "True"
type: NetworkCreated
- lastTransitionTime: "2025-03-08T23:28:55Z"
message: Network allocation succeeded for all synced nodes.
reason: NetworkAllocationSucceeded
status: "True"
type: NetworkAllocationSucceeded
2. Applied a second ra-udn.yaml with networkSelector to select the UDN created in step 1
—
kind: List
apiVersion: v1
metadata: {}
items:
- apiVersion: k8s.ovn.org/v1
kind: RouteAdvertisements
metadata:
name: udn
spec:
advertisements:
- PodNetwork
- EgressIP
networkSelector:
matchLabels:
app: udn
3. UDN RA was accepted after waiting between 2-3 minutes
#oc get ra -A
NAME STATUS
default Accepted
ra-udn Accepted
4. After UDN RA is accepted, waited another 12 minutes, UDN was not advertised
#sudo podman exec -it aa60d26fc82b /bin/sh
/ # date; ip route show | grep bgp
Sun Mar 9 16:40:55 UTC 2025
10.128.0.0/23 via 192.168.111.22 dev offloadbm proto bgp metric 20
10.128.2.0/23 via 192.168.111.23 dev offloadbm proto bgp metric 20
10.129.0.0/23 via 192.168.111.20 dev offloadbm proto bgp metric 20
10.129.2.0/23 via 192.168.111.25 dev offloadbm proto bgp metric 20
10.130.0.0/23 via 192.168.111.21 dev offloadbm proto bgp metric 20
10.130.2.0/23 via 192.168.111.40 dev offloadbm proto bgp metric 20
10.131.0.0/23 via 192.168.111.24 dev offloadbm proto bgp metric 20
10.131.2.0/23 via 192.168.111.47 dev offloadbm proto bgp metric 20
/ # date; ip route show | grep bgp
Sun Mar 9 16:51:26 UTC 2025
10.128.0.0/23 via 192.168.111.22 dev offloadbm proto bgp metric 20
10.128.2.0/23 via 192.168.111.23 dev offloadbm proto bgp metric 20
10.129.0.0/23 via 192.168.111.20 dev offloadbm proto bgp metric 20
10.129.2.0/23 via 192.168.111.25 dev offloadbm proto bgp metric 20
10.130.0.0/23 via 192.168.111.21 dev offloadbm proto bgp metric 20
10.130.2.0/23 via 192.168.111.40 dev offloadbm proto bgp metric 20
10.131.0.0/23 via 192.168.111.24 dev offloadbm proto bgp metric 20
10.131.2.0/23 via 192.168.111.47 dev offloadbm proto bgp metric 20
Actual results: UDN is not advertised with eBGP
Expected results: UDN should be advertised with eBGP
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
- internal CI failure
- customer issue / SD
- 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