...
- DON'T BREAK THE MASTER!
- TSC defines the vision and sets the direction for ONAP project
- Architecture team consists of best ONAP specialists that can clearly asses assess whether the proposed feature is aligned with long term ONAP vision and is aligned with ONAP design principles
- Security Team consists of best ONAP security specialists that can clearly asses assess whether the proposed feature does not compromise ONAP security standards
- Anyone is free to propose a new feature into ONAP at any point of the time but it has to be scoped to the release before the deadline in order to be considered as active
- Anyone is free to asses assess the proposed feature form from a technical point of view
- Based on recommendations from subcommittees, TSC makes the final decision whether the new feature should be approved or not.
- Anyone is free to propose new best practice at any point of time
- TSC makes the final decision whether the best practice should be approved or not.
- All approved best practices are checked in gerrit review and enforce for any new code that is entering the tree
- Global requirements are mandatory for all projects. If project fails to deliver global requirements, it is descoped from the release (previous release containers are used).
- Before project meets all global requirements for a given release, it cannot make backward incompatible changes that are impacting other components.
- Project may release a new docker image at any point of the release (taken into account previous point)
- PTL is free to define additional rules and quality metrics that has to be met before the patch can be merged
- Anyone is free to submit any patch at any point of the time
- It's PTL & committers responsibility to make sure that patches they merge for a given branch obey to the rules set by TSC (best practices, release phase)
- PTL and committers are responsible for the project condition
- PTL and committers have a full control over what and when should be merged (ie. They can prevent functional patches from being merged until global requirements for their project are met)
- It's up to the feature/spec owner to organize resources to implement it.
- Features can be worked on since approval until they are ready, no matter if it takes a release of 5 years. The release is always on time just like a train, always on time. You missed one, no issues, you can release new docker as a part of the next release as soon as you are ready.
...
- Keep 3 releases in a year:
- W8
- W24
- W43
- Divide the release in 3 sections:
- R - 16 Release kickoff (example October 2020 for Honolulu right after Guilin signoff)
- Start estimating which global requirements can be met in this release
- Start socializing global requirements proposals with PTLs so that every one knows what has to be done in this release
- Features and specs work is ongoing during this phase as well.
- R - 14 Global requirements defined
- TSC approves a list of global requirements that has to be address by the teams in this release
- R - 10 Spec freeze (example December 2020 for Honolulu)
- All features and specs that are going to be implemented in this release should be approved and marked as active
- At this point we know what we will get in this release (at most)
- R - 5 Feature freeze (example February 2021 for Honolulu)
- End of accepting patches containing new features for this release
- Start of bug fixing period
- Release branch is being created for all participating projects
- particularly OOM so that we can start to focus on the release package of helm charts and corresponding docker containers
- R - 3 Beginning of RC-phase (example October 2020 for Guillan)
- RC every end of week
- Bug fixes submitted for both master and release branch
- Feature development may continue for approved specs in the master branch
- R - 0 - final testing, release notes and Sign-off (example March 2020 for Honolulu)
- R - 16 of next release (example November 2020 for H release)
- R - 16 Release kickoff (example October 2020 for Honolulu right after Guilin signoff)
- Every spec has below stages in its life cycle:
- Proposed
- The spec has been proposed by the author for a review by affected parties
- Approved
- The spec has been reviewed by interested parties and approved
- In this point we agree that the design is good and if agreed we find the resources so it can be implemented
- Scoped for the release
- There is a volunteer to work on this particular spec within this release
- The work may be continued in next release with PTL and TSC consent.
- Implemented
- The spec has been fully implemented and should be mentioned in the release notes
- Dropped
- The spec has been dropped because no one is willing to work on it or it became out of the date
- Proposed
...