BIER: Oxygen: Release Plan

Contents

Introduction

In the Oxygen release the BIER project is aimed to support some functionalities like BierApp, OAM and BIER-TE configuration and managment.It is compatible with BIER functionalities in Nitrogen release.

Release Deliverables

Name

Description

Name

Description

BIER/BIER-TE BierMan Manage

Manage BIER and BIER-TE Topology information and configuration of the BIER domain.



BIER/BIER-TE Channel Manage

Manage channel information and configuration received from multicast flow overlay protocol(BGP/PIM/MLD).



BIER/BIER-TE Service Manage

Manage the BIER and BIER-TE proceduce between controller and BFR nodes which using netconf protocol.



BIER-TE PCE Manage

Manage BIER-TE paths information and compute the optimal paths from BFIR to BFERs.



BIER/BIER-TE OAM Manage

Manage BIER OAM information and compute the optimal paths from BFIR to BFERs.



BIER/BIER-TE BierApp Manage

Manage BIER UI, show topology and configure BIER/BIER-TE and channel.



BIER/BIER-TE Driver

Provide south-bound netconf interface for BIER and BIER-TE,it has implemented standard interface(ietf-bier and ietf-bier-te).

Release Milestones

  • Offset: 2

Milestone

Offset 2 Date2

Events

Milestone

Offset 2 Date2

Events

M0

9/7/2017

Oxygen Simultaneous Release Open

  1. Contact Freeze

    • Projects must have declared intent to participate in Simultaneous Release

    • Projects must have elected their Project Leads and specify a Test Contact

    • Participating Projects must have published a candidate Release Plan for public comment ( Release Plan Template )

  • Note: the date for M0 will normally be at least one day after the TSC approves the Oxygen release plan.

  • Note that the release plan includes details about negotiating inter-project dependencies, expectations, and incompatibilities.

Last call for project proposals

9/28/2017

  1. This is the latest date a project proposal can be sent to the project-proposals list and still have the required two week public comment period before its project creation review at the last TSC meeting before the M1/M2/M3 milestone. Project proposals submitted after this date will not be able to become formal projects by M1/M2/M3 and thus will not be able to participate in the Oxygen release.3

M1

10/21/2017

  1. Participating Projects must have declared their final Release Plan with all sections fully completed.

  2. Projects that need extra configuration or resources other than those available in the OpenDaylight CI infrastructure must have opened helpdesk tickets to add them.

  3. Project Checklist completed (for all projects, not just new ones).

  4. Projects may apply for a system test waiver if they think they have top-level features not requiring system test or covered by other top-level features test.

  5. Projects must specify whether they plan to use OpenDaylight CI infrastructure for system test. It is recommended to use the OpenDaylight CI infrastructure unless there is some HW or SW resource that cannot be installed there. Projects running system test in external Labs are required to report system test results in a timely fashion after release creations, e.g., weekly, RC, and formal releases.

  6. Project must get acknowledged from all projects that it depends on.

M2

11/21/2017

  1. Feature/Functionality Freeze

    • Final list of externally consumable APIs defined and documented

      • Projects must state for each TENTATIVE API they have (if any) whether they are formally planning to deliver it.

        • If so, it should be noted that it will be delivered.

        • If not projects requesting the API must be informed so that they can take corrective actions.

      • Externally consumable APIs are available at beta-quality

    • All inter-project dependencies are resolved (all project functionality is declared as either "In" or "Out" of this release)

  2. Karaf Features defined

    • Instructions can be found in the Karaf:Step by Step Guide

      • Each feature should be tested in every appropriate jenkins job (at least -verify, -merge, and -integration) using the "SingleFeatureTest" as defined in the Karaf step-by-step guide

    • Any feature repositories containing features intended for release must be added to the main features.xml file in the integration git repository as explained in the Karaf step-by-step guide

      • Projects must have a distribution job to verify changes in code do not impact the integration distribution (this will be automatically setup by the releng/builder group).

    • Features that are intended to be "top-level", "user-facing" and/or "stable" must be called out in the milestone readout. These features will have additional requirements:

    • Changing the name of a Karaf feature or removing a Karaf feature should be handled via an API freeze waiver after this point

  3. Documentation Started

    • Identified the kinds of documentation to be provided, created AsciiDoc files for them with outlines, and committed those files in an appropriate location. (See the documentation requirements section above for more details.)

  4. Feature Test Started

M3

