Proposed Updates to ONAP Model Governance
Objective: To establish a ‘reasonably light’, efficient, well communicated, repeatable and traceable model approval process.
1. Model States:
DISCUSSION – This state means the model is proposed to be reviewed and discussed in the modeling subcommittee. The proposed model shall be captured in one (or multiple) wiki pages under the 'discussion' category of the modeling workspace for collecting and resolving comments.
CLEAN – This state means the model proposal has been officially reviewed and approved by modeling subcommittee. The model wiki page will be moved under the 'clean' category of the modeling workspace, and be referenced in the ONAP modeling specifications.
NOTE: ONAP modeling specifications can be found at ONAP Documentations (https://docs.onap.org/projects/onap-modeling-modelspec/en/latest/index.html) and ONAP wiki (ONAP Information Model - Clean and approved models across ONAP releases).
2. State Transitions
Proposal => DISCUSSION
The model proposer shall create modeling requirements in the 'High Level Requirements' page, and create corresponding JIRAs. It's suggested to provide use cases and relevant material for the discussions, and the requirements and JIRAs will be reviewed in the modeling subcommittee call.
The model proposer shall create the wiki page (contribution) under the 'discussion' category of the modeling workspace, and the proposal will be reviewed in the modeling subcommittee call
After the first presentation in the modeling subcommittee call, the model proposer MUST also “call for participation” of the page (contribution) via an email to the mailing list
Reviews & Comments:
The proposal shall be presented and discussed in the modeling subcommittee call.
Comments should be captured directly on the wiki page (either at the bottom or preferably “in line”, see clause 3 below for the instructions)
Responses must be made to EACH comment with heading:
<NOTED> The review comment has been dicussed and no action is required
<RESOLVED> The review comment has been resolved and acceptable to the reviewer
Review decisions are captured on the wiki, and in meeting minutes.
DISCUSSION => CLEAN
In order to transition to clean, the following occurs:
There is general consensus within the modeling team for the proposal. General consensus includes:
All wiki comments are discussed, and are addressed in either <NOTED> or <RESOLVED> status
Call for team agreement in meeting for the email poll, and captured in meeting minutes
Polling:
the Modeling Chair does a “call for approval” of the wiki discussion page to onap-modelingsub@lists.onap.org, providing a 2-week time period for collecting feedback from the community
People respond “Yes”, "No" (with reasons) or “Abstain” (may with reasons).
The goal of the poll is to gather opinions from the committee members.
Decision:
In the modeling subcommittee call after the end of the email poll, the Modeling Chair will address rough consensus of the poll:
If there's no objection received in the email poll and the modeling call, the contribution is approved.
If there are objections raised in the email poll or during the call, the objectors shall describe their comments, and the chair(s) will try to get rough consensus (based on reference: https://datatracker.ietf.org/doc/html/rfc7282). If a consensus/rough consensus can be reached, the proposal will either be approved, or will be revised for further review in the following modeling calls.
If the objections cannot be addressed in the end, a formal vote is conducted during the call.
approval requires 2/3 of the votes approving the contribution,
if a member has given a response in the poll, but not join the modeling call, the response of the poll will be considered as their opinion (vote) in this formal vote, unless they change their mind
the vote requires at least 3 committee members to attend, if the quorum is not met, another email vote will be triggered on the mailing list for final decision
The Modeling Chair publishes the results to the mailing list, and record in meeting minutes
Following process:
If approved, the DISCUSSION wiki goes to CLEAN. If not approved, there is no transition
If the subcommittee is unable to reach consensus (e.g., members have strong objections against the decisions), those members may escalate the matter to the TSC and seek guidance or decisions.
3. Wiki Comment Examples & Handling