This page describes how to setup a Sahara development environment by either installing it as a part of DevStack or pointing a local running instance at an external OpenStack. You should be able to debug and test your changes without having to deploy Sahara.
See the main article.
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 python-pip
$ 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/sahara.git
$ cd sahara
$ tools/install_venv
$ cp ./etc/sahara/sahara.conf.sample-basic ./etc/sahara/sahara.conf
5. Look through the sahara.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 sahara-api command using --config-file flag.
$ tox -evenv -- sahara-db-manage --config-file etc/sahara/sahara.conf upgrade head
$ tox -evenv -- sahara-api --config-file etc/sahara/sahara.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