If you want to make contributions to OpenStack, the best way to start is to help the community with blueprint or submit bug fix. To commit codes, you need to conform to some rules in the community.
Work flow
- Register an OpenID
- Apply for a CLA certificate
- Apply for company CLA certificate
- Update contributor list
- Join OpenStack Contributors group and OpenStack group
- Set up SSH Keys
- Get a blueprint/bug
- git clone codes to local disk. Configure user name and user email and openid
- Modify codes in a limited time and complete all the tests. The codes must conform to PEP8 guideline
- If goes over the limited time, need to click "Restored" button
- Submit codes for review with git review
- Wait for review results
- Modify codes as reviewer request if necessary. Use git commit... -amend to submit modifications
- git review gain until it's successful
Test requirements
import library should be alphabetic ascending order pep8 check: sudo apt-get install pep8 ~/nova$ pep8 . nosetest: sudo pip install nose ~/nova$ nosetests . novatest: ~/nova$ sudo ./run_tests.sh [api/xxx/xxxx.py] For example:./run_tests.sh test_db_api tempest-devstack: cd devstack; source exerciserc; ./exercise.sh
Comment requirements
The first line should be summary of location modification
Leave an empty line
Then write the detailed description
Leave an empty line again
Write the corresponding bugid and bpid, then followed with changeid. The system will determine which bg it belongs to with the changeid in the comment.
Implement bp:efficient-limiting. 1.add limit param to db.instance_get_all_by_filters() 2.execute limit before sqlarchmy get_all() Fixes: bug #1003373 Implements: blueprint xxxxxxxxxxx Change-Id: Iea3eeb7b51194b6017d624506aafc6469d7338e4
Update requirements
Before execute git review, you should ensure the codes to be reviewed is the latest version.
git fetch origin master git rebase FETCH_HEAD git add . git commit --amend git review
If there is conflict with git rebase, you should manually resolve the conflict and execute git rebase --continue
F.A.Q
Q. The reviewed codes failed the testing due to server issue
A。 Execute review on this patch. If it's SmokeStack, enter reverify, if it's Jenkins, then enter recheck
References
Community : nova bugs | review.openstack.org | blueprint |
Documents : GerritWorkflow | assign-commit-and-review | progit