12/21/2017

  1. API Freeze: See more information in the definition above.

  2. Documentation:

    • Project readouts MUST include a word count of each relevant .adoc file with a goal of draft documentation done.

  3. Projects are encouraged to meet the requirements to be included in maven central

    • Project readout MUST include whether or not this was accomplished

  4. Feature Test Continues

    • Participating projects Projects must have all extra SW configuration and resources required for system test installed in the OpenDaylight CI4. More information in How To Install SW in CI.

M4

1/21/2018

  1. Code Freeze (bug fixes only from here as defined above)

  2. Stability branch, i.e., stable/oxygen, must be cut and local project versions bumped on master to avoid overwriting Oxygen SNAPSHOTS

  3. String Freeze (all externally visible strings frozen to allow for translation & documentation)

  4. Documentation Complete: Only editing and and enhancing should take place after this point.

  5. Feature Test Complete

    • Stable features should fulfill quality requirements listed in definitions section

    • Projects must run at least one basic automated system test job for each top-level feature and several automated system test jobs including functionality, cluster, scalability, performance, longevity/stability for each stable feature4.

RC0

2/7/2018

  1. The build for RC0 will start at 23:59:59 UTC

    • At the start of the build for RC0, all projects must be in the distribution and autorelease.

      • Between M4 for offset 2 projects and RC0 is a two week period for projects to finish adding to Oxygen Integration Distribution and Oxygen Autorelease and for projects to fix any errors in the Oxygen Autorelease Jenkins Build Job. At the beginning of this two week period, projects are given two week notice of potential drop. Projects that have not been successfully added to the Integration Distribution and Autorelease are dropped from the release. At the end of this two week period, we release RC0 for projects to begin their initial testing. At this time, all projects participating in the release must be in the distribution and autorelease.

  2. During the RC process, regular, e.g., daily, IRC meetings may take place to identify and address issues

  3. During the RC process, blocking bugs will be tracked in bugzilla and a common spreadsheet

RC1

2/14/2018

  1. The build for RC1 will start at 23:59:59 UTC

    • At the start of the build for RC1, all stable/oxygen branches will be locked and only release engineering staff will be able to merge patches.

  2. During the RC process, regular, e.g., daily, IRC meetings may take place to identify and address issues

  3. During the RC process, blocking bugs will be tracked in bugzilla and a common spreadsheet

RC2

2/21/2018

  1. The build for RC2 will start at 23:59:59 UTC

    • At the start of the build for RC2, the release engineering staff will only merge patches that fix blocking bugs. All stable/oxygen branches will remain locked and only release engineering staff will be able to merge patches and will only do so for patches that fix blocking bugs.

  2. During the RC process, regular, e.g., daily, IRC meetings may take place to identify and address issues

  3. During the RC process, blocking bugs will be tracked in bugzilla and a common spreadsheet

RC3

2/28/2018

  1. Participating Projects must hold their Release Reviews, including User Facing Documentation.

  2. The build for RC3 will start at 23:59:59 UTC

  3. All stable/oxygen branches will remain locked and only release engineering staff will be able to merge patches and will only do so for patches that fix blocking bugs.

  4. During the RC process, regular, e.g., daily, IRC meetings may take place to identify and address issues

  5. During the RC process, blocking bugs will be tracked in bugzilla and a common spreadsheet

Formal Oxygen Release

3/7/2018

  1. Formal Oxygen Release

    • NOTE: The build to produce the formal release artifacts is likely to occur before the formal release date.

  2. After the release, except for projects that have opted-out, the release engineering staff will apply the release patch to the stable/oxygen branch and bump versions.

    • Note: Any patches merged to stable/oxygen after the auto-release build that produces the formal release artifacts, but before the release patch and version bumps are applied will have to be reverted and re-applied after the release and version bump patches. This shouldn't happen in Oxygen as the stable/oxygen branches will have been locked since RC1.

SR1 (Service Release 1 aka Oxygen.1)

4/7/2018

  1. First Service Release for Oxygen. NOTE: This date is provisional, but will not move earlier. Please note, event based Updates (security/critical bugs) are distinct and may occur at any point.

    • To allow time for testing, a release candidate will be built before the service release and projects are expected to not merge patches except for blocking bugs between that time and the actual service release.

    • Blocking bugs will be tracked via bugzilla and a spreadsheet.

  2. After the release, projects MUST apply the release patch to the stable/oxygen branch and bump versions. Unless a project opts out, this will be done automatically by the release team after the release.

    • Note: Any patches merged to stable/oxygen after the auto-release build that produces the formal release artifacts, but before the release patch and version bumps are applied will have to be reverted and re-applied after the release and version bump patches.

SR2 (Service Release 2 aka Oxygen.2)

