
Replace URLs for workflow documentation to appropriate parts of the OpenStack Project Infrastructure Manual. Change-Id: Ia5d22c51f2f84b5c70af855f6f5fe7b8d7d89586
3.3 KiB
Working with the Source
Setting up a Development Sandbox
Set up a server or virtual machine to run OpenStack using devstack.
Clone the ceilometer project to the machine:
$ cd /opt/stack $ git clone https://git.openstack.org/openstack/ceilometer $ cd ./ceilometer
Once this is done, you need to setup the review process:
$ git remote add gerrit ssh://<username>@review.openstack.org:29418/openstack/ceilometer.git
If you are preparing a patch, create a topic branch and switch to it before making any changes:
$ git checkout -b TOPIC-BRANCH
Running the Tests
Ceilometer includes an extensive set of automated unit tests which are run through tox.
Install
tox
:$ sudo pip install tox
On Ubuntu install
mongodb
andlibmysqlclient-dev
packages:$ sudo apt-get install mongodb $ sudo apt-get install libmysqlclient-dev
For Fedora20 there is no
libmysqlclient-dev
package, so you’ll need to installmariadb-devel.x86-64
(ormariadb-devel.i386
) instead:$ sudo yum install mongodb $ sudo yum install mariadb-devel.x86_64
Install the test dependencies:
$ sudo pip install -r /opt/stack/ceilometer/test-requirements.txt
Run the unit and code-style tests:
$ cd /opt/stack/ceilometer $ tox -e py27,pep8
As tox is a wrapper around testr, it also accepts the same flags as testr. See the testr documentation for details about these additional flags.
Use a double hyphen to pass options to testr. For example, to run only tests under tests/api/v2:
$ tox -e py27 -- api.v2
To debug tests (ie. break into pdb debugger), you can use ''debug'' tox environment. Here's an example, passing the name of a test since you'll normally only want to run the test that hits your breakpoint:
$ tox -e debug ceilometer.tests.test_bin
For reference, the
debug
tox environment implements the instructions here: https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests
Code Reviews
Ceilometer uses the OpenStack review process for all code and developer documentation contributions. Code reviews are managed through gerrit.