First create a virtualenv and install the requirements:
virtualenv /tmp/myenv source /tmp/myenv/bin/activate pip install -r requirements.txt
If you want to create a classic project on review.rdoproject.org (not a packaging one) simply follow the documentation there: https://review.rdoproject.org/docs/resources_user.html
If you need a Github replica for that new repository then follow the section "Create replica on the Github organization" then "Setup the git replication between review.rdoproject.org and Github".
Note that only an administrator of review.rdoproject.org can create project at the moment.
This section explains how to create repositories on review.rdoproject.org for a RDO packaging project. There is a set of automated jobs that take care of the following steps, so please take this as a reference if you need to do it manually.
First you need to add the definition of the repositories in the config repository (https://review.rdoproject.org/docs/resources_user.html) such as:
In config/resources/rdo.yaml
resources: projects: rdo: description: RDO packaging ... source-repositories: ... - openstack/supersoft - openstack/supersoft-distgit repos: ... openstack/supersoft: acl: rdo-mirror-acl description: Mirror of upstream openstack/supersoft (mirror + patches) openstack/supersoft-distgit: acl: rdo-distgit-acl description: RDO packaging of openstack/supersoft default-branch: rpm-master
Once the change is merged, supersoft-distgit has been initialised "empty" with a rpm-master branch and a .gitreview. The default master branch has been removed.
Use this tool to create the replica repository of a project hosted on review.rdoproject.org. For instance the distgit repository of packaging project.
First be sure to have an usable github token to interact with API.
rdo-create-project-github.py --token <yourgithub-token> --org rdo-packages \ --skip-deploy-key create --name supersoft-distgit
After this command a repository should have been created on the github organization.
The rdo-packages organization is configured to autorize review.rdoproject.org to push changes on the whole rdo-packages organization. If you still need to create a deploy key and set the key automatically as a deploy key for the new project then remove the option "--skip-deploy-key".
The GIT replication configuration is managed under the config repository.
Add the following to config/gerrit/replication.config
[remote "rdo-packages-replicas"] url = git@github.com:rdo-packages/${name}.git remoteNameStyle = basenameOnly projects = openstack/superproject-distgit
Then submit your change via Gerrit. Once your change is approved and merged gerrit will take in account the change and start to replicate automatically.
Membership is configured via the groups definition in config/resources/. To add or remove someone from a group simply add or remove it from the yaml definition of the group.
Gerritbot configuration is managed under the config repository. Edit the file config/gerritbot/channels.yaml and add the project name to the "projects" section. Then submit your change via Gerrit.
Checkout the config repository and add entries such as in zuul/projects.yaml
- name: <project> template: - name: package-check-jobs - name: <project>-distgit template: - name: package-distgit-check-jobs
Then submit the change using git review and ask for a review. Once that change lands inside the repository then jobs will be triggered for that new project.