Merge "Update contributing.rst per Ussuri goal and guidelines."
This commit is contained in:
commit
3a600984f7
@ -1,13 +1,19 @@
|
|||||||
If you would like to contribute to the development of OpenStack, you must
|
The source repository for this project can be found at:
|
||||||
follow the steps in this page:
|
|
||||||
|
|
||||||
https://docs.openstack.org/infra/manual/developers.html
|
https://opendev.org/openstack/cyborg
|
||||||
|
|
||||||
If you already have a good understanding of how the system works and your
|
Pull requests submitted through GitHub are not monitored.
|
||||||
OpenStack accounts are set up, you can skip to the development workflow
|
|
||||||
section of this documentation to learn how changes to OpenStack should be
|
|
||||||
submitted for review via the Gerrit tool:
|
|
||||||
|
|
||||||
https://docs.openstack.org/infra/manual/developers.html#development-workflow
|
To start contributing to OpenStack, follow the steps in the contribution guide
|
||||||
|
to set up and use Gerrit:
|
||||||
|
|
||||||
Pull requests submitted through GitHub will be ignored.
|
https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
|
||||||
|
|
||||||
|
Bugs should be filed on Storyboard:
|
||||||
|
|
||||||
|
https://storyboard.openstack.org/#!/project/openstack/cyborg
|
||||||
|
|
||||||
|
For more specific information about contributing to this repository, see the
|
||||||
|
Cyborg contributor guide:
|
||||||
|
|
||||||
|
https://docs.openstack.org/cyborg/latest/contributor/contributing.html
|
||||||
|
@ -1,145 +1,74 @@
|
|||||||
============
|
============================
|
||||||
Contributing
|
So You Want to Contribute...
|
||||||
============
|
============================
|
||||||
|
|
||||||
Contributions are most welcome! You must first create a
|
For general information on contributing to OpenStack, please check out the
|
||||||
Launchpad account and `follow the instructions here <https://docs.openstack.org/infra/manual/developers.html#account-setup>`_
|
`contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
|
||||||
to get started as a new OpenStack contributor.
|
It covers all the basics that are common to all OpenStack projects: the
|
||||||
|
accounts you need, the basics of interacting with our Gerrit review system,
|
||||||
|
how we communicate as a community, etc.
|
||||||
|
|
||||||
Once you've signed the contributor license agreement and read through
|
Below will cover the more project specific information you need to get started
|
||||||
the above documentation, add your public SSH key under the 'SSH Public Keys'
|
with {{cookiecutter.service}}.
|
||||||
section of review.openstack.org_.
|
|
||||||
|
|
||||||
.. _review.openstack.org: https://review.openstack.org/#/settings/
|
Communication
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
You can view your public key using:
|
We use the #openstack-cyborg IRC channel.
|
||||||
|
|
||||||
::
|
The weekly meetings happen in this channel. You can find the meeting times,
|
||||||
|
previous meeting logs and proposed meeting agendas at
|
||||||
|
`Cyborg Team Meeting Page
|
||||||
|
<https://wiki.openstack.org/wiki/Meetings/CyborgTeamMeeting>`_.
|
||||||
|
|
||||||
$ cat ~/.ssh/id_*.pub
|
Contacting the Core Team
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Set your username and email for review.openstack.org:
|
The core reviewers of Cyborg and their emails are listed in
|
||||||
|
`Cyborg core team <https://review.opendev.org/#/admin/groups/1243,members>`_.
|
||||||
|
|
||||||
::
|
New Feature Planning
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
$ git config --global user.email "example@example.com"
|
To propose or plan new features, we add a new story in the
|
||||||
$ git config --global user.name "example"
|
`Cyborg Storyboard
|
||||||
$ git config --global --add gitreview.username "example"
|
<https://storyboard.openstack.org/#!/project/openstack/cyborg>`_
|
||||||
|
and/or propose a specification in the
|
||||||
|
`cyborg-specs <https://opendev.org/openstack/cyborg-specs>`_ repository.
|
||||||
|
|
||||||
Next, Clone the github repository:
|
Task Tracking
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
::
|
We track our tasks in the `Cyborg Storyboard
|
||||||
|
<https://storyboard.openstack.org/#!/project/openstack/cyborg>`_.
|
||||||
|
|
||||||
$ git clone https://github.com/openstack/cyborg.git
|
If you're looking for some smaller, easier work item to pick up and get started
|
||||||
|
on, ask in the IRC meeting.
|
||||||
|
|
||||||
You need to have git-review in order to be able to submit patches using
|
Reporting a Bug
|
||||||
the gerrit code review system. You can install it using:
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
::
|
You found an issue and want to make sure we are aware of it? You can do so
|
||||||
|
by adding an entry in the `Cyborg Storyboard
|
||||||
|
<https://storyboard.openstack.org/#!/project/openstack/cyborg>`_ or raising
|
||||||
|
it in the IRC meeting.
|
||||||
|
|
||||||
$ sudo yum install git-review
|
Getting Your Patch Merged
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
To set up your cloned repository to work with OpenStack Gerrit
|
To merge a patch, it must pass all voting Zuul checks and get two +2s from
|
||||||
|
core reviewers. We strive to avoid scenarios where one person from a company
|
||||||
|
or organization proposes a patch, and two other core reviewers from the
|
||||||
|
same organization approve it to get it merged. In other words, at least
|
||||||
|
one among the patch author and the two approving reviwers must be from
|
||||||
|
another organization.
|
||||||
|
|
||||||
::
|
We are constantly striving to improve quality. Proposed patches must
|
||||||
|
generally have unit tests and/or functional tests that cover the changes,
|
||||||
|
and strive to improve code coverage.
|
||||||
|
|
||||||
$ git review -s
|
Project Team Lead Duties
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
It's useful to create a branch to do your work, name it something
|
|
||||||
related to the change you'd like to introduce.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ cd cyborg
|
|
||||||
$ git branch my_special_enhancement
|
|
||||||
$ git checkout !$
|
|
||||||
|
|
||||||
Make your changes and then commit them using the instructions
|
|
||||||
below.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git add /path/to/files/changed
|
|
||||||
$ git commit
|
|
||||||
|
|
||||||
Use a descriptive commit title followed by an empty space.
|
|
||||||
You should type a small justification of what you are
|
|
||||||
changing and why.
|
|
||||||
|
|
||||||
Now you're ready to submit your changes for review:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git review
|
|
||||||
|
|
||||||
|
|
||||||
If you want to make another patchset from the same commit you can
|
|
||||||
use the amend feature after further modification and saving.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git add /path/to/files/changed
|
|
||||||
$ git commit --amend
|
|
||||||
$ git review
|
|
||||||
|
|
||||||
If you want to submit a new patchset from a different location
|
|
||||||
(perhaps on a different machine or computer for example) you can
|
|
||||||
clone the Cyborg repo again (if it doesn't already exist) and then
|
|
||||||
use git review against your unique Change-ID:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git review -d Change-Id
|
|
||||||
|
|
||||||
Change-Id is the change id number as seen in Gerrit and will be
|
|
||||||
generated after your first successful submission.
|
|
||||||
|
|
||||||
The above command downloads your patch onto a separate branch. You might
|
|
||||||
need to rebase your local branch with remote master before running it to
|
|
||||||
avoid merge conflicts when you resubmit the edited patch. To avoid this
|
|
||||||
go back to a "safe" commit using:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git reset --hard commit-number
|
|
||||||
|
|
||||||
Then,
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git fetch origin
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git rebase origin/master
|
|
||||||
|
|
||||||
Make the changes on the branch that was setup by using the git review -d
|
|
||||||
(the name of the branch is along the lines of
|
|
||||||
review/username/branch_name/patchsetnumber).
|
|
||||||
|
|
||||||
Add the files to git and commit your changes using,
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git commit --amend
|
|
||||||
|
|
||||||
You can edit your commit message as well in the prompt shown upon
|
|
||||||
executing above command.
|
|
||||||
|
|
||||||
Finally, push the patch for review using,
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ git review
|
|
||||||
|
|
||||||
Adding functionality
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
If you are adding new functionality to Cyborg please add testing for that
|
|
||||||
functionality and provide a detailed commit message outlining the goals of
|
|
||||||
your commit and how you achived them.
|
|
||||||
|
|
||||||
If the functionality you wish to add doesn't fix in an existing part of the
|
|
||||||
Cyborg achitecture diagram drop by our team meetings to disscuss how it
|
|
||||||
could be implemented
|
|
||||||
|
|
||||||
|
All common PTL duties are enumerated in the `PTL guide
|
||||||
|
<https://docs.openstack.org/project-team-guide/ptl.html>`_.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user