You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

DRAFT PROPOSAL FOR COMMENTS

The activities of the ONAP community are articulated around Projects and Releases.

The Release Lifecycle should be considered as a sub process of the overarching Project Lifecycle (as defined in ONAP Charter).

The Project Lifecycle should be seen as a long term endeavor (1-2 years) whereas the Release Lifecycle has a short term goal (next 5-6 months).

All projects approved for a release have its deliverables made available in sync at the end of the release. It results in a single release at the end of the development cycle.

The ONAP current release plan is available here.

Release Lifecycle Overview

ONAP releases are organized through review milestones that take place separately for every projects.

Release Kick-Off

ReviewMilestoneDescriptionActivities
Kick-OffM0
  • The goal of the Kick-Off review is to declare intention to participate in an ONAP Release.
  • The proposed Project aligns with the architecture, team is in place, draft project plan is well-formed in wiki. 
  • Once approved, the planning process opens.
  • Once approved, the team can start refining architecture, coding, testing, and documenting.
  • Release Kick-Off review takes place for each next releases.
  • TSC formally provides its formal disposition.
To reach Release Kick-Off review, the team must:

Once the Release Kick-Off passed, the following activities are performed:

  • Release Use Case are iteratively worked on, submitted to TSC and proposed to GB.
  • Development of feature code.
  • Development of feature test case.
  • Continuous Integration Continuous Delivery process is created (All repositories are created).
  • The Integration Team defines an End to End Release Test Case.

Release Planning

ReviewMilestoneDescriptionActivities
PlanningM1
  • The goal of the Release Planning review is to ensure the plan is complete, sufficient, and aligned with release milestones.
  • The team has a high level of confidence they will make the Release Sign-Off date.
  • Issues brought to TSC.
  • At Release Planning, the following activities have been achieved:
    • Release Use Case(s) is (are) already approved by GB.
    • Release scope is defined and agreed on (Epics defined in Jira, Stories for next 2 Iterations groomed).
    • All people resources are identified, documented and committed.
    • All Release Components Name and structure is defined and documented.
    • Project Plan supporting the Release is carefully documented. 
    • The functional Architecture for the project is defined and carefully documented (block diagram, sequence diagram,...)
    • Dependencies between projects are identified.
    • End 2 End Release Test Case is defined (Integration Team).
    • The vendors equipment list is defined (Integration Team).
    • The CI/CD Tool Chain is in place (Defined by Project Team and setup by LF).
    • Documentation plan is available (Release Notes, Installation Guide, Configuration Guide, User and Admin Guide,...).
    • Training Materials plan is available.
    • The Installation strategy is defined.

To pass Release Planning review, the PTL must:

  1. Fill out in project space release planning by filling out Release Planning Template
  2. Fill out in project space the Deliverables for Planning Milestones template
  3. Inform the TSC Chair and the Release Manager prior to the milestone on the availability of the deliverable
  4. Have a concrete project time plan in place that accommodates dependencies and resource availability

Release Functionality Freeze

ReviewMilestoneDescriptionActivities
Functionality FreezeM2
  • The goal of the Functionality Freeze is to mark the end of adding functionality in the Release.
  • After Functionality Freeze, no new visible functionality is to be added to the current ONAP release.
  • The API definition development activities is over and a stable document describing the API is documented and available to the community.
  • At Functionality Freeze, the following activities have been achieved:
    • All committed functionalities have been coded.
    • CSIT Test Case are defined (Project Team).
    • All code have automated unit test (Project Team).
    • The team is using the complete Linux Foundation environment (build, Jenkins, Gerrit, FOSS, Automated Unit Test, Nexus).
    • A defined and documented final list of externally consumable APIs is available.

To Pass Functionality Freeze, the PTL must:

  1. Fill out in project space the Deliverables for Functionality Freeze Milestone template
  2. Inform the TSC Chair and the Release Manager prior to the milestone on the availability of the deliverable

After Functionality Freeze is passed, the team focus on:

  • Feature Test:
    • Define Feature Test plan.
    • Define Acceptance criteria.
    • Automate and execute the Feature test.
    • Prioritize defects and address at least all critical and blocking defects.

All defects must be entered into Jira.

API Freeze

ReviewMilestoneDescriptionActivities
APIM3
  • The goal of the API Freeze is to ensure API and Data Model are Frozen.
  • At API Freeze, API stubs must be in implemented.
  • All provisional APIs are at least functional (at a beta-quality level) if not yet fully tested.
  • All externally accessible APIs & data models may not be modified. An API exception process will allow for critical changes to APIs after API Freeze.
  • Any Changes to the API must be brought to the knowledge of the TSC for review and approval. APIs include, but are not limited to, all Java classes/interfaces declared public, all YANG models, all TOSCA profiles, all config file YANG schemas, and all REST/RESTCONF calls including the full URL with options.
  • 50% of CSIT Test case complete(Project Team).
  • Issues brought to TSC or Architecture Coordinator.

Prior to Architecture review, Project teams must also review APIs with the Architecture Committee (ARC).


