Automated Repo Creation via INFO.yaml
The process for adding a new INFO.yaml file is detailed below. For general information on committer management using INFO.yaml files, please see this page.
Creating a new repo is a simple PTL driven process.
Clone LF's info-master repo: https://gerrit.linuxfoundation.org/infra/admin/repos/releng/info-master
cd into the right location in the repo for ONAP's gerrit configuration: cd info-master/gerrit.onap.org/example-parent/
Create a new folder for the repo to be created: mkdir example-child/ && cd example-child
At this point, we are in the right folder that patches the repo path. The INFO.yaml will need to be created using any of these ways:
Manually, easy when the INFO.yaml matches an existing child repo of the same parent
Using lftools (a python program you find here):
lftools --help
Options:
--directory TEXT custom gerrit directory, eg not /r/
--empty Create info file for uncreated project.
--tsc_approval TEXT optionally provide a tsc approval link
--help Show this message and exit.
For adding a repo to an existing project:
New Repo In An Existing Project
lftools infofile create-info-file gerrit.example.org example-parent/example-child > INFO.yaml
For creating the initial repo in a newly approved project:
New Repo for a New Project
lftools infofile create-info-file gerrit.example.org example-parent/example-child --empty --tsc_approval "https://link.to.meeting.minutes" > INFO.yaml
New Project Creation
Creating a new repo under an existing parent repo does not require pre-approval. Creating a new ONAP project must be approved by the TSC. The process to follow to submit a new project is here: New Project Proposals
For all, run tox to verify your INFO file passes
Complete or fix any missing or incorrect fields
Commit your change and push it to gerrit.linuxfoundation.org
After your change is pushed...
Automation will tag the main LF Releng engineers representative for ONAP
The change will be reviewed by the LF Releng engineer and any needed follow up with the owner will be posted in the comments.
Once the change is merged, automation will process the INFO.yaml file, create the repo, update Nexus access and Jenkins settings files.