Adding new packages to RDO
How to add a new OpenStack package to RDO Trunk
When a new package is required in RDO, it must be added to RDO Trunk packaging. To include new packages, following steps are required:
-
Create a "Package Review" story in RDO Jira board. You can clone the new package template story. Make sure you replace the title with the actual package name, and provide the reason and upstream code repository in the description. The story should be assigned to the Epic "RDO release name" and "Fix Version/s" field is also assigned to the desired RDO release. Once the issue has been created, and an initial license check has been conducted, you can continue with steps 2 and 3.
-
Send a review adding the new project in rdo.yml to the rdoinfo project in review.rdoproject.org. In this change you must provide the project information and Package Review Jira story ticket in the commit message (see this example). Add the project definition in rdo.yml file and
under-review
tag in tags/under-review.yml file, as for example:# in rdo.yml - project: octavia-lib conf: rpmfactory-lib maintainers: - nmagnezi@redhat.com - cgoncalves@redhat.com - bcafarel@redhat.com # in tags/under-review.yml - project: octavia-lib tags: under-review:
Note: Maintainers must be registered in review.rdoproject.org and use the registered email in the rdoinfo review. This is required to set your permissions on your project.
Once the patch is merged, following tasks are done by RDO automation process:-
- Patch is proposed to create project and assign permissions to maintainers to manage the project. (as in this example)
- Once the create project patch is merged, required projects will be created in https://review.rdoproject.org with repo synched to github.com.
- Patch is proposed to add new projects to rdo zuul configuration in review.rdoproject.org.
- Patch is proposed to add check jobs to new projects in rdoproject.org. (as in this example). CI jobs in this patch will fail until the Patch to add new projects to rdo zuul configuration is merged.
-
Create a new review to the new distgit project with the needed content (spec file, etc...) for the initial import as in this example. This will trigger a CI job to test the package build. The spec will be reviewed by the core RDO packagers, and cannot be approved by the requester.
-
Once the initial spec is considered ready to merge by the reviewers, go back to the Package Review Story and update it with the final spec and SRPM. Then, the formal package review will be conducted by the reviewer using fedora-review. Only after the fedora-review output is added as a comment in the story, the initial spec review will be approved in Gerrit.
-
Finally, send a new review to rdoinfo project to remove the
under-review
tag fromtags/under-review.yml
file and add tags for which package needs to be build, For current release Train, 2 files need to be updated(tags/train.yml
,tags/train-uc.yml
) (example). This change can be sent before merging review in step 3 if aDepends-On: <gerrit-change-id step 3>
is added.
Once the change is merged in rdoinfo, a new package should be automatically built and published in the RDO Trunk repos.
In order to track all review requests related to a new package process, it's recommended
to use the same topic (as add-octavia-lib
in the above examples) for all these reviews.
RDO project is working to automate as much as possible this process. If you need
help to add new packages, you can ask on #rdo
or rdo-list
mailing list.
How to add a new puppet module to RDO Trunk
Adding a new puppet module to RDO Trunk is done using the same process as adding a new package to RDO Trunk with a few small differences. Use the following steps referencing the above How to add a new package to RDO Trunk for details on submitting a new puppet module. The steps here correspond to the steps above offering details specific to puppet modules.
-
Submit the Package Review, instead of including a spec file reference that the spec file will be generated.
-
Send a review to rdoinfo according to the package requirements. The under-review tag is still required. Use this as example content:
# in rdo.yml - project: puppet-congress conf: rpmfactory-puppet # in tags/under-review.yml - project: puppet-congress tags: under-review:
-
Generate the spec file to submit to the new distgit project using this script
-
Process is the same as standard packages