For access to OPNFV's infrastructure, you will need a LinuxFoundation account. (Please use your company email address for the Linux Foundation account and don't have spaces or special characters in your username)
To participate, via contribution, in any project in OPNFV, you will need to contact the project manager for the project, listed in the "Key Project Facts" section of the project page requesting to be added as a contributor of the project. Send a mail to the project manager copying the helpdesk email@example.com to have your role in the project set up. If you are not from an OPNFV member company, you will have to agree to be subject to and bound by the OPNFV IP Policy prior to your project contribution.
Once the rights have been set-up you are ready to add your contributions to the project.
There are a number of tools used to communicate amongst OPNFV project teams. While many of these are listed on our www site that list is not 100% complete so we will replicate and update the list here.
The main mailing list is called Technical Discuss.
Please subscribe to at least [yourproject] and [announce] Your sysadmin will use [announce] for any downtimes that may be needed. (I'll post downtime requests to infra as well)
There are a number of IRC channels used for various OPNFV purposes. We will list some here. If this list gets too long we should make a new page:
Another place for help in getting setup, technical questions and other resources is to post a question in the Ask OPNFV Site forum.
OPNFV uses Git repositories for our code, documentation, and test artifacts. Git is a common tool for open source collaborative projects and there are many resources to help you become a master at working with Git. A good place to start is the Git how to guide.
Our development processes will help guide you how to work with each project type. Once that material is ready we will provide links here for performing various tasks in OPNFV. For now you can get started by browsing the projects on Gerrit and setting up your security. Git-Review as listed below is a great tool for simplifying the basics when working with Git.
Gerrit is our code review and maintenance vehicle, this is where you will go to comment and review existing patches, this is where your patches will show up once you have pushed them to the Git repository. You can subscribe to be notified to any changes to projects you are interested in. Use your LinuxFoundation ID and log in to the opnfv Gerrit site.
Once your local repository is set up, the following workflow is recommended:
$ git remote update $ git checkout master $ git pull –ff-only origin master
$ git branch NAME_OF_THE_TOPIC_BRANCH $ git checkout NAME_OF_THE_TOPIC_BRANCH
You can also use the shorter version:
$ git checkout -b NAME_OF_THE_TOPIC_BRANCH
The name of the topic branch should be something related to what's being changed, since it will show up in Gerrit.
When you submit your changes to gerrit with git-review (see: Welcome to the OPNFV developer resources page.), even though they will show the name of the topic branch, they will end up being merged to master. When crafting your commits, you might find Git Commit Good Practice useful.
Step-by-step instructions and screenshots for getting Gerrit access and working with git mediawiki's site for Git Gerritt
Opendaylight's Cheat Sheet and CLI git reference https://wiki.opendaylight.org/view/GIT_Cheat_Sheet https://wiki.opendaylight.org/view/OpenDaylight_Controller:Pulling,_Hacking,_and_Pushing_the_Code_from_the_CLI
Once you have setup git and created your ssh key you can register your SSH public key in Gerrit here: https://gerrit.opnfv.org/gerrit/#/settings/ssh-keys
You can also get a password from Gerrit UI and use this instead of SSH key
Git-review is a command-line tool for Git / Gerrit. It makes it easier to configure git, to submit a change or to fetch an existing one. Opendaylight's page on working with git-review
Check out the OPNFV Git/Gerrit page for a collection of setup suggestions for the OPNFV Source Code Repositories.
A sample procedure for start hacking in Parser Project: Parser HowTo Start