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.

What's Next!

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 the #rdo IRC 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 review.rdoproject.org

Sign-in to review.rdoproject.org using your GitHub account.

Add an SSH key to review.rdoproject.org

  • 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.

Configure git and git review

  • Run these steps to let git know your email address:
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@youremail.com"
  • To check your git configuration:
$ git config --list
  • Install the git-review tool

RHEL-based systems (e.g. RHEL7, CentOS 7)

$ sudo yum install git-review

Fedora-based systems (after F24)

$ sudo dnf install git-review

Install the rdopkg tool

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

Running 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 contribution. Thanks!

How to fix git Merge conflicts?

You have submitted a patch and got merge conflict on your patch. You can check this link on how to resolving merge conflicts.

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 (grants +2 and +W in Gerrit terms).