Versions Compared

Key

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

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 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:

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 in general, the INFO.yaml must be kept updated by the tech team.

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. We need to know the correct group name that owns aai-common repo
  5. Look at the "Owner" which matches "onap-gerrit-appc-committers

An example for a child repo:

  1. Search for the "aai-common" project in  https://gerrit.onap.org/r/#/admin/projects/ 
  2. Go to the "Access" tab: https://gerrit.onap.org/r/#/admin/projects/aai/aai-common,access
  3. Notice there is no "Owner" information which indicates is a project inheriting rights from another
  4. In this case, Rights Inherit From: aai
  5. Click on the link "aai" https://gerrit.onap.org/r/#/admin/projects/aai,access
  6. Find the "Owner": onap-gerrit-aai-committers

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.

When a new repo project is created, the INFO.yaml file should be added as a first commit. 

The INFO.yaml is a tech team responsibility and LF Releng can always be added as reviewers to comment on the file.

Process for adding and removing committers

  1. Tech teams should submit a TSC voting copying Jim Baker with the requested details (addition or removal of committers).
  2. wiki.onap.org/display/DW/Resources+and+Repositories Needs to be updated too with the approved information.
  3. Tech teams need to modify the INFO.yaml (or add a new one if it does not exist).
  4. Tech teams need to submit a request to helpdesk@onap.org with the Gerrit links of the INFO.yaml
  5. LF will proceed with making the changes in LDAP

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.

There is no automation behind updating INFO.yaml and the actual LDAP group. The changes still need to be performed by LF Releng to 

match what the INFO.yaml file describes. 

It is very important for tech teams to notify LF Releng whenever changes have been done to their project's INFO.yaml file.


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

View filenameINFO_new-32aed7b0dbcc9e524b7c702ea92722fa.yamlheight250