deploy: Fix context issues in fabfile

Ensure that the context that each component is setup with, is
the correct one and does not include stale entries.

Use fabric's execute() method with hosts argument the proper
target nodes derived from current context. Introduce three
new decorators for this purpose:

 - with_ctx gets the current context
 - with_node updates the context's node with env.host
 - with_cluster updates the context's cluster with env.host

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Extract ArchipSynnefo from Archip

Extract configuration settings related to gunicorn from the Archip
Component and put them in the new ArchipSynnefo Component that
is required only by Pithos and Cyclades.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Restart nfs instead of exportfs -a

..otherwise on multinode setups the Mount component hungs
during the 'mount' command.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Update NS for NFS component

..so that Mount components can refer to it with its CNAME (e.g.
nfs.synnefo.live)

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Use one shared dir instead of three

Until now we had pithos_dir, archi_dir and image_dir explicitly
exported by the NFS component. This is practically useless.

Let NFS server export only shared_dir (e.g. /srv) so that everything
under it is shared across NFS clients.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: image_dir -> vcluster_dir in deploy.conf

..so that it does not get overridden by image_dir in synnefo.conf.

This dir is used to keep locally the disks of the virtual cluster VMs.

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

..to comply with the latest deploy changes.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy/ci: Let extra_disk be /dev/vdb by default

In case of --autoconf the deployment is done on node1. This
node should not have an extra disk (currently ci cannot create
instances with 2 disks).

This way the only difference between snf-deploy and snf-ci conf
files is the testing_vm option.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
deploy: Clone snf-ganeti too

Clone both official ganeti and snf-ganeti under config.ganeti_dir
(e.g. /srv/ganeti/). In ganeti-qa dev node is the same with nfs
so all qa nodes will see the same src and will be able to install
it from source (make install).

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