HackingNovaMacOSX

= How to Set up a Development Environment on Mac OS X =

Notes for hacking and cleaning on Nova on Mac OS X

Git and Github
OpenStack code is hosted on Github and uses git, which should already be installed on Mac OS X. To grab the latest code:

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

Install Python Dependencies
Use Python's easy_install to install virtualenv

sudo easy_install virtualenv

You'll also need swig (install any way you want, but brew is nice http://mxcl.github.com/homebrew/):

brew install swig

Initial code setup
Initial Code Setup:

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

OpenSSL Dependency
If you have installed OpenSSL 1.0.0a on Mac OS X, 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 git pull # get the latest stuff... ./run_tests.sh
 * 1) ... do cleaning work ...

To submit the merge/patch, see development workflow