This page is intended to help new developers get up to speed, and contribute to the project

Background

A brief introduction is here

Who-is-Who

To help you know who is the right person to reach out to - http://cloudstack.apache.org/who.html

Before getting to code

Understanding the environment
  • Git is used for source control management. If you are new to git, this link will be helpful. The project is hosted on GitHub
  • Java is the primary development language
  • MySQL is used as a datastore
  • The testing framework is in Python
  • Jenkins is used for Continuous-Integration
  • Eclipse is the commonly used IDE by developers
  1. Useful mailing lists for the project (For starters, sign up for users, dev and announce mailing lists)
  2. Review mailing conventions followed. Use Markmail links when pinning specific mail threads
  3. Get accounts on
    1. https://wiki.apache.org to be able to edit this Wiki
    2. http://issues.apache.org for JIRA access (Tip - Add CLOUDSTACK as your project)
    3. https://reviews.apache.org/ for requesting reviews to your patch
  4. Review the guidelines at project bylaws . Please make sure you understand the roles, get an idea of where you fall (user, contributor, committer etc.). Take the time to understand the review process mentioned there.
  5. The coding conventions to be followed
  6. Links to set-up your dev environment (includes link to set-up Eclipse) : https://cwiki.apache.org/confluence/display/CLOUDSTACK/Setting+up+CloudStack+Development+Environment
  7. To help you develop on a single dev machine, you may use DevCloud. More details here
  8. If you plan to use Eclipse, an Eclipse profile to adhere to coding conventions can be found under tools/eclipse/eclipse.epf
  9. CloudStack uses Marvin (a python-based framework) for testing. Every developer is encouraged and expected to contribute to the tests. You can set-up your environment following this link : https://cwiki.apache.org/confluence/display/CLOUDSTACK/Marvin+-+Testing+with+Python#Marvin-TestingwithPython-PythonResources
  10. To create a patch, read this link (non-committers)
  11. Review request guidelines can be found here
Understanding the terminologies

Project workings

The project follows a 4-month release cycle. As of July 2013, the latest scheduled release is 4.2.

More details can be found at : https://cwiki.apache.org/confluence/display/CLOUDSTACK/Releases

  • No labels