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:

  1. Search for the project https://gerrit.onap.org/r/#/admin/projects/ and click on the desired project.

  2. Go to the "Access" tab in the project

  3. Look for the "Owner" information

For example:

  1. We need to know the correct group name that owns appc repo

  2. Search for the "appc" project in  https://gerrit.onap.org/r/#/admin/projects/ 

  3. Go to the "Access" tab: https://gerrit.onap.org/r/#/admin/projects/appc,access

  4. 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)