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

Implement a branching strategy for ovn-kubernetes to manage extended lifecycles for OpenShift

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • Extended Lifecycle - Branching Strategy for OVN Kubernetes
    • False
    • None
    • False
    • Not Selected
    • To Do
    • 63% To Do, 13% In Progress, 25% Done
    • ---
    • 0
    • 0

      Template:

      Networking Definition of Planned

      Epic Template descriptions and documentation

       

      Epic Goal

      To implement a branching strategy for OVN Kubernetes downstream repository that will allow us to sustainably support longer lifecycles for OpenShift releases while ensuring we can deliver features at a reasonable velocity.

      Why is this important?

      OpenShift as a product is entering into a phase where customers expect more stability and longer lifecycle support. This translates to a requirement to support upto 9 releases at any given point in time. The way we think about backporting bug fixes into older releases needs to change to sustainably support this.

       

      Proposal doc: https://docs.google.com/document/d/1XcjjbNss_ROd9vVMng1i6GivvPpzra2SvPuz4IUrMDo/edit

      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.

       

      Summary of the overall plan:

      • We will keep a year’s worth of branches sync’d together except vendor code.
      • Vendor code will be bumped as a part of kube rebase and we won’t pull in z-streams of kube versions (similar to what we do today), unless there are CVE fixes.
      • A sandbox branch (with CI on it) will track the latest code on top of previously stable code branch. For example, for release N, it will track N-1 release code + changes that are going into release N (minus the vendor code).
      • At some point when release N has been out for a while, we will forward N-1 and N-2 branches to the same pkg code as release N. 
      • From that point on, all the N-1, and N-2 branches will keep getting autoforwarded on a regular basis.
      • For the first merge into N-1 and N-2, we at least need a PR, and we need QE, and CI signal on it. There needs to be a jira created additionally to track that work.
      • What is QE appetite for autoforwarding vs. raising merge PRs that they will pre-test?
      • Need at least a nightly signal to keep bisecting autoforwarded commits on failures and a mechanism to pause the autoforwarding scripts when such a degradation happens.

      Dependencies (internal and external)

      1. QE, ART, DPTP

      ...

      Previous Work (Optional):

      1. …

      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>

              jluhrsen Jamo Luhrsen
              anbhat Aniket Bhat
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: