Skip to end of metadata
Go to start of metadata

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

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.