To pass Architecture review, the PTL must:

  1. Fill out in project space the Deliverables for Architecture Milestone template
  2. Inform the TSC Chair and the Release Manager prior to the milestone on the availability of the deliverable

It is important to understand that activities started at Functionality Freeze are still ongoing until Code Freeze milestone.

Release Code Freeze

ReviewMilestoneDescriptionActivities
Code FreezeM4
  • The goal of the Code Freeze is to mark the end of the Features coding and testing and the resolution of all impacting defects (at least all Critical and Blocking defects)
  • After Code Freeze, no new features/functionality are to be allowed into the current release. Only defects identified in the Jira system are allowed. The exceptions to this include new tests, and documentation
  • Defects found after Code Freeze are still defects and they may be created and worked on. This includes packaging defects found as well
  • At Functionality Freeze, the following activities have been achieved:
      • End 2 End Continuous Integration Use Case (CSIT) is implemented (Integration Team).
      • 50% of CSIT Test case complete (Project Team).
      • The Labs are ready for ONAP testing. All OSs, VMs, VIMs, VNFs and hardware are installed and tested.

To pass Code Freeze, the PTL must:

  1. Fill out in their Project Space the Deliverables for Architecture Milestone template
  2. Inform the TSC Chair and the Release Manager that the milestone has been achieved (or not)
  3. Inform the TSC Chair and the Release Manager prior to the milestone on the availability of the deliverable

At that point the Documentation is complete: Only editing and enhancing should take place after this point.

After Code Freeze is passed, the team focus on:

  • Integration Testing
    • Coordinate with central Integration Team to ensure end to end Integration testing is understood, complete and prepare a plan for Integration Testing review
    • Refine Integration Test plan
    • Refine Acceptance criteria
    • Start automating and executing end to end Integration testing

Release Integration Release Candidate

ReviewMilestonesDescriptionActivities
IntegrationRC0, RC1, RC2
  • The goal of the Integration review is to ensure proper alignment on integration testing for all projects participating in an ONAP release.
  • At that point, a fully-built, complete version of the current ONAP release is available. This includes all code, documentation, and packaging that make up the final user-deliverable set of artifacts.
  • After Integration Review (RC0), new RCs will be continually built, e.g., once per day, to enable rapid testing and fixing of defects. 
  • Integration plan is defined and covers correct API calls and data models between projects, alignment with use case and test framework.
  • Integration Plan should be carefully documented.
  • Issue brought to TSC.
  • At RC0, the following activities have been achieved:
    • Automated End to End Deployment must be complete
  • At RC1, the following activities have been achieved:
    • The Training Materials are available for review
  • At RC2, the following activities have been achieved:
    • ...
To pass Integration review, the PTL must:
  1. Fill out in their Project Space the Deliverables for RCx Milestone template
  2. Inform the TSC Chair and the Release Manager prior to the milestone on the availability of the deliverable


After Integration review is passed, the team focus on:

  • Executing the Integration Plan.
  • Prioritizing new defects and address them. In case there are blocking defects preventing the team to execute according to the plan, the defect must be fixed and a new full build made available.
  • Reviewing and polishing documentation.
  • Prepare activities to reach Release Sign-Off.
  • There is no need to create specific materials for RC1, RCx.

Release Sign-Off

ReviewMilestoneDescriptionActivities
Sign-Off
  • The goal of the Release Sign-Off review is to ensure that:
    • The project has successfully passed all previous reviews.
    • All committed deliverables are available and reach expected quality criteria.
    • All testing activities are complete and successful.
    • All documentation activities are complete and available.
    • All Training Materials are complete and available.
    • All blocking issues have been successfully addressed (otherwise there is no reason to hold the review).
  • These above statements are the conditions for the release to be included in the ONAP target release.
  • TSC formally provides its disposition.
To pass Release Sign-Off review, the team must:
  1. Fill out in their Project Space the Deliverables for Release Sign-Off Milestone template
  2. Inform the TSC Chair and the Release Manager prior to the milestone on the availability of the deliverables


Release Sub-Components

Some project teams may need to embed within their releases a set of Sub-Components. Sub-Components can be seen as a distinct piece of code that can be easily upgraded independently from the release deliverable. These Sub-Components must be clearly identified at Release Planning.

Release Components and Sub-Components are defined for all ONAP projects in a central place.

Some tailoring may take place to facilitate operation as we do not want to overload TSC voting members for relatively small sub-project updates.

Release Reviews

To avoid too much of formal review, TSC will provide its formal approval for project Kick-Off and Sign-Off only. However, all reviews must be carefully documented in project wiki with "Preparing Milestone" and "Passing Milestones" templates.

The same principles applies for Release Reviews as for Project Reviews.
Refers to Metrics Overview for details.

Release Tailoring

Depending on the release scope and project state, the Release Kick-Off and Release Planning Reviews may take place at the same time.

Architecture Review may be skipped for testing or documentation project.

Sub-Component Patch: when it is required to deliver a patch to address a critical issue, a simple email notification to TSC and Release Manager is required.

  • No labels