Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Process, Project review and recommend sub-committee: Finalize request Templates for Blueprint and feature project, document to allow developers to get started. Develop and evolve the process by which blueprint and feature project proposals are reviewed, and ultimately approved with recommendation required documentation.

Sub-Committee Chair - Jim Einarsson.  Elected 11/14/Andrew Wilkinson.  Ele /2018

Template 1 - Use case template

...

  • we picked up the discussion that we started last week - managed to make some progress on finalizing the updates to the first two states

State

Description

Release Quality

Release Numbering

Deliverables / Exit Criteria

Proposal

Project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to business needs.

n/a

n/a

3.3.7.1 Incubation Review:

-    Name of the project is appropriate (no trademark issues etc.); Proposed repository name is all lower-case without any special characters [a checkmark]

-    Project contact name, company and email are defined and documented [presumably at least one proposer]

-    Description of the project goal and its purpose are defined [a checkmark – use the templates]

-    Scope and project plan are well defined [yes to scope, no to project plan]

-    Resources committed and available

-    Contributors identified

-    Initial list of committers identified (elected/proposed by initial contributors)

-    Meets Akraino TSC Policies [need to define what these are? – Bill to find out what these are – Jenny’s chasing down some language about this]

-    Proposal has been socialized with potentially interested or affected projects and/or parties (e.g. presented at Community Meeting)

-    Cross Project Dependencies (XPDs). In the case where a project will require changes in other projects and upstream dependencies, those projects are listed in the proposal, and a sponsoring developer in the project has been identified

-       Tools have been identified and discussed with relevant partners (Linux Foundation, IT). Once the project passes the review, the tools chain must be created within one week. Tools encompass Configuration Management, CI/CD, Code Review, Testing, Team Wiki, End Users documentation (not exhaustive).

Incubation

Project has resources, but is recognized to be in the early stages of development.

Alpha (MVP)

0.1 to 0.x

3.3.7.2 Maturity Review:

On a successful graduation the BP HW/SW package is deemed to be Beta-Quality and the BP moves to the Mature stage.

The collective TSC vote as defined in Akraino Technical Community Document#4.4.1TSCDecisionMakingProcess will be based on all the following set of checks being met:


  • Validation lab check:

The BP project contributors have deployed and validated the BP in at least 2 community member validation labs or a community member validation lab and LF CD lab with the exact HW and SW configuration for which the maturity review is being requested. All validation labs are required to connect with Akraino LF CI. Logs on the LF CI servers pushed from each validation lab's CD testing would be used to verify this check. The environment should be reviewed and endorsed by the CI/CD Sub-Committee. [Question : Do we really need to have the CI/CD sub-committee review a validation lab's internal CI/CD architecture? If so how would this be practically done since access to the validation lab will not generally be granted to other community members?]

  • Release inclusion check:

Successful participation in at least two Akraino release periods in the incubation stage [Note : This implies that nothing will be Mature in Akraino R1 - however a PTL could request a maturity review anytime after R1 i.e. Graduation to Maturity would be possible in R2 from 1st June onwards – TSC should confirm that’s what they want]

  • SW quality/functional check:

The SW quality will be assessed as reaching beta according to :

    1. Passing the mandatory set of test cases for all deployed layers using the tools and test set for each layer as defined by the Akraino Validation Framework Validation feature project (Akraino Blueprint Validation Framework) (after TSC approval). This will define minimum mandatory set of test that must be passed for each layer included in BP, plus
    2. Passing any additional test cases defined by the specific BP project as mandatory, plus
    3. Achieving the minimum Security requirements as defined by the Security subcommittee [Note : the mechanism of security testing / review has not been proposed / agreed]

  • HW definition check:

Precise HW requirements and descriptions are defined and included in the BP's documentation (as used in both lab validations)

  • Upstream dependencies check:

Upstream dependencies must be clearly defined

  • Documentation check:

Documentation subcommittee to provide a recommendation on graduation, or if not with items requiring action/remedy.

This check includes verification that any supported APIs are clearly documented

  • Community Health and Stability check:

PTL should provide a summary of contributors and committers and companies and demonstrate growth - Project is active and contributes to Akraino: The project demonstrates increasing number of commits and/or number of contributions across recent releases. Contributions are commits that have been to an Akraino repository project or related upstream project. Commit examples can be patches to update the requirements document of a project, code addition to an Akraino or upstream project repository, new additional test cases and so forth. [maybe create a template, or use something like Bitergia to get some consistent metrics coming into this review].

The PTL should demonstrates stable output (code base, documents) within its history of releases in accordance with the release policy.





3.3.7.3 Core Review:

On a successful graduation the BP HW/SW package is deemed to be GA-Quality and the BP moves to the Core stage.

The collective TSC vote as defined in Akraino Technical Community Document#4.4.1TSCDecisionMakingProcess will be based on all the following set of checks being met:


  • Deployment check:

