...
...
...
...
...
...
...
...
...
...
...
...
Basics
The INFO.yaml file provides information to the teams, or anyone else, on the team that owns the code. In for anyone that is interested in the repository. In the INFO.yaml we can find contains specific information to the main PTL, committers with contact details, meeting meeting information and real time communication and list of repositories under the same control. The INFO.yaml also provides history of changes made to the group like addition and removal of members of members with TSC or coordinator approval references depending on the project rules.
An INFO.yaml file must exist on every single Gerrit repo. Even if the a repo has identical permissions to its parent repo.
Inheritance is not supported for ONAP LDAP groups; there is a 1:1 ratio of LDAP groups mapped to repos.
- Maintaining the INFO.yaml is a community responsibility. LF Releng can always be added as reviewers to comment on the file.
When to update INFO.yaml
- When a new repo project is created, the INFO.yaml file should be added as the very first commit.
- Every time there are any changes to the Committer team
...
- When the lifecycle state of the project changes
- When there are changes to team's meeting time or information
The process
- PTL modifies/adds a new INFO.yaml file. For new Committer promotions a link to the completed promotion template is required n the INFO.yaml commit message
- PTL gets the change merged in gerrit.onap.org
- The INFO.yaml verify job is triggered
- Automation will make a similar change in gerrit.linuxfoundation.org
Committer access in LDAP is auto-provisioned after the code is merged
The Jenkins job will also send a notification of the Committer promotion to the TSC list for visibility
INFO.yaml verify job
Global-jjb provides a verify job specific for INFO.yaml files. It is the responsibility of the community to add this verify job for their INFO.yaml files.
https://github.com/lfit/releng-global-jjb/blob/master/jjb/lf-ci-jobs.yaml#L1136
For example:
Adding the ci-management job entry:
https://github.com/onap/ci-management/blob/master/jjb/sdc/sdc-sdc-pubsub.yaml#L3
Will create the Jenkins job:
https://jenkins.onap.org/job/sdc-sdc-pubsub-info-yaml-verify/
Template example
https://github.com/onap/sdc-sdc-pubsub/blob/master/INFO.yaml
Finding the committer group owners for every repo in Gerrit
To find the matching committers group that own a specific Gerrit project:
- Search for the project https://gerrit.onap.org/r/#/admin/projects/ and click on the desired project.
- Go to the "Access" tab in the project
- Look for the "Owner" information
For example:
- We need to know the correct group name that owns appc repo
- Search for the "appc" project in https://gerrit.onap.org/r/#/admin/projects/
- Go to the "Access" tab: https://gerrit.onap.org/r/#/admin/projects/appc,access
- Look at the "Owner" which matches "onap-gerrit-appc-committers"
Inheritance is no longer supported in LDAP groups. We currently have 1 LDAP group mapped to 1 repo.
When to update INFO.yaml
The INFO.yaml file must exist on every single Gerrit repo. Even if the Gerrit repo is sharing permissions from a parent repo.
...
The INFO.yaml is a tech team responsibility and LF Releng can always be added as reviewers to comment on the file.
Matching INFO.yaml with LDAP
Only LF has permissions to view the actual LDAP groups. The teach teams can request this information to LF Releng members any time.Automation is now supported on INFO.yaml changes.
The process looks like this:
- Tech team modifies/adds a new INFO.yaml file
- Tech team gets the change merged in gerrit.onap.org
- Automation will create a similar change in gerrit.linuxfoundation.org
- The change will get merged too and perform the changes in LDAP directly with no manual intervention needed.
Tips on finding the right timezones
Timezones are tricky, we recommend using https://time.is to search for the proper timezone information to a particular region. For example: https://time.is/Beijing (The IANA time zone identifier for Beijing is Asia/Shanghai)
INFO.yaml verify job
Global-jjb provides a verify job specific for INFO.yaml files:
https://github.com/lfit/releng-global-jjb/blob/master/jjb/lf-ci-jobs.yaml#L1136
Is a responsibility of the tech teams to add this verify job for their INFO.yaml files.
For example:
Adding the ci-management job entry:
https://github.com/onap/ci-management/blob/master/jjb/sdc/sdc-sdc-pubsub.yaml#L3
Will create the Jenkins job:
https://jenkins.onap.org/job/sdc-sdc-pubsub-info-yaml-verify/
Template example
https://github.com/onap/sdc-sdc-pubsub/blob/master/INFO.yaml