1. Problem Statement
Do we need to add another state “Maintenance” “Unmaintained” as part Project Component Lifecycle (MaintenanceUnmaintained)?
What is the difference between the "Archived" state and the "MaintenanceUnmaintained" state?
2. Definitions
ONAP Core Component (MVP-Minimum Vital Product): An ONAP component is identified as ONAP Core Component if this component is impacting the ONAP deployment and/or Onboarding, Instantiation, Run-Time, etc. for a particular ONAP release
...
- SDC or easy Onboarding SDK
- MSO
- AAI
- CCSDK/SDN-C
Service Assurance
- VES Collector + DCAE plug-in/mSDCAE (VESCollectors + Eventprocessors/Analytics ms)
- Policy
Component Dependency Matrix (in progress); Flow matrix
MaintenanceUnmaintained:
- Project(s) or sub-project(s) is no more part of any official release, but some parts might still be consumed indirectly by other project teams or some functionalities are still needed but no alternative has been implemented yet.
- These Project(s) or sub-project(s) are no more subject to non-functional compliances. The level of support will be dependent on the ONAP Community willingness to contribute, fast response time is not guaranteed.
- The project will be still part of OOM deployment and High Priority bugs might be fixed to unblock the current and/or maintained releases.
...
- Project can reach "Archived" state for multiple reasons. Either project has successfully been completed and its artifacts provide business values, or project has been cancelled for unforeseen reasons (no value anymore, technical, etc.).
- Project in any state can be "Archived" through a Termination Review.
3. Transition Steps
Transition from “Incubation/Mature/Core” to "Maintenance"
A "Incubation/Mature or Core" project can be moved to “Maintenance” if Project(s) or sub-project(s) is no more part of any official release, but some parts might still be consumed indirectly by other project teams or some functionalities are still needed but no alternative has been implemented yet. The following steps will be performed:
#1 Final call to the ONAP Community raised by the PTL or by the TSC.
#2 Review what is used by the Community and the dependencies to other components and maintain the repositories that are necessary for the ONAP Components
#3 Identify potential remaining committers to maintain the remaining repositories
#4 Verify what (if any) impact the change has on OOM/Integration (CIST)/DOC projects and ensure that is communicated
#5 Update INFO.yaml
#6 In gerrit set the appropriate repositories that are no longer in use to 'Read Only' access
#7 Update the Architecture diagrams and references
#8 Remove Jenkins jobs
#9 Inform Steven Winslow (LFN IP Legal) and disable all the scans (Sonar, FOSSology, NexusIQ) on the unmaintained repos
#10 Identify an alternative path (if any)
#11 Move the project to Project State: Maintainance including Clean-up of other wiki pages, RDT, JIRA, mailing lists, calendars, etc.
#12 Indicate in the release note that the project is in maintenance state i.e. add a hint in the header.
#13 The project information for this component will no more be branched (i.e. master) and will be linked to the latest maintained release.
#14 Any critical, severe or high vulnerability found in the code written by the project team MUST be fixed within 60 days or prior to the inclusion of the project in a new release, whichever occurs first.
Transition from "Maintenance" to Any ONAP projects or its sub capabilities when no longer maintained should be subjected to this process to either create a maintain plan with in ONAP ecosystem or retire SW capability without creating adverse impact on ONAP.
Note: Anywhere in the steps below that "PTL" is in the "Responsible" column, it is assumed that the TSC will take that responsibility if the PTL is not available.
Transition from "Unmaintained" to "Incubation/Mature": A maintenance Unmaintained project can be moved to “Incubation” or “Mature" if there is a new interest from the ONAP Community and meeting the requirement for the project state while performing a project review, including PTL responsibility and committers engagement. The following steps will be re-initiatied
...
#9 The project information for this component will be branched to the current ongoing release and links in RDT will be updated accordingly
Transition from "MaintenanceUnmaintained" to "Archived": A maintenance Unmaintained project can be moved to “Archived" if the project is no more critical for the ONAP Platform (Deployment, Onboarding, Instantiation, Run-Time) or has any dependency to any ONAP component.
The following "Termination" steps will be performed:
...
4. Projects currently under MaintenanceUnmaintained:
- AAF, APPC, AAI/ESR GUI and AAI/ESR Server, MUSIC (OOF has a dependency on it), Logging incl. Pomba, PORTAL, VID, ExtAPI
- Repositiories currently in 'Read Only access': DCAE-D SDC plugin, AAI/Sparky, OOF/FGPS, DCAE/PNDA, OOF-CMSO, Policy-engine
and- sdc/dcae-d/ci
- sdc/dcae-d/dt
- sdc/dcae-d/dt-be-main
- sdc/dcae-d/dt-be-property
- sdc/dcae-d/fe
- sdc/dcae-d/rule-engine
- sdc/dcae-d/tosca-lab
gerrit query to identify all the repositories that have been set to "Read only" - GET https:
//gerrit.onap.org/r/projects/?state=READ_ONLY
The result will be captured in a *.json file
5. Example of Transition from “Incubation/Mature/Core” to "
...
Unmaintained"
What has been done i.e. Logging incl. Pomba
...
#7 Update the Architecture diagrams and references references
#8 moved to the Unmaintained State Projects
Next steps:
#8 Remove Jenkins jobs
...
#12 Indicate in the release note that the project is in maintenance Unmaintained i.e. add a hint in the header.
...
#14 Any critical, severe or high vulnerability found in the code written by the project team MUST be fixed within 60 days or prior to the inclusion of the project in a new release, whichever occurs first.
6. Additional link(s)/reference(s)
- Proposed diagram for moving projects from Active to Unmaintained to Archived
View file name 22_04_18_ONAPUnmaintainedProjects_v4.pdf height 150 - Diagram for newly proposed lifecycle
View file name ONAP Proj Lifecycle Proposed 15Dec2020.pdf height 150 - ONAP Project Lifecycle & Review (prior to this maintenance Unmaintained proposal)
7. Remaining action Items
- (SECCOM) Finalize the component dependency Matrix - Flow matrix
- (Architecture Subcommittee) Define ONAP MVP components
- (Task Force): Present to the PTLs then to the TSC (vote and update Technical Community Document accordingly)
8. Closed action items
- Kenny Paul : <follow up with Jessica Gonzalez to see if there is a query to identify all the repositories that have been set to "Read only"
- Kenny Paul INFO.yaml becomes the true source - plan to deprecate the following wiki page - Resources and Repositories
- (Chaker/Jason) Add Project State Maintenance to the Project Lifecycle deck
- (Task Force): Present to the PTLs (1/25) then to the TSC (1/28) to update Technical Community Document accordingly and vote.