The BP project been deployed in at least 2 production networks/locations with the exact HW and SW configuration for which the core review is being requested.

  • Release inclusion check:

Successful participation in at least two Akraino release periods in the mature stage 

  • SW quality/functional check:

The SW quality will be assessed as reaching GA quality according to :

    1. Passing the mandatory set of test cases for all deployed layers using the tools and test set for each layer as defined by the Akraino Validation Framework Validation feature project (Akraino Blueprint Validation Framework) (after TSC approval). This will define minimum mandatory set of test that must be passed for each layer included in BP, plus
    2. Passing any additional test cases defined by the specific BP project as mandatory, plus
    3. Achieving the minimum Security requirements as defined by the Security subcommittee [Note : the mechanism of security testing / review has not been proposed / agreed. It is expected the security requirements for a core review be more stringent/extensive than an mature review]

  • HW definition check:

Precise HW requirements and descriptions are defined and included in the BP's documentation (as used in both the lab validations and the production deployments)

  • Upstream dependencies check:

Upstream dependencies must be clearly defined

  • Documentation check:

Documentation subcommittee to provide a recommendation on graduation, or if not with items requiring action/remedy.

This check includes verification that any supported APIs are clearly documented.

[It is expected the documentation requirements for a core review be more stringent/extensive than an mature review]

  • Community Health and Stability check:

PTL should provide a summary of contributors and committers and companies and demonstrate growth - Project is active and contributes to Akraino: The project demonstrates increasing number of commits and/or number of contributions across recent releases. Contributions are commits that have been to an Akraino repository project or related upstream project. Commit examples can be patches to update the requirements document of a project, code addition to an Akraino or upstream project repository, new additional test cases and so forth. [maybe create a template, or use something like Bitergia to get some consistent metrics coming into this review].

The PTL should demonstrates stable output (code base, documents) within its history of releases in accordance with the release policy.

Feb 12, 2019

Recording

Recording / Chat

...

The intent is to simplify this section, putting everything in one place.  We got through the first two states this week... 

State

Description

Release Quality

Release Numbering

Deliverables / Exit Criteria

Proposal

Project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to business needs.

n/a

n/a

From 3.3.7.1 Incubation Review:

- Name of the project is appropriate (no trademark issues etc.); Proposed repository name is all lower-case without any special characters [a checkmark]

- Project contact name, company and email are defined and documented [presumably at least one proposer]

- Description of the project goal and its purpose are defined [a checkmark – use the templates]

- Scope and project plan are well defined [yes to scope, no to project plan]

Resources committed and available

Contributors identified

Initial list of committers identified (elected/proposed by initial contributors)

- Meets Akraino TSC Policies [need to define what these are?]

- Proposal has been socialized with potentially interested or affected projects and/or parties (e.g. presented at Community Meeting)

- Cross Project Dependencies (XPDs). In the case where a project will require changes in other projects and upstream dependencies, those projects are listed in the proposal, and a sponsoring developer in the project has been identified

- Tools have been identified and discussed with relevant partners (Linux Foundation, IT). Once the project passes the review, the tools chain must be created within one week. Tools encompass Configuration Management, CI/CD, Code Review, Testing, Team Wiki, End Users documentation (not exhaustive).

Incubation

Project has resources, but is recognized to be in the early stages of development.

Alpha (MVP)

0.1 to 0.x

From 3.3.7.2 Maturity Review:

- PTL & Committers are in place.

- Beta-Quality Release Achieved [we need to double-click on what the definition of Beta quality is – FOA, POC, end of release?]

- Successful participation in at least two releases: The project demonstrates stable output (code base, documents) within its history of releases in accordance with the release policy. [this implies that nothing will be Mature in Rel 1 – TSC should confirm that’s what they want]

- Architecture has been reviewed by the CI/CD Sub-Committee, TSC and presented to broader Akraino community [why have the CI/CD Sub-Committee review the architecture – the next point should cover this]

- Project Contributors have provided a validation lab [should be 2 labs] with exact configuration required by the project to connect with Akraino CI and demonstrate CD. The environment should be reviewed and endorsed by the CI/CD Sub-Committee.

- Acceptance Tests: who & when do we validate the acceptance tests for the BP?

-    Project is active and contributes to Akraino: The project demonstrates increasing number of commits and/or number of contributions across recent releases. Contributions are commits that have been to an Akraino repository project or related upstream project. Commit examples can be patches to update the requirements document of a project, code addition to an Akraino or upstream project repository, new test cases and so forth. [maybe create a template, or use something like Bitergia to get some consistent metrics coming into this review]

- Mature artifacts produced: The project demonstrates that the artifacts produced by the project are deployable (where applicable) and have been successfully deployed, configured and used by at least two independent end users typically, service providers who have publicly documented their support on the Akraino wiki and within the accompanying project documentation. [considering moving this to Mature, since it’s quite deterministic, and consider adding a point here that the project needs to state how many independent deployments it has]

