Let's Contribute to the RDO Project!
Welcome on board! As a new contributor there are some things you'll want to do to get ready:
Let's get prerequisites ready.
- Join the RDO Mailing List
- Join the IRC channel
- Create a GitHub account
- Sign up to
- Add an SSH key to
- Create a Red Hat Bugzilla account
- Install the
Join the RDO Mailing List
- Go to RDO mailing list and enter your email address and password and click on subscribe. Once done, open your mailbox, you will get a confirmation email, click on the verification link and you are subscribed to the RDO List.
- You can introduce yourself by sending a mail to the mailing list. Tell us what your interests are and how you plan to participate.
Join the IRC channel
#rdo on Freenode
- All the development and communication related to the RDO Project happens on
#rdoIRC channel on Freenode. Click this link to join the channel and feel free to say Hello! We are always there to help.
- Feel free to check out the IRC etiquette guide.
Create a GitHub account
Go to the GitHub Sign Up page and enter your username, email address, and password, and you are done. If you already have a GitHub account, you can skip this step.
Sign up to
Sign-in to review.rdoproject.org using your GitHub account.
Add an SSH key to
- Generate an SSH key, if you don't have one you already use. Follow these instructions on Generating a new SSH key if necessary.
- Then, go to ssh-key
and click on the "Add Key" button and copy the contents of
id_rsa.pub(your SSH public key) and paste it there, and then click on the 'Add' button and you are done.
Create a Red Hat Bugzilla account
All the bugs related to RDO packages are tracked on Red Hat Bugzilla under the RDO product. OpenStack project bugs are tracked on Launchpad.
- You can create a Bugzilla account by clicking on Create a new Red Hat Bugzilla account, enter your email, and click on the "send" button. Be sure to check your mailbox, confirm your email address, and you're done.
- Run these steps to let
gitknow your email address:
$ git config --global user.name "Firstname Lastname" $ git config --global user.email "firstname.lastname@example.org"
- To check your
$ git config --list
- Install the
RHEL-based systems (e.g. RHEL7, CentOS 7)
$ sudo yum install git-review
Fedora-based systems (after F24)
$ sudo dnf install git-review
Follow this link to install rdopkg, and you are set for making contributions to the RDO Project.
Make your first contribution
- The RDO Project has lots of easy fixes. Check out the RDO easyfix page, pick an issue, and feel free to move ahead.
- Clone the project.
For example, cloning
keystone-distgit, we need to pass the source code URL.
$ git clone https://review.rdoproject.org/r/openstack/keystone-distgit
You can also use
rdopkg to clone an RDO package.
$ rdopkg clone package-name
- Go inside the project directory, create, and checkout a new branch. Note: Always create a new branch to work on any issue.
$ cd <project_name> $ git checkout -b <issue name>
- Make changes in the code and add the changed files to git.
$ git add <changed files>
- Commit the changes
$ git commit -m "Add the commit message"
You can check this link on how to write proper commit messages.
- If something went wrong in the commit message, or you need to adjust it, run the following command:
$ git commit --amend
- Now push the changes for review using
$ git review
git review will create an RDO Gerrit review link, and someone from
RDO project will review the changes. Once everything looks fine, and is
approved, your changes will get merged, and you'll have made your first
Review RDO patches
- Reviewing other peoples patches is a good way to learn things.
- You can start getting familiar with RDO by reviewing patches in the RDO Gerrit instance or by sending your own patches for existing packages.
Become an RDO package maintainer
If you want to become a maintainer for one or more packages, you can request to be added to the core group for them by sending a review to rdoinfo as in this example.
Being a maintainer for a package provides the ability to approve reviews for it
+W in Gerrit terms).