HackingNovaMacOSX
How to Set up a Development Environment on MacOS X
Notes for hacking and cleaning on Nova on MacOS X
Install BZR
brew install bzr
Register your username
bzr lp-login heckj
(your username substitues for heckj, see also [[[LifeWithBzrAndLaunchpad|| learning BZR and Launchpad]]])
Get Virtual Env
sudo easy_install virtualenv
Initial Code Setup:
bzr branch lp:nova cd nova python tools/install_venv.py source .nova_venv/bin/activate pip install pep8 # submitting patch so that Nova has pep8 and pylint in PIP requirements file pip install pylint
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.
from http://wiki.openstack.org/InstallationNova20100729 (I do this in a separate window that I hide to let Redis be as noisy as it wants to in the background. Redis won't be needed after the Austin release, most likely.)
cd nova curl http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz -o redis-2.0.0-rc4.tar.gz tar xvfz redis-2.0.0-rc4.tar.gz cd redis-2.0.0-rc4 # Make and start Redis server make ./redis-server &
cd nova bzr pull # get the latest stuff... source .nova_venv/bin/activate redis-2.0.0-rc4/redis-server & ./run_tests.sh #... do cleaning work ... bzr push lp:~heckj/nova/cleaning
To submit the merge/patch:
- navigate to https://code.launchpad.net/~heckj/nova/cleaning
- click on the link "Propose for merging"
Open questions
- Once merged in and accepted, does the proposal get closed?
- Do we then delete this branch and create another with the next cleaning/merge request?
- Or do we make more changes, push to this branch, and then submit another merge request?