Uploaded image for project: 'OpenShift SDN'
  1. OpenShift SDN
  2. SDN-5313

Universal connectivity: Localnet

XMLWordPrintable

    • cudn-localnet
    • Strategic Portfolio Work
    • False
    • None
    • False
    • Not Selected
    • To Do
    • OCPSTRAT-1613 - Enhance User Defined Networks: Add support for Services(Full), EIP(Full), NetPol: GA
    • 60% To Do, 27% In Progress, 13% Done
    • ---
    • 0
    • 0

      Template:

      Networking Definition of Planned

      Epic Template descriptions and documentation

      Epic Goal

      Provide quality user experience for customers connecting their Pods and VMs to the underlying physical network through OVN Kubernetes localnet.

      Why is this important?

      The most common network setup used by VMs in OpenShift Virtualization is connection directly to the underlying physical network, with or without a VLAN. OpenShift only provides L2 connectivity to that network, all the other network services are provided by the customer's network.

      Historically, this functionality was achieved through bridge CNI. However, since OCP 4.15, we started recommending OVN Kubernetes localnet - to be able to easily connect to the network behind br-ex, and to get advanced functionality such as MultiNetworkPolicies.

      Unfortunately, the user experience of OVN Kubernetes localnet is poor. See PLMCORE-10896 to find more information about these issues.

      Since configuring the local network and connecting a VM to it is one of the first and most common of operations done by our customers, we must make sure that it works flawlessly.

      Planning Done Checklist

      The following items must be completed on the Epic prior to moving the Epic from Planning to the ToDo status

      • Priority+ is set by engineering
      • Epic must be Linked to a +Parent Feature
      • Target version+ must be set
      • Assignee+ must be set
      • (Enhancement Proposal is Implementable
      • (No outstanding questions about major work breakdown
      • (Are all Stakeholders known? Have they all been notified about this item?
      • Does this epic affect SD? {}Have they been notified{+}? (View plan definition for current suggested assignee)
        1. Please use the “Discussion Needed: Service Delivery Architecture Overview” checkbox to facilitate the conversation with SD Architects. The SD architecture team monitors this checkbox which should then spur the conversation between SD and epic stakeholders. Once the conversation has occurred, uncheck the “Discussion Needed: Service Delivery Architecture Overview” checkbox and record the outcome of the discussion in the epic description here.
        2. The guidance here is that unless it is very clear that your epic doesn’t have any managed services impact, default to use the Discussion Needed checkbox to facilitate that conversation.

      Additional information on each of the above items can be found here: Networking Definition of Planned

      Acceptance Criteria

      • CI - MUST be running successfully with tests automated
      • Release Technical Enablement - Provide necessary release enablement
        details and documents.
      • OVN Kubernetes secondary networks with the localnet topology can be created through ClusterUserDefinedNetworks
      • When possible, user input is validated and any configuration issue is shown on the UDN. Alternatively some issues can be shown on CNI ADD events on Pod
      • Definition of these networks can be changed even if there are Pods connected to them. When that happens, the UDN is marked as degraded until all the "old" pods are gone
      • A single "bridge-mappings" "localnet" can be referenced from multiple different UDNs
      • Pod requesting UDN without a VLAN is able to connect to services running on the host's network
      • The default MTU set for localnet is 1500
      • (stretch) The "physnet" mapping is a "supported API" and available to users - so they can connect to the machine network without a need to configure a custom bridge-mapping
      • (stretch) Scheduling is managed by the platform - if a UDN requests a localnet (as in bridge-mappins.localnet), the Pod requesting this UDN will be only scheduled on a node with this resource available. This can use the same mechanism as the SR-IOV operator - combination of device plugins and "k8s.v1.cni.cncf.io/resourceName" annotation

      Dependencies (internal and external)

      1. None

      Previous Work (Optional):

      1. SDN-3790
      2. CNV-24261

      Open questions::

      1. …

      Done Checklist

      • CI - CI is running, tests are automated and merged.
      • Release Enablement <link to Feature Enablement Presentation>
      • DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
      • DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
      • DEV - Downstream build attached to advisory: <link to errata>
      • QE - Test plans in Polarion: <link or reference to Polarion>
      • QE - Automated tests merged: <link or reference to automated tests>
      • DOC - Downstream documentation merged: <link to meaningful PR>

              pdiak@redhat.com Patryk Diak
              phoracek@redhat.com Petr Horacek
              Qiong Wang Qiong Wang
              Jason Boxman Jason Boxman
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated: