This page describes how to point a local running Savanna instance to remote OpenStack. You should be able to debug and test your changes without having to deploy.
The easiest way to have local Savanna environment with DevStack is to include Savanna component in DevStack.
After you install DevStack with Savanna included you can rejoin screen with rejoin-stack.sh command and switch to savanna tab. Here you can manage savanna service as other OpenStack services. Savanna source code is located at $DEST/savanna which is usually /opt/stack/savanna.
On OS X Systems:
# we actually need pip, which is part of python package
$ brew install python mysql postgresql
$ pip install virtualenv tox
On Ubuntu:
$ sudo apt-get update
$ sudo apt-get install git-core python-dev python-virtualenv gcc libpq-dev libmysqlclient-dev
$ sudo pip install tox
On Fedora-based distributions (e.g., Fedora/RHEL/CentOS/Scientific Linux):
$ sudo yum install git-core python-devel python-virtualenv gcc python-pip mariadb-devel postgresql-devel
$ sudo pip install tox
$ git clone git://github.com/openstack/savanna.git
$ cd savanna
$ tools/install_venv
$ cp ./etc/savanna/savanna.conf.sample-basic ./etc/savanna/savanna.conf
5. Look through the savanna.conf and change parameters which default values do not suite you. Set os_auth_host to the address of OpenStack keystone.
If you are using Neutron instead of Nova Network add use_neutron = True to config. If the linux kernel you’re utilizing support network namespaces then also specify use_namespaces = True.
Note
Config file can be specified for savanna-api command using --config-file flag.
$ tox -evenv -- savanna-db-manage --config-file etc/savanna/savanna.conf upgrade head
$ tox -evenv -- savanna-api --config-file etc/savanna/savanna.conf -d
Add the following lines to ~/.pip/pip.conf
[global]
download-cache = /home/<username>/.pip/cache
index-url = <mirror url>
Note! The ~/.pip/cache folder should be created.
Just add the following lines to .git/hooks/pre-commit and do chmod +x for it.
#!/bin/sh
# Run fast checks (PEP8 style check and PyFlakes fast static analysis)
tools/run_fast_checks
You can added the same check for pre-push, for example, run_tests and run_pylint.
Just run the following command
tools/run_pylint