How To Contribute
- Check out the code from: http://git-wip-us.apache.org/repos/asf/ambari.git
- Open an Apache Jira corresponding to the issue at hand
Please make sure you use the Apache JIRA for most of the design updates (adding detailed descriptions, comments, etc)
Create a patch and upload to the Apache JIRA
As soon as you think the patch is ready for review please mark the patch as Patch Available by clicking on the “Submit Patch” button
Wait for the "Hadoop QA" process to post feedback on the patch. This typically takes 30 mins to an hour and reports back on unit test results, license header compliance, presence of new tests, etc, on the JIRA itself.
Once "Hadoop QA" checks pass, create a ReviewBoard for the patch and request two of the Ambari Team Committers to review the patch via the code review process below
Please note that if the patch is not involved - one committer should suffice
On review completion and any further updates, the reviewer says +1 for the patch
Note that there needs to be 2 +1's if you have 2 reviewers for involved codebase
NOTE: Please make sure tests are attached to each JIRA. If there is special case, please make sure there is a good explanation for not having a test case.
After the reviewer has approved the patch, the person who is assigned the JIRA is responsible for getting it committed
Please make sure the committer who has reviewed commits the patch to the respective branch in Ambari
Use https://cwiki.apache.org/confluence/display/AMBARI/How+to+Commit on how to commit
After committing to git, resolve the Apache Jiras as Fixed.
All unit tests must pass after applying the patch.
Also, any new files must contain Apache 2.0 license headers
Do not use tabs. Set your IDE to convert tabs into spaces instead.
Do not use non-ASCII characters
Do not use Windows newline characters. Use UNIX newline characters instead.
Make sure that you are checking in all dependencies/new files; after committing, the build should work on clean checkout
Make sure that the clock is set up correctly on your machine.
Review Process
Ambari uses ReviewBoard for code reviews.
All Ambari related code reviews, at ReviewBoard, can be found at https://reviews.apache.org/groups/Ambari/
Using ReviewBoard
You may need to create a ReviewBoard login. Once you login add yourself to the "Ambari" group.
To submit a patch for review
- Click on "New Review Request"
- Select "ambari" from the drop-down and upload a diff file
- Go to the next page
- Add a summary
- Names of two reviewers (In case patch is simple and less involved - one reviewer is ok)
- Select ambari as the group
- Type in the Ambari JIRA id
- Add description of the fix
- Add a link to the ReviewBoard URL to the JIRA
- Go to JIRA Menu --> More --> Link --> Web Link (Link Text should be ReviewBoard)
- [if applicable] Fill the optional fields as needed.
- [if applicable] Add the unit test summary to the request
- Publish the review
- After the review is marked "Ship It" you can optionally attach the final patch to the JIRA.
- Mark the review as closed
- On the ReviewBoard portal Close --> Submitted
For reviewers
Reviewers, after you are satisfied with the patch, mark "Ship It" through the ReviewBoard as well as add a "+1" to the JIRA.
Apache Ambari Committers
Please read more on Apache Committers at: http://www.apache.org/dev/committers.html
In general a contributor that makes sustained, welcome contributions to the project may be invited to become a committer, though the exact timing of such invitations depends on many factors. Sustained contributions over 6 months is a welcome sign of contributor showing interest in the project. A contributor receptive to feedback and following development guidelines stated above is a good sign for being a committer to the project. We have seen contributors contributing 20-30 patches become committers but again this is very subjective and can vary on the patches submitted to the project. Ultimately it is the Ambari PMC that suggests and votes for committers in the project.