Adding new packages to RDO
- Adding new packages to RDO
- How to add a new OpenStack package to RDO Trunk
- How to add a new puppet module to RDO Trunk
- How to add a new puppet module to openstack-puppet-modules (OPM)
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" bug in Red Hat bugzilla following the best practices described in RDO OpenStack Packaging Guidelines. Once the bug 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 bugzilla ticket in the commit message (see this example). Add the project definition in rdo.yml file and
under-reviewtag in tags/under-review.yml file, as for example:
# in rdo.yml - project: octavia-lib conf: rpmfactory-lib maintainers: - firstname.lastname@example.org - email@example.com - firstname.lastname@example.org # 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 Bugzilla and update it with the final spec and SRPM. Then, the formal package review will be conducted by the reviewer, who will set the
rdo-review +flag. Only after the
rdo-review +flag is set in the Bugzilla bug, the initial spec review will be approved in Gerrit.
Finally, send a new review to rdoinfo project to remove the
tags/under-review.ymlfile and add tags for which package needs to be build, For current release Stein, 3 files need to be updated(
tags/stein-py3-uc.yml) (example). This change can be sent before merging review in step 3 if a
Depends-On: <gerrit-change-id step 3>is added, but the review will only be approved once the
rdo-review +flag has been set in the Bugzilla.
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-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
How to add a new puppet module to openstack-puppet-modules (OPM)
For a puppet module to be included as a part of the collection of puppet modules used to deploy RDO, the package that was created in the previous section must be added to the requires list of the openstack-puppet-modules-distgit package.
Clone the openstack-puppet-modules-distgit project using rdopkg. Submit a review with the puppet module package name added to the list of requires in the spec file maintained in the openstack-puppet-modules-distgit project.