Jump to: navigation, search

HackingNovaMacOSX

Revision as of 17:08, 21 December 2011 by Bobvanzant (talk) (pep8 and pylint are now in requirements.txt)

How to Set up a Development Environment on MacOS X

Notes for hacking and cleaning on Nova on MacOS X

Bazaar and Launchpad

OpenStack uses Launchpad, so you need to install the Bazaar client tools. See also [[[LifeWithBzrAndLaunchpad|| learning BZR and Launchpad]]])


brew install bzr
# Register your username (your username substitues for heckj):
bzr lp-login heckj
# Checkout Nova trunk
bzr branch lp:nova


The project is transition to hosting code on GitHub, so there is a copy of trunk on GitHub now too. You can get the trunk from Git too:


git clone git://github.com/openstack/nova.git


Install Python Dependencies

Use Python's easy_install to install virtualenv


sudo easy_install virtualenv


Initial code setup

Initial Code Setup:

cd nova
python tools/install_venv.py
source .nova_venv/bin/activate


OpenSSL Dependency

If you have installed OpenSSL 1.0.0a on MacOS, which can happen when installing a MacPorts package for OpenSSL, you will see an error when running nova.tests.auth_unittest.AuthTestCase.test_209_can_generate_x509. The version that functions correctly is OpenSSL 0.9.8l 5, installed with MacOS 10.6 as a base element.

There is no easy way to install an older package version using macports, but if it had been installed you can reactivate it.

sudo port activate openssl @0.9.8n_0+darwin


The alternative is to remove it and use the default OSX openssl. This will give you dependency errors on the port command, so you need to force it.

sudo - f port uninstall openssl


Run the Tests

cd nova
bzr pull # get the latest stuff...
source .nova_venv/bin/activate
./run_tests.sh

#... do cleaning work ...

bzr push lp:~YOURID/nova/cleaning


To submit the merge/patch: