ui: OS icons for scientificlinux and coreos

Fixes grnet/synnefo#321
Closes grnet/synnefo#326
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>
pithos: Add node_container_usage function

Calculate container usage for a specific path.
pithos: Directly compute usage on container reassign

Compute the container usage (needed for the reassign commission)
rather than depending on statistics.
deploy: Some minor changes in qa-sample.json

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