Commit 78b48b77 authored by Christos Stavrakakis's avatar Christos Stavrakakis

Merge branch 'hotfix-0.15.1' into develop

Conflicts:
	Changelog
	docs/admin-guide.rst
	snf-astakos-app/astakos/admin/stats.py
	snf-astakos-app/astakos/scripts/snf-component-register
	snf-branding/setup.py
	snf-common/conf/00-snf-common-admins.conf
	snf-common/synnefo/lib/amqp/amqp_puka.py
	snf-cyclades-app/synnefo/admin/stats.py
	snf-cyclades-app/synnefo/admin/views.py
	snf-cyclades-app/synnefo/logic/backend.py
	snf-cyclades-app/synnefo/logic/callbacks.py
	snf-cyclades-app/synnefo/logic/dispatcher.py
	snf-cyclades-app/synnefo/logic/ips.py
	snf-cyclades-app/synnefo/logic/management/commands/stats-cyclades.py
	snf-cyclades-app/synnefo/logic/servers.py
	snf-cyclades-app/synnefo/management/pprint.py
	snf-cyclades-app/synnefo/plankton/views.py
	snf-cyclades-app/synnefo/ui/static/snf/js/neutron.js
	snf-cyclades-app/synnefo/ui/static/snf/js/ui/web/ui_networks_view.js
	snf-deploy/conf/nodes.conf
	snf-pithos-app/conf/20-snf-pithos-app-settings.conf
	snf-pithos-app/pithos/api/functions.py
	snf-pithos-app/pithos/api/test/objects.py
	snf-pithos-app/pithos/api/test/public.py
	snf-pithos-app/pithos/api/test/views.py
	snf-pithos-app/pithos/api/util.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/archipelagoblocker.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/blocker.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/context_file.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/context_object.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/mapper.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/radosmapper.py
	snf-pithos-backend/pithos/backends/lib/hashfiler/store.py
	snf-pithos-backend/pithos/backends/modular.py
	snf-pithos-backend/pithos/backends/util.py
	snf-tools/synnefo_tools/burnin/common.py
	version
