ONAP Project and Component Lifecycle
Created by @Chaker Al-Hakim December 10, 2019
Current ONAP Lifecycle Process
“The activities of the ONAP community are articulated around projects and releases. The scope of each project is aligned with the ONAP architecture and the scope of each release is defined with the objective to fulfill a particular use case(s).”
“A project is a long-term endeavor setup to deliver features across multiple releases, which have a shorter lifespan.”
The project and release lifecycle are simple and provide sufficient visibility to allow teams to coordinate with one another and flock naturally.”
“The key point of the project and release lifecycle process is to provide adequate visibility to all stakeholders, provide synchronization, and support to all contributors.”
Project Lifecycle States and Reviews
ONAP project lifecycle defines five states that each project goes through. The project lifecycle may extend across multiple releases.
The procedure of moving from one state to the next one is independent from the release and the pace depends on each individual project.
In order to effectively review project progress, four reviews are build-in within the project lifecycle
To move from one state to the next state, the Project Team has to formulate a Kick-Off release review to the TSC, by specifying its goal to move up the Project Lifecycle ladder.
FromState | ToState | Review Description |
---|---|---|
Null | ||
Incubation review | ||
Maturity review | ||
Core review | ||
Archived(retirement) | Termination review |
Termination Review – proposed additional steps
Add a step in the project approval process that would clearly define how to retire the proposed project
Cancel all technical meetings
IT related items
Open a JIRA ticket to track the project retirement
Repository – make source control read-only, turn off automated builds
Update Wiki
Update Docs
Assess dependencies from other components
Close down all related mailing lists
.... any additional steps
Proposed Next Steps
The table below should be used as a guiding checklist for developing a plan to retire any ONAP project/component
Step | Project Incubation Review Artifacts | Project Retirement Review Artifacts | Comments for retirement ( added Apr 4, 2022 ) |
---|---|---|---|
1 | Name of the project is appropriate (no trademark issues etc.); Proposed repository name is all lower-case without any special characters | Same | |
2 | Project contact name, company and email are defined and documented | Same | |
3 | Description of the project goal and its purpose are defined | Same | |
4 | Scope and project plan are well defined | Identify impacts on other projects, components, work efforts, release timeline, etc | |
5 | Resources committed and available | Identify and release all the resources | |
6 | Contributors identified | Notify all the contributors | send email to tsc, discuss, ptl and to the project list (if it exists) |
7 | Initial list of committer identified (elected/proposed by initial contributors) | ||
8 | Meets ONAP TSC Policies | Perform:
| should be part of line #4 |
9 | Proposal has been socialized with potentially interested or affected projects and/or parties | Required | wider ecosystem in the general release notes (preceded by a release where it has been moved to unmaintained) send an email to the lfn-euag, onap-users, and send a note to the general IM channel (currently Slack) |
10 | Cross Project Dependencies (XPDs). In the case where a project will require changes in other projects, those projects are listed in the proposal, and a sponsoring developer in the project has been identified | Required – undo all the changes to the impacted projects. This can span multiple releases | concerns from SECCOM about this spanning multiple releases. N |
11 | Tools have been identified and discussed with relevant partners (Linux Foundation, IT). Once the project pass the review,:
| A plan is required to undo all these steps | |
12 | N/A | Develop a test plan to certify the rest of the ONAP components without the deprecated component | |
13 | N/A | Identify any previous release(s) that would need to be maintained that use(s) the retired component and provide ongoing support until an upgrade occurs. (things can get a little bit messy here – this requires further debate/discussion) | |
14 | N/A | IT related items:
|