Getting Started with OpenStack

Getting started contributing to OpenStack isn’t for the faint hearted. It takes a lot of time to get started — setting up accounts, linux vm, devstack, Gerrit, launchpad and IRC. It’s extremely challenging to understand what exactly OpenStack is, how it works, and where even to begin when working on your first bugs.

Some things that helped me were taking lots of notes for myself to write down words and concepts I wasn’t familiar with and to record all of the git commands and shortcuts that I was using. It really pays off to have things all in one place. And in a relatively short time, I’ve became extremely comfortable doing things like rebasing/squashing commits/etc… These were things that I didn’t have to do that often on other projects, but I do them all several times a day and it’s all committed to memory now.

Another thing that I’ve found really helpful is using the documentation. OpenStack has vast amounts of documentation for everything. I’ve found the style guides to be extremely helpful in figuring out how to format my code. The standards that Magnum and OpenStack have in general are so helpful as a newbie. I don’t have to wonder how to format my Gerrit patch, I don’t have to wonder where my coding style is wrong — there are so many examples and directions to guide you, if you just look for them.

Most of the things that I found daunting in the beginning have really become things that help my work go smoothly and let me focus on the tasks at hand. The learning curve to become an OpenStack contributor is steep — it’s not easy! But with patience and persistence, it’s extremely doable.