Mature

Project is fully functioning and stable, has achieved successful releases.

Beta

0.x to <1.0

From 3.3.7.3 Core Review:

-    Contributor diversity: The project demonstrates that it has a stable core team of contributors/committers which are affiliated to a set of at least three different companies. Core team members are those who have been active on the project for more than two releases, which means they were reviewing contributions to the project in Akraino Code Review and/or in the review-tool of the target upstream project(s).

-    Recognized value through other projects: The project demonstrates that its results are leveraged by other Akraino projects in an ongoing way, i.e. for at least the last two releases.

-    Successful integration tests (only applicable to projects which provide features/functionality): The project demonstrates that component tests and system-level tests have been implemented, that tests are used within the Akraino CI/CD test pipeline, and that tests bear successful results.

-    Stability, Security, Scalability and Performance levels have reached a high bar.

Also?

-    GA-quality release achieved, per Validation Feature Project

-    project has 2+ adopters  

Core

Project provides value to and receives interest from a broad audience. 

GA

1.0+

From 3.3.7.4 Termination Review:

-    Artifacts for Core state are complete and accepted

-    Core project artifacts are acceptable and meet the acceptance criteria

-    Project Team has the confidence that its artifacts can be used outside the Akraino community

-    Metrics for Termination review are available

Archived

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.

Deprecated

1.0+

n/a

Feb 5, 2019

Attendees

  • Jim Einarsson, Jenny Koerv, Aaron Byrd, Andrew Wilkinson, Frank Zdarsky, Mike Hunter, Bill Zvonar

...

Frank Zdarsky, Red Hat

Adnan Saleem, Radysis

 


The Process Sub-Committee is generally agreed that further discussion on BP submission, review and graduation methodology, clarification on Technical Doc language and better understanding of CI/CD environment and Flock lab requirements should be further discussed before scheduled BP reviews 12/6.  This is mainly for two broad reasons

...

3.3.7.1 Incubation Review

 


The Process Sub-Committee would like to propose revising the following language in the TCD 3.3.2.2 Blueprint section (which should not require such detail for the Incubation Review state outlined in 3.3.4—and is currently impossible to speak to at this review cycle without an agreed and operating CI/CD foundation):

...

  1. CI/CD discussion slated for Day 2 of Akraino TSC F2F next week should happen Day 1, and prior to BP reviews .
    1. Primary concerns are around not knowing what the CI environment will look like to plan tooling
    2. The CD environment being closed/behind firewall make it hard to collaboratively develop, test and troubleshoot for the agreed Contributors and community.
  2. We are not sure that a TSC vote should determine BP or project graduation from Phase to Phase to GA to EOL, etc.  Would like the TSC to consider whether meeting a certain set of validated criteria are met (Conformance model?) should be voted on rather than the TSC voting on moving a particular BP forward itself.
  3. The Project and Project lifecycle (~3.4) sections of the TCD should probably precede the BP section (3.3.2.2) since a BP is an Integration Project.
  4. We need an agreed/documented way to prioritize the BPs for review/evaluation (Date?  Maturity? # Contibutors?)
  5. We need an agreed/documented way to provide feedback to BP or project submitters after Reviews and an agreed and allotted amount of time to give Submitters to address gaps for a follow on submission.  Not really fair to vote on these right after review and not give the Submitters/Contributors time to correct/resubmit.
  6. Need clearer language in TCD around what “Launch” actually means and where to apply it within the document/State process.
  7. Need more refined language/plan from Upstream Sub-Committee around process/interface for project dependency socialization and integration.
  8. Need pointer to Akraino branded templates (slides?) from Jackie/LF.

...


AR – Jenny to provide spreadsheet Incubation Review cheat sheet to Process Sub-Committee for feedback/revision

...

o   we agreed on the following revised wording in section 3.3.4 (Project Lifecycle States and Reviews) of the TCD…

Project State

Description

Proposal

Project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to business needs.

Incubation

Project has resources, but is recognized to be in the early stages of development.  In the Incubation state, the goal is to progress the project from Alpha (MVP) quality to Beta quality.  The outcome is a minimum viable product (MVP) that demonstrates the value of the project and is a useful vehicle for collecting feedback, but is not expected to be used in production environments.

Mature

Project is fully functioning and stable, has achieved successful releases.  In the Mature state, the goal is to progress the project from Beta quality to GA quality. 

Core

Project provides value to and receives interest from a broad audience.  In the Core state, the project is at GA quality – additional functionality may be added in subsequent releases.

Archived

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.

In the Archived state, the project is Deprecated – no further bug fixes, security updates, etc.

o   ACTION: Bill to get this on the agenda for the next TSC meeting as well

...