-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
4.15
-
Important
-
None
-
Rejected
-
False
-
-
Description of problem:
For every new VLAN referenced in localnet NetworkAttachmentDefinition, a new bridge mapping with a unique localnet name must be configured on hosts, using NodeNetworkConfigurationPolicy.
IIUIC this limitation is only imposed by OVN Kubernetes. OVN itself would allow us to reference a single localnet name (set on host) from different localnet ports (set on OVN).
This impacts UX and scalability:
Without this limitation, admins could simply configure a single mapping (e.g. to br-ex) on day-1, and then any time a new VLAN would be requested, all they need to do is to create a NetworkAttachmentDefinition. With this limitation, every new VLAN requires them to reconfigure host network using nmstate, which is slower and potentially disruptive process.
With the requirement to have a single mapping per VM, high number of VLANs may cause problems. Customers who use hundreds or thousands of VLANs (e.g. to uniquely mark a Pod, so its traffic can be identified by a DPU), would need to enter thousands of mappings into every host's bridge-mapping database.
Version-Release number of selected component (if applicable):
OCP 4.15
How reproducible:
Always
Steps to Reproduce:
1. Configure bridge mapping
apiVersion: nmstate.io/v1 kind: NodeNetworkConfigurationPolicy metadata: name: mapping spec: nodeSelector: node-role.kubernetes.io/worker: '' desiredState: ovn: bridge-mappings: - localnet: localnet-br-ex bridge: br-ex state: present
2. Request it from a network
{ "cniVersion": "0.3.1", "name": "localnet-br-ex", "type": "ovn-k8s-cni-overlay", "topology":"localnet", "vlanID": 100, "netAttachDefName": "ns1/localnet-network" }
3. Request it from another network with a different VLAN
{ "cniVersion": "0.3.1", "name": "localnet-br-ex", "type": "ovn-k8s-cni-overlay", "topology":"localnet", "vlanID": 200, "netAttachDefName": "ns2/localnet-network" }
Actual results:
It fails, not allowing the user to have two NADs with the same name but different config.
Expected results:
It should work. Localnet should be reference through a different attribute other than "name", allowing me to re-use the same mapping name from different VLANs.
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.
I would expect to the API to look something like this:
apiVersion: nmstate.io/v1 kind: NodeNetworkConfigurationPolicy metadata: name: mapping spec: nodeSelector: node-role.kubernetes.io/worker: '' desiredState: ovn: bridge-mappings: - localnet: localnet-br-ex bridge: br-ex state: present
{ "cniVersion": "0.3.1", "name": "localnet100", "type": "ovn-k8s-cni-overlay", "topology":"localnet", "vlanID": 100, "netAttachDefName": "ns1/localnet-network", "localnetName": "localnet-br-ex" # <<<< This is new }
{ "cniVersion": "0.3.1", "name": "localnet200", "type": "ovn-k8s-cni-overlay", "topology":"localnet", "vlanID": 200, "netAttachDefName": "ns2/localnet-network", "localnetName": "localnet-br-ex" # <<<< This is new }
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.
- Please provide must-gather and sos-report with an exact link to the comment in the support case with the attachment. The format should be: https://access.redhat.com/support/cases/#/case/<case number>/discussion?attachmentId=<attachment id>
- Describe what each 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.
- 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, labels with "sbr-untriaged"
- Note: bugs that do not meet these minimum standards will be closed with label "SDN-Jira-template"
- depends on
-
SDN-5317 Allow a single `bridge-mapping` to be referenced from multiple different UDNs
- Closed
- links to