deploy: ExtStorage requires git

..to clone the extstorage repo.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fix gnt-cluster modify wrt disk templates

Modify --enabled-disk-templates and --ipolicy-disk-templates
at once otherwise an error is raised.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Networking fixes

Introduce /etc/network/interfaces.synnefo that will setup bridges
used for VMs' public and private networks.

Instead of using a common bridge use two separate bridges (br0,
prv0). Their default ports are defined in nodes.conf
(vm_public_iface, vm_private_iface) which are by default dummy. In a
single node setup we don't need those interfaces. In case of router
node, br0 will get the gateway IP.

Use ferm for persistent network configuration. Add masq.ferm that
is responsible for masquerading on router node and MAC SNAT on all
nodes (needed in case we have a MAC filtered setup on
vm_public_iface).

Use rc.local to losetup extra disk and ifup bridges.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy/ci: Get snf-ganeti from wheezy

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
ci: Cleanup schema files

Leave only those configuration options that ci needs.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Cleanup fabfile wrt actions

Support only:

 snf-deploy synnefo --autoconf

 snf-deploy synnefo --setup qa
 snf-deploy setup --setup qa --component NS --node qa1 --cluster ganeti-qa

 snf-deploy run --setup qa --target-nodes qa1,qa2 --cmd=date

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Update conf files wrt qa setup

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Add gnt-os modify for snf-image

Set default os parameters for snf-image that are valid for
the debian_base image.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fix GanetiDev component

This component is supposed to clone a ganeti repo and setup
a Ganeti QA cluster.

We provide a qa-init.sh that installs all required packages (apt-get
install and cabal install) and prepares the node for QA.

We provide a configure-ganeti similar to the one the debian packages
use so make install && /etc/init.d/ganeti restart will override
the existing binaries.

To install ganeti from source run on all nodes:

 # cd /srv/srv/ganeti
 # ./qa-init.sh
 # ./configure-ganeti
 # make && make install
 # cp doc/examples/ganeti.initd /etc/init.d/ganeti
 # /etc/init.d/ganeti restart

To run the QA do:

 # cd /srv/src/ganeti/qa
 # PYTHONPATH=/srv/src/ganeti/ ./ganeti-qa.py --yes-do-it /root/qa-sample.json

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
docs: Update snf-deploy wrt Ganeti QA

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fix setup of admin user

The group-add and user-modify snf-manage commands are available only
in Astakos node. Therefore we cannot run them on Admin node if
snf-admin-app runs on a different node that snf-astakos-app.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fix Admin component

In case we test the deployment with local packages we have
to install snf-cyclades-app, snf-astakos-app, and
python-astakosclient manually.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Set env.pty=False

..otherwise on small terminals the output will be truncated.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Add user only if not exists

This way, if Kamaki setup fails for some reason (after adding the
user) we can run snf-deploy again without having astakos complaining
about duplicate user email.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Restart gunicorn after setting up Astakos

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fixes related to QA rapi user

redist-conf after adding QA rapi user, otherwise gnt-cluster verify
will complain for different /var/lib/ganeti/rapi/users files.

Add rapi user in qa-init.sh only if the cluster is not initialized.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Some minor changes in qa-sample.json

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fix fqdn needed for Ganeti QA

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Change os-search-path in Ganeti configure

QA tests invalid OSes by adding an OS without create script. It
adds it under the first path found in os-search-path list. In
our case the first directory is a common dir for all nodes (NFS)
so the partially invalid OS check does not fail as expected.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Fix interfaces and ferm

Do not use a dummy interface. Instead, if in --autoconf
use bridge_ports none in interfaces.synnefo and do
MAC MASQ on the public interface (which gets autodetected).

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>