Committer Management Automation via INFO.yaml
Basics
The INFO.yaml file provides information for anyone that is interested in the repository. In the INFO.yaml contains specific information to the main PTL, committers with contact details, 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 with TSC 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 in 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:
Will create the Jenkins job:
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"
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.
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)