parents d590fbc4 bbd98c63
......@@ -82,7 +82,64 @@ Astakos
* Projects can be set `private', making it accessible only to its owner and
members.
.. _Changelog-0.15.1:
v0.15.1
=======
Released: Thu May 15 13:31:37 EEST 2014
Synnefo-wide
------------
* Documentation: New CentOS installation guide.
* Handle Unicode issue in proxy requests.
Astakos
-------
* Change statistics API to expose statistics for all users and for users
per authentication provider (users that are exclusively using a provider).
* Fix minor problem in weblogin, which could lead to unexpected exception
* Fix Authenticate Identity API call with trailing slash, which used to fail
with 405 (Method not allowed)
Cyclades
--------
* Fix bug in snf-dispatcher that could result in unsynced NICs between
Cyclades and Ganeti.
* Support queries by IPv6 address in helpdesk app.
* Extend statistics API with detailed information about Ganeti clusters,
virtual servers and networks, public IPv4 pools and images.
* Allow creation of ports with existing floating IPs from networks that are
marked as drained.
Cyclades UI
-----------
* Include icons for Oracle Linux OS (oraclelinux)
* Include a null gateway IP when creating subnets for private networks to
override the default gateway IP of Neutron API.
Pithos
------
* Support selectable storage backend
* new settings:
- PITHOS_BACKEND_STORAGE: Possible values are 'nfs' and 'rados'.
- PITHOS_RADOS_CEPH_CONF: The Ceph configuration file.
* Remove unused variable PITHOS_RADOS_STORAGE
* Add 'pithos-sync-rados.sh' shell script in Pithos tools,
a Pithos object synchronization tool from NFS to Rados.
* Fix missing Content-Disposition header in object response, which caused
publicly shared objects to be saved with a meaningless name
(without extension)
.. _Changelog-0.15:
v0.15
......
......@@ -5,6 +5,26 @@ Unified NEWS file for Synnefo versions >= 0.13
Since v0.13 all Synnefo components have been merged into a single repository.
.. _NEWS-0.15.1:
v0.15.1
=======
Released: Thu May 15 13:31:37 EEST 2014
Since this version, Synnefo officially supports CentOS, alongside Debian.
The most notable changes are:
* Support for selectable storage backends for Pithos.
Two options available: NFS or Ceph's RADOS.
* Refactoring and extension of the statistics API, to export detailed
information about Ganeti clusters, virtual servers, networks, IPv4 pools,
images, users, auth providers.
* New CentOS installation guide.
* Smaller bug and security fixes. See Changelog file for complete list.
.. _NEWS-0.15:
v0.15
......@@ -123,6 +143,7 @@ Released: Tue Nov 26 11:03:37 EET 2013
* Support for Ganeti 2.8
.. _NEWS-0.14.9:
v0.14.9
......@@ -132,6 +153,7 @@ Released: Mon Nov 11 12:13:31 EET 2013
* Minor bug-fix release
.. _NEWS-0.14.8:
v0.14.8
......@@ -142,6 +164,7 @@ Released: Fri Nov 8 17:25:08 EET 2013
* Support for Debian Wheezy
* Bug fix version
.. _NEWS-0.14.7:
v0.14.7
......@@ -151,6 +174,7 @@ Released: Wed Sep 18 17:50:12 EEST 2013
* Bug fix version
.. _NEWS-0.14.6:
v0.14.6
......@@ -160,6 +184,7 @@ Released: Wed Sep 18 16:18:58 EEST 2013
* Bug fix version
.. _NEWS-0.14.5:
v0.14.5
......@@ -171,6 +196,7 @@ Pithos
------
* Bug fix version
.. _NEWS-0.14.4:
v0.14.4
......@@ -178,6 +204,7 @@ v0.14.4
Released: Mon Jul 29 12:24:22 EEST 2013
.. _NEWS-0.14.3:
v0.14.3
......@@ -185,6 +212,7 @@ v0.14.3
Released: Thu Jul 25 12:22:47 EEST 2013
.. _NEWS-0.14.2:
v0.14.2
......@@ -192,6 +220,7 @@ v0.14.2
Released: Fri Jul 12 13:13:32 EEST 2013
.. _NEWS-0.14:
v0.14
......
......@@ -181,8 +181,8 @@ class SynnefoCI(object):
if cloud is not None:
self.kamaki_cloud = cloud
elif self.config.has_option("Deployment", "kamaki_cloud"):
kamaki_cloud = self.config.get("Deployment", "kamaki_cloud")
if kamaki_cloud == "":
self.kamaki_cloud = self.config.get("Deployment", "kamaki_cloud")
if self.kamaki_cloud == "":
self.kamaki_cloud = None
else:
self.kamaki_cloud = None
......@@ -416,13 +416,23 @@ class SynnefoCI(object):
Search by name (reg expression) or by id
"""
def _is_true(value):
"""Boolean or string value that represents a bool"""
if isinstance(value, bool):
return value
elif isinstance(value, str):
return value in ["True", "true"]
else:
self.logger.error("Unrecognized boolean value %s" % value)
return False
# Get a list of flavors from config file
flavors = self.config.get('Deployment', 'flavors').split(",")
if flavor is not None:
# If we have a flavor_name to use, add it to our list
flavors.insert(0, flavor)
list_flavors = self.compute_client.list_flavors()
list_flavors = self.compute_client.list_flavors(detail=True)
for flv in flavors:
flv_type, flv_value = parse_typed_option(option="flavor",
value=flv)
......@@ -445,6 +455,8 @@ class SynnefoCI(object):
self.logger.error("Unrecognized flavor type %s" % flv_type)
# Check if we found one
list_flvs = [f for f in list_flvs
if _is_true(f['SNF:allow_create'])]
if list_flvs:
self.logger.debug("Will use \"%s\" with id \"%s\""
% (_green(list_flvs[0]['name']),
......
......@@ -20,10 +20,6 @@ all the interactions between them.
:width: 100%
:target: _images/synnefo-arch2.png
Synnefo also supports RADOS as an alternative storage backend for
Files/Images/VM disks. You will find the :ref:`corresponding figure
<syn+archip+rados>` later in this guide.
Identity Service (Astakos)
==========================
......@@ -92,7 +88,7 @@ available at the destination::
Astakos keeps a map of shibboleth users using the value of the ``REMOTE_USER``
header, passed by the ``mod_shib2`` module. This happens in order to be able to
identify the astakos account the shibboleth user is associated to, every time
the user logs in from an affiliate shibboleth IdP.
the user logs in from an affiliate shibboleth IdP.
The shibboleth attribute which gets mapped to the ``REMOTE_USER`` header can be
changed in ``/etc/shibboleth/shibboleth2.xml`` configuration file.
......@@ -100,7 +96,7 @@ changed in ``/etc/shibboleth/shibboleth2.xml`` configuration file.
.. code-block:: xml
<!-- The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined. -->
<ApplicationDefaults entityID="https://sp.example.org/shibboleth"
<ApplicationDefaults entityID="https://sp.example.org/shibboleth"
REMOTE_USER="eppn persistent-id targeted-id">
.. warning::
......@@ -606,7 +602,7 @@ Enabling this feature consists of the following steps:
#. **Register Pithos+ as an OAuth2 client in Astakos**
Starting from synnefo version 0.15, in order to view the content of a
Starting from Synnefo version 0.15, in order to view the content of a
protected resource, Pithos+ (on behalf of the user) has to be granted
authorization for the specific resource by Astakos.
......@@ -652,6 +648,31 @@ Enabling this feature consists of the following steps:
pithos-host$ /etc/init.d/gunicorn restart
.. _select_pithos_storage:
Select Pithos storage backend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Starting from Synnefo 0.15.1 we introduce the ability to select or change the
storage backend. If you have already enabled and configured RADOS as your
secondary storage solution you can now explicitly select your storage
backend being only RADOS.
A new variable has been introduced called PITHOS_BACKEND_STORAGE with
possible values 'nfs' and 'rados', default value is 'nfs'.
For those users that need to migrate from NFS to RADOS and have not enabled the
dual mode of operation from the beginning of their installation, you can
use a synchronization script that is provided in order to synchronize the data
from NFS to Rados. The script can be found at
`/usr/lib/pithos/tools/pithos-sync-rados.sh`.
Since this version the dual mode of operation is not supported any more,
meaning you will not be able to keep double Pithos objects anymore in NFS and
RADOS.
After installing v0.15.1 you will have to choose between the storage backend
you want to use.
Compute/Network/Image Service (Cyclades)
========================================
......@@ -2363,9 +2384,9 @@ Scaling up to multiple nodes
Here we will describe how should a large scale Synnefo deployment look like. Make
sure you are familiar with Synnefo and Ganeti before proceeding with this section.
This means you should at least have already set up successfully a working Synnefo
deployment as described in the :ref:`Admin's Installation Guide
<quick-install-admin-guide>` and also read the Administrator's Guide until this
section.
deployment as described in the Admin's Installation Guide (:ref:`Debian
<install-guide-debian>`/:ref:`CentOS <install-guide-centos>`) and also read the
Administrator's Guide until this section.
Graph of a scale-out Synnefo deployment
---------------------------------------
......@@ -2376,10 +2397,8 @@ Each box in the following graph corresponds to a distinct physical node:
:width: 100%
:target: _images/synnefo-arch2-roles.png
The above graph is actually the same with the one at the beginning of this
:ref:`guide <admin-guide>`, with the only difference that here we show the
Synnefo roles of each physical node. These roles are described in the
following section.
The above graph shows the Synnefo roles of each physical node. These roles are
described in the following section.
.. _physical-node-roles:
......@@ -2674,6 +2693,7 @@ Upgrade Notes
v0.14.7 -> v0.14.8 <upgrade/upgrade-0.14.8>
v0.14.9 -> v0.14.10 <upgrade/upgrade-0.14.10>
v0.14 -> v0.15 <upgrade/upgrade-0.15>
v0.15 -> v0.15.1 <upgrade/upgrade-0.15.1>
v0.15 -> v0.16 <upgrade/upgrade-0.16>
......@@ -2681,6 +2701,7 @@ Changelog, NEWS
===============
* v0.15.1 :ref:`Changelog <Changelog-0.15.1>`, :ref:`NEWS <NEWS-0.15.1>`
* v0.15 :ref:`Changelog <Changelog-0.15>`, :ref:`NEWS <NEWS-0.15>`
* v0.14.10 :ref:`Changelog <Changelog-0.14.10>`, :ref:`NEWS <NEWS-0.14.10>`
* v0.14.9 :ref:`Changelog <Changelog-0.14.9>`, :ref:`NEWS <NEWS-0.14.9>`
......
......@@ -119,6 +119,13 @@ This is the Pithos Object Storage API:
Storage API (Object Storage) <object-api-guide>
Statistics API (Cyclades and Astakos)
=====================================
Synnefo administrator API for exposing basic statistics about Cyclades and
Astakos Services: :ref:`Statistics API<stats-api-guide>`.
Implementing new clients
========================
......
......@@ -29,4 +29,5 @@ authentication, along with the Synnefo Account API for quota, user group and
project management.
Please also see the :ref:`Admin Guide <admin-guide>` for more information and the
:ref:`Installation Guide <quick-install-admin-guide>` for installation instructions.
Installation Guide (:ref: `Debian <install-guide-debian>`/:ref: `CentOS
<install-guide-centos>`) for installation instructions.
......@@ -45,5 +45,5 @@ networking functionality is exported all the way from the backend to the API and
the UI.
Please also see the :ref:`Admin Guide <admin-guide>` for more information and
the :ref:`Installation Guide <quick-install-admin-guide>` for installation
instructions.
the Installation Guide for installation instructions on :ref:`Debian Wheezy
<install-guide-debian>` or :ref:`CentOS 6.5 <install-guide-centos>`.
......@@ -70,7 +70,7 @@ have problems with file permissions when deploying.
# python setup.py develop -N
This does not automatically install dependencies, in order to avoid
confusion with synnefo packages installed by ``snf-deploy``. External
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.
......
......@@ -262,7 +262,7 @@ and returns only the service catalog.
========================================= ========= ==================
Uri Method Description
========================================= ========= ==================
``/identity/v2.0/tokens/`` POST Checks whether the provided token is valid and conforms with the provided uuid (if present) and returns back information about the user
``/identity/v2.0/tokens`` POST Checks whether the provided token is valid and conforms with the provided uuid (if present) and returns back information about the user
========================================= ========= ==================
The input should be json formatted.
......
docs/images/snf-architecture.png

98.9 KB | W: | H:

docs/images/snf-architecture.png

43.2 KB | W: | H:

docs/images/snf-architecture.png
docs/images/snf-architecture.png
docs/images/snf-architecture.png
docs/images/snf-architecture.png
  • 2-up
  • Swipe
  • Onion skin
docs/images/synnefo-arch2.png

90.8 KB | W: | H:

docs/images/synnefo-arch2.png

93.6 KB | W: | H:

docs/images/synnefo-arch2.png
docs/images/synnefo-arch2.png
docs/images/synnefo-arch2.png
docs/images/synnefo-arch2.png
  • 2-up
  • Swipe
  • Onion skin
docs/images/synnefo-overview.png

35.5 KB | W: | H:

docs/images/synnefo-overview.png

37.9 KB | W: | H:

docs/images/synnefo-overview.png
docs/images/synnefo-overview.png
docs/images/synnefo-overview.png
docs/images/synnefo-overview.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -72,7 +72,7 @@ in less than 10 minutes using the `snf-deploy` tool. This kind of installation
is targeted for testing and demo environments rather than production usage
deployments. It is the perfect way, even for an inexperienced user to have the
whole Synnefo stack up and running and allows for a quick preview of the basic
Synnefo features.
Synnefo features. This installation method is only available for Debian Wheezy.
The Admin's Installation guide describes how to install the whole Synnefo stack
in just two physical nodes. This guide is useful to those interested in
......@@ -97,12 +97,9 @@ external world. Also documents all Synnefo external REST APIs.
.. extend/modify/change Synnefo itself, so describes Synnefo's indepth
.. architecture and the internals of Synnefo components (currently out-of-date!).
.. toctree::
:maxdepth: 1
Quick Installation Guide (single node) <quick-install-guide>
Installation Guide (on two nodes) <quick-install-admin-guide>
* Quick Installation Guide on single node [:ref:`Debian Wheezy <quick-install-guide>`]
* Installation Guide on two nodes [:ref:`Debian Wheezy <install-guide-debian>` |
:ref:`CentOS 6.5 <install-guide-centos>`]
.. toctree::
:maxdepth: 1
......
This diff is collapsed.
.. _quick-install-admin-guide:
.. _install-guide-debian:
Administrator's Installation Guide
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Administrator's Installation Guide (on Debian Wheezy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is the Administrator's installation guide.
This is the Administrator's installation guide on Debian Wheezy.
It describes how to install the whole Synnefo stack on two (2) physical nodes,
with minimum configuration. It installs synnefo from Debian packages, and
with minimum configuration. It installs Synnefo from Debian packages, and
assumes the nodes run Debian Wheezy. After successful installation, you will
have the following services running:
......@@ -43,10 +43,10 @@ more information on how to do so.
General Prerequisites
=====================
These are the general synnefo prerequisites, that you need on node1 and node2
These are the general Synnefo prerequisites, that you need on node1 and node2
and are related to all the services (Astakos, Pithos, Cyclades).
To be able to download all synnefo components you need to add the following
To be able to download all Synnefo components you need to add the following
lines in your ``/etc/apt/sources.list`` file:
| ``deb http://apt.dev.grnet.gr wheezy/``
......@@ -70,10 +70,10 @@ assume that node1 acts as an NFS server and serves the directory ``/srv/pithos``
to node2 (be sure to set no_root_squash flag). Node2 has this directory
mounted under ``/srv/pithos``, too.
Before starting the synnefo installation, you will need basic third party
Before starting the Synnefo installation, you will need basic third party
software to be installed and configured on the physical nodes. We will describe
each node's general prerequisites separately. Any additional configuration,
specific to a synnefo service for each node, will be described at the service's
specific to a Synnefo service for each node, will be described at the service's
section.
Finally, it is required for Cyclades and Ganeti nodes to have synchronized
......@@ -365,7 +365,7 @@ Then edit your ``/etc/hosts/`` file as follows:
203.0.113.1 node1.example.com
203.0.113.2 node2.example.com
dnsmasq will serve any IPs/domains found in ``/etc/resolv.conf``.
dnsmasq will serve any IPs/domains found in ``/etc/hosts``.
There is a `"bug" in libevent 2.0.5 <http://sourceforge.net/p/levent/bugs/193/>`_
, where if you have multiple nameservers in your ``/etc/resolv.conf``, libevent
......@@ -934,7 +934,7 @@ You can change a resource's visibility with::
Register pithos view as an OAuth 2.0 client
-------------------------------------------
Starting from synnefo version 0.15, the pithos view, in order to get access to
Starting from Synnefo version 0.15, the pithos view, in order to get access to
the data of a protected pithos resource, has to be granted authorization for
the specific resource by astakos.
......@@ -1111,6 +1111,11 @@ It can be retrieved by running on the Astakos node (node1 in our case):
The token has been generated automatically during the :ref:`Pithos service
registration <services-reg>`.
The ``PITHOS_OAUTH2_CLIENT_CREDENTIALS`` setting is used by the pithos view
in order to authenticate itself with astakos during the authorization grant
procedure and it should contain the credentials issued for the pithos view
in `the pithos view registration step`__.
The ``PITHOS_UPDATE_MD5`` option by default disables the computation of the
object checksums. This results to improved performance during object uploading.
However, if compatibility with the OpenStack Object Storage API is important
......@@ -1132,11 +1137,6 @@ The ``CLOUDBAR_SERVICES_URL`` and ``CLOUDBAR_MENU_URL`` options are used by the
Pithos web client to get from Astakos all the information needed to fill its
own cloudbar. So we put our Astakos deployment urls there.
The ``PITHOS_OAUTH2_CLIENT_CREDENTIALS`` setting is used by the pithos view
in order to authenticate itself with astakos during the authorization grant
procedure and it should container the credentials issued for the pithos view
in `the pithos view registration step`__.
__ pithos_view_registration_
Pooling and Greenlets
......@@ -1294,7 +1294,7 @@ Cyclades Prerequisites
Before proceeding with the Cyclades installation, make sure you have
successfully set up Astakos and Pithos first, because Cyclades depends on
them. If you don't have a working Astakos and Pithos installation yet, please
return to the :ref:`top <quick-install-admin-guide>` of this guide.
return to the :ref:`top <install-guide-centos>` of this guide.
Besides Astakos and Pithos, you will also need a number of additional working
prerequisites, before you start the Cyclades installation.
......@@ -1321,11 +1321,11 @@ not familiar with Ganeti.
Ganeti Prerequisites
--------------------
You're gonna need the ``lvm2`` and ``vlan`` packages, so run:
You're gonna need the ``lvm2``, ``vlan`` and ``bridge-utils`` packages, so run:
.. code-block:: console
# apt-get install lvm2 vlan
# apt-get install lvm2 vlan bridge-utils
Ganeti requires FQDN. To properly configure your nodes please
see `this <http://docs.ganeti.org/ganeti/2.6/html/install.html#hostname-issues>`_.
......@@ -1335,22 +1335,69 @@ Ganeti requires an extra available IP and its FQDN e.g., ``203.0.113.100`` and
explained above.
Also, Ganeti will need a volume group with the same name e.g., ``ganeti``
across all nodes, of at least 20GiB. To create the volume group,
see `this <http://www.tldp.org/HOWTO/LVM-HOWTO/createvgs.html>`_.
across all nodes, of at least 20GiB. To create the volume group, run:
.. code-block:: console
# pvcreate /dev/sdb1
# vgcreate ganeti /dev/sdb1
Substitute ``sdb1`` with an available partition in your node. If you don't have an
available partition you can create a file with ``dd`` and mount it as a loop
device:
.. code-block:: console
# dd if=/dev/zero of=gntvg bs=1 count=0 seek=25G
# losetup /dev/loop0 gntvg
Then substitute `/dev/sdb1` with `/dev/loop0` on pvcreate and vgcreate commands.
For more information, see
`this <http://www.tldp.org/HOWTO/LVM-HOWTO/createvgs.html>`_.
Moreover, node1 and node2 must have the same dsa, rsa keys and authorised_keys
under ``/root/.ssh/`` for password-less root ssh between each other. To
generate said keys, see `this <https://wiki.debian.org/SSH#Using_shared_keys>`_.
generate said keys, run:
.. code-block:: console
# ssh-keygen -t rsa
Now copy the generated keys to both nodes under ``/root/.ssh`` and add the
public key to the ``/root/.ssh/authorized_keys`` file:
.. code-block:: console
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
For more information on how to generate and use keys, see
`this <https://wiki.debian.org/SSH#Using_shared_keys>`_.
In the following sections, we assume that the public interface of all nodes is
``eth0`` and there are two extra interfaces ``eth1`` and ``eth2``, which can
also be vlans on your primary interface e.g., ``eth0.1`` and ``eth0.2`` in
case you don't have multiple physical interfaces. For information on how to
create vlans, please see
case you don't have multiple physical interfaces. To create such interfaces,
run:
.. code-block:: console
# vconfig add eth0 1
# vconfig add eth0 2
For information on how to create vlans, please see
`this <https://wiki.debian.org/NetworkConfiguration#Howto_use_vlan_.28dot1q.2C_802.1q.2C_trunk.29_.28Etch.2C_Lenny.29>`_.
Finally, setup two bridges on the host machines (e.g: br1/br2 on eth1/eth2
respectively), as described `here <https://wiki.debian.org/BridgeNetworkConnections>`_.
respectively):
.. code-block:: console
# brctl addbr br1
# brctl addbr br2
# brctl addif br1 eth0.1
# brctl addif br2 eth0.2
For more information on bridges read `this <https://wiki.debian.org/BridgeNetworkConnections>`_.
Ganeti Installation and Initialization
--------------------------------------
......@@ -1365,20 +1412,22 @@ Ganeti nodes:
It's time to install Ganeti. To be able to use hotplug (which will be part of
the official Ganeti 2.10), we recommend using our Ganeti package version:
``2.8.3+snap1+b64v1+kvm1+ext1+lockfix1+ipfix1+backports1-1~wheezy``
``2.8.4+snap1+b64v1+kvm2+ext1+lockfix1+ipfix1+ifdown1+backports5-1~wheezy``
Let's briefly explain each patch set:
* snap adds snapshot support for ext disk template
* b64 saves networks' bitarrays in a more compact representation
* kvm exports disk geometry to kvm command and adds migration capabilities
* kvm adds migration_caps hypervisor param
* ext
* exports logical id in hooks
* allows cache, heads, cyls arbitrary params to reach kvm command
* allows arbitrary params to reach kvm command (i.e. cache overrides
disk_cache hvparam, heads and secs define the disk's geometry)