Before You Start ================ If you would like to contribute to the development of OpenStack, you must follow the steps in this page: https://docs.openstack.org/infra/manual/developers.html Once those steps have been completed, changes to OpenStack should be submitted for review via the Gerrit tool, following the workflow documented at: https://docs.openstack.org/infra/manual/developers.html#development-workflow Where to Start ============== There are many ways to start your contribution. Sign on a bug to fix -------------------- Bugs related to senlin are reported and tracked on the individual sites on Launchpad: - Senlin Server: https://bugs.launchpad.net/senlin - Senlin Client: https://bugs.launchpad.net/python-senlinclient - Senlin Dashboard: https://bugs.launchpad.net/senlin-dashboard You can pick any bug item that has not been assigned to work on. Each bug fix patch should be accompanied with a release note. Pick a TODO item ---------------- Senlin team maintains a ``TODO.rst`` file under the root directory, where you can add new items, claim existing items and remove items that are completed. You may want to check if there are items you can pick by: #. Propose a patch to remove the item from the ``TODO.rst`` file. #. Add an item to the `etherpad page`_ which the core team uses to track the progress of individual work items. #. Start working on the item and keep updating your progress on the `etherpad page`_, e.g. paste the patch review link to the page. #. Mark the item from the `etherpad page`_ as completed when the patches are all merged. Start a Bigger Effort --------------------- Senlin team also maintains a ``FEATURES.rst`` file under the root directory, where you can add new items by proposing a patch to the file or claim an item to work on. However, the work items in the ``FEATURES.rst`` file are all non-trivial, thus demands for a deeper discussion before being worked on. The expected workflow for these items is: #. Propose a spec file to the ``doc/specs`` directory describing the detailed design and other options, if any. #. Work with the reviewers to polish the design until it is accepted. #. Propose blueprint(s) to track the progress of the work item by registering them at the `blueprint page`_. #. Start working on the blueprints and checking in patches. Each patch should have a ``partial-blueprint: `` tag in its commit message. #. For each blueprint, add an item to the `etherpad page`_ so that it can be closely tracked in weekly meetings. #. Mark the blueprint(s) as completed when all related patches are merged. #. Propose a patch to the ``FEATURES.rst`` file to remove the work item. #. Propose a separate release note patch for the new feature. Reporting Bugs ============== Bugs should be filed on Launchpad site: - Senlin Server: https://bugs.launchpad.net/senlin - Senlin Client: https://bugs.launchpad.net/python-senlinclient - Senlin Dashboard: https://bugs.launchpad.net/senlin-dashboard Meet the Developers =================== Real-time communication among developers are mostly done via IRC. The team is using the #senlin channel on freenode.net. .. _`etherpad page`: https://etherpad.openstack.org/p/senlin-newton-workitems .. _`blueprint page`: https://blueprints.launchpad.net/senlin