6/7/2018

  1. Second Service Release for Oxygen. NOTE: This date is provisional, but will not move earlier. Please note, event based Updates (security/critical bugs) are distinct and may occur at any point.

    • To allow time for testing, a release candidate will be built before the service release and projects are expected to not merge patches except for blocking bugs between that time and the actual service release.

    • Blocking bugs will be tracked via bugzilla and a spreadsheet.

  2. After the release, projects MUST apply the release patch to the stable/oxygen branch and bump versions. Unless a project opts out, this will be done automatically by the release team after the release.

    • Note: Any patches merged to stable/oxygen after the auto-release build that produces the formal release artifacts, but before the release patch and version bumps are applied will have to be reverted and re-applied after the release and version bump patches.

SR3 (Service Release 3 aka Oxygen.3)

8/7/2018

  1. Third Service Release for Oxygen. NOTE: This date is provisional, but will not move earlier. Please note, event based Updates (security/critical bugs) are distinct and may occur at any point.

    • To allow time for testing, a release candidate will be built before the service release and projects are expected to not merge patches except for blocking bugs between that time and the actual service release.

    • Blocking bugs will be tracked via bugzilla and a spreadsheet.

  2. After the release, projects MUST apply the release patch to the stable/oxygen branch and bump versions. Unless a project opts out, this will be done automatically by the release team after the release.

    • Note: Any patches merged to stable/oxygen after the auto-release build that produces the formal release artifacts, but before the release patch and version bumps are applied will have to be reverted and re-applied after the release and version bump patches.

SR4 (Service Release 4 aka Oxygen.4)

9/21-11/7

  1. Fourth Service Release for Oxygen. NOTE: This date is provisional, but will not move earlier. Please note, event based Updates (security/critical bugs) are distinct and may occur at any point.

    • To allow time for testing, a release candidate will be built before the service release and projects are expected to not merge patches except for blocking bugs between that time and the actual service release.

    • Blocking bugs will be tracked via bugzilla and a spreadsheet.

  2. After the release, projects MUST apply the release patch to the stable/oxygen branch and bump versions. Unless a project opts out, this will be done automatically by the release team after the release.

    • Note: Any patches merged to stable/oxygen after the auto-release build that produces the formal release artifacts, but before the release patch and version bumps are applied will have to be reverted and re-applied after the release and version bump patches.

3Please note that the TSC reserves the right to allow projects to enter the Simultaneous Release for a reasonable period of time after the M0 date. For example, the TSC may allow additional time if a project is delayed by the IPR Review process.

4Projects running system tests outside the OpenDaylight CI infrastructure are not required to run system tests and report the results on "-merge" and "-integration" Jenkins jobs, although if they can this is ideal. They are required to report system test results in a timely fashion after release creations, e.g., weekly, RC, and formal releases.

Please also note that projects that would like to spin out parts of themselves into additional projects may have those new projects join the Simultaneous Release at any point prior to M3 provided:

  1. The TSC has been informed of this intent prior to M2

  2. The original project's release Release Plan is apportioned between the original and new projects with no parts missing

  3. The new projects have been proposed and approved by the TSC into one of the non-proposed life-cycle states in the normal manner by M2

  4. The new projects have completed the requirements for all milestones before they joined the release, e.g., M0 and/or M1

Lastly, note that as the new projects are joining the release prior to M2, they must meet all the requirements for M2 at the normal time.

Externally Consumable APIs

Short Name

Description

Type (at M2)

Type (at M3)

Type (release)

Contract

Supporting Code

Short Name

Description

Type (at M2)

Type (at M3)

Type (release)

Contract

Supporting Code

BIER/BIER-TE BierMan

BFR nodes & BIER-TE topology configuration and storage

Tentative

Provisional

Stable

bier-topology.yang

bierman

BIER/BIER-TE Channel

BIER-TE channel configuration and storage

Tentative

Provisional

Stable

bier-channel.yang

channel

BIER/BIER-TE OAM

BIER/BIER-TE Oam configuration and storage

Tentative

Provisional

Stable

bier-oam.yang

oam

BIER-TE FRR

BIER-TE frr configuration and storage

Tentative

Provisional

Stable

bier-frr.yang

bierman/service

Expected Dependencies on Other Projects

  • controller,mdsal,NETCONF,YANGTOOL,dlux,odlparent,BGPCEP

Expected Incompatibilities with Other Projects

None

Compatibility with Previous Releases

None

Themes and Priorities

  • Karaf4

  • Blueprint only Activation

  • Fewer Bundles/Greater code organization

  • MDSAL based realm

Requests from Other Projects

None

Test Tools Requirements

None

Other

N/A