Jump to: navigation, search

Difference between revisions of "Getting The Code"

(Hacking on your laptop and running unit tests)
 
(52 intermediate revisions by 24 users not shown)
Line 1: Line 1:
__NOTOC__
+
== Git source code repositories ==
= Getting the source code =
 
  
Because we're in this interesting open-source-yet-hidden state this week, there are a few hitches in the system. You will not be able to view the swift or ozone code via the web ui, but you can branch using bzr. (This restriction will go away at 12:01am EST on July 19. :) )
+
OpenStack manages source code in git using a code review tool called Gerrit. The workflow for working with Gerrit is described at [http://docs.openstack.org/infra/manual/developers.html#development-workflow Development Workflow]. Git repositories are mirrored to [http://git.openstack.org/ git.openstack.org] and [https://github.com/openstack GitHub]. Installing git varies by platform, and if you're a developer is probably something you already have - but if it isn't, [[InstallingGit]] may help.
  
Additionally, launchpad projects usually have a convenient URL shortcut to branch code, in the form of lp:''projectname'' - this also will not work until next week.
+
To get a copy of an OpenStack project, you can clone a repo from [https://opendev.org/ opendev.org] and browse the source code at [https://opendev.org/explore/repos opendev.org/explore/repos].  For instance, to clone the Swift repo:
  
'''For this week only''' to get the code, you need to do:
+
<pre><nowiki>
 +
git clone https://opendev.org/openstack/swift
 +
</nowiki></pre>
  
bzr branch lp:~swift-core/swift/trunk
+
Alternatively, you can use the [https://github.com/openstack GitHub mirror] to clone repos and browse code.  The opendev.org and GitHub mirrors are maintained the same way and contain the same code, so you can use either one, with the difference being that opendev.org is hosted by the OpenDev infrastructure team.
  
or
+
== Source code tarballs ==
  
bzr branch lp:~ozone-core/ozone/trunk
+
You can find all source code tarballs of OpenStack projects on https://releases.openstack.org .
  
You will also need to ensure you have logged in to launchpad with bzr. So the full walkthrough of getting started is:
+
Alternatively, you can find all source code tarballs generated for OpenStack projects at [http://tarballs.openstack.org tarballs.openstack.org].
  
bzr lp-login ''your-launchpad-id''
 
  
then:
+
== Getting dependencies ==
  
bzr init-repo swift
+
Python runtime and test dependencies are described in requirements.txt in each project. Some dependencies are not Python dependencies, though. See [[DevStack]] for more information on setting up the required dependencies.
cd swift
 
bzr branch lp:~swift-core/swift/trunk
 
  
or:
 
  
  bzr init-repo ozone
+
== Hacking on your laptop and running unit tests ==
cd ozone
+
 
bzr branch lp:~ozone-core/swift/trunk
+
Questions about running unit tests locally are fairly common. While all of the projects are pretty similar in how this works, it's best to consult each projects documentation for things like setting up a dev environment and running unit tests.
 +
 
 +
Each project should publish this info to [http://docs.openstack.org/ docs.openstack.org].
 +
 
 +
For example:
 +
 
 +
https://docs.openstack.org/cinder/latest/contributor/index.html
 +
 
 +
[[Category:Contribute]]

Latest revision as of 21:36, 23 April 2019

Git source code repositories

OpenStack manages source code in git using a code review tool called Gerrit. The workflow for working with Gerrit is described at Development Workflow. Git repositories are mirrored to git.openstack.org and GitHub. Installing git varies by platform, and if you're a developer is probably something you already have - but if it isn't, InstallingGit may help.

To get a copy of an OpenStack project, you can clone a repo from opendev.org and browse the source code at opendev.org/explore/repos. For instance, to clone the Swift repo:

git clone https://opendev.org/openstack/swift

Alternatively, you can use the GitHub mirror to clone repos and browse code. The opendev.org and GitHub mirrors are maintained the same way and contain the same code, so you can use either one, with the difference being that opendev.org is hosted by the OpenDev infrastructure team.

Source code tarballs

You can find all source code tarballs of OpenStack projects on https://releases.openstack.org .

Alternatively, you can find all source code tarballs generated for OpenStack projects at tarballs.openstack.org.


Getting dependencies

Python runtime and test dependencies are described in requirements.txt in each project. Some dependencies are not Python dependencies, though. See DevStack for more information on setting up the required dependencies.


Hacking on your laptop and running unit tests

Questions about running unit tests locally are fairly common. While all of the projects are pretty similar in how this works, it's best to consult each projects documentation for things like setting up a dev environment and running unit tests.

Each project should publish this info to docs.openstack.org.

For example:

https://docs.openstack.org/cinder/latest/contributor/index.html