This is the complete Synnefo Developer’s Guide.
First of all you have to set up a developing environment for Synnefo.
1. Create a new VM
It has been tested on Debian Wheezy. It is expected to work with other releases (e.g., Squeeze) too, as long as they are supported by snf-deploy.
2. Build your own Synnefo installation
Follow the instructions here to build Synnefo on a single node using snf-deploy.
3. Install GitPython
# pip install gitpython
4. Install devflow
Devflow is a tool to manage versions, helps implement the git flow development process, and builds Python and Debian packages. You will need it to create your code’s version.
# pip install devflow
5. Get Synnefo code
First you need to install git
# apt-get install git
And now get the Synnefo code from the official Synnefo repository
# su some_regular_user
$ git clone https://code.grnet.gr/git/synnefo
Make sure you clone the repository as a regular user. Otherwise you will have problems with file permissions when deploying.
6. Code and deploy
$ devflow-update-version
# python setup.py develop -N
This does not automatically install dependencies, in order to avoid confusion with Synnefo packages installed by snf-deploy. External dependencies have already been installed by snf-deploy; if you introduce a new dependency, you will have to explicitly install it.
# service gunicorn restart
# ln -sf /usr/local/bin/snf-dispatcher /usr/bin/snf-dispatcher
and then restart the daemons
# service snf-dispatcher restart
# service snf-ganeti-eventd restart