diff --git a/INSTALL b/INSTALL
index 21f65cc128b638317d2db1cee2123b89cbf8b527..74355b7f340fd68838a8f7038744d4abd06e0d9c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -20,7 +20,6 @@ Before installing, please verify that you have the following programs:
- `DRBD `_, kernel module and userspace utils,
version 8.0.7 or above
- `LVM2 `_
-- `OpenSSL `_
- `OpenSSH `_
- `bridge utilities `_
- `iproute2 `_
diff --git a/NEWS b/NEWS
index 5ec45d873ba2a5f7ea0473c4918847a9283fab8c..7e91508ce219763f92606c549bda8eaed1728f36 100644
--- a/NEWS
+++ b/NEWS
@@ -4,9 +4,28 @@ News
Version 2.2.0
-------------
+- Added tool (``move-instance``) and infrastructure to move instances
+ between separate clusters (see :doc:`separate documentation
+ ` and :doc:`design document `)
+- Added per-request RPC timeout
- RAPI now requires a Content-Type header for requests with a body (e.g.
``PUT`` or ``POST``) which must be set to ``application/json`` (see
RFC2616 (HTTP/1.1), section 7.2.1)
+- ``ganeti-watcher`` attempts to restart ``ganeti-rapi`` if RAPI is not
+ reachable
+- Implemented initial support for running Ganeti daemons as separate
+ users, see configure-time flags ``--with-user-prefix`` and
+ ``--with-group-prefix`` (only ``ganeti-rapi`` is supported at this
+ time)
+- Instances can be removed after export (``gnt-backup export
+ --remove-instance``)
+- Self-signed certificates generated by Ganeti now use a 2048 bit RSA
+ key (instead of 1024 bit)
+- Added new cluster configuration file for cluster domain secret
+- Import/export now use SSL instead of SSH
+- Added support for showing estimated time when exporting an instance,
+ see the ``ganeti-os-interface(7)`` manpage and look for
+ ``EXP_SIZE_FD``
Version 2.1.3
diff --git a/README b/README
index 16efa1ef89928fbe6a1185695185a6f58f959e7d..1d96bae6bd9e0900df1c8e802d178a220a0188e3 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Ganeti 2.1
+Ganeti 2.2
==========
For installation instructions, read the INSTALL and the doc/install.html
diff --git a/doc/admin.rst b/doc/admin.rst
index 778c2d74558c2df2e0537e71668a83c5b692f366..c61b77ff470e0769fae055e2334a645e3417cb55 100644
--- a/doc/admin.rst
+++ b/doc/admin.rst
@@ -1244,7 +1244,7 @@ watch command::
Mon Oct 26 00:22:52 2009 adding instance instance1 to cluster config
Mon Oct 26 00:22:52 2009 - INFO: Waiting for instance instance1 to sync disks.
…
- Mon Oct 26 00:23:03 2009 creating os for instance xen-devi-18.fra.corp.google.com on node mpgntac4.fra.corp.google.com
+ Mon Oct 26 00:23:03 2009 creating os for instance instance1 on node node1
Mon Oct 26 00:23:03 2009 * running the instance OS create scripts...
Mon Oct 26 00:23:13 2009 * starting instance...
node1#
@@ -1374,6 +1374,13 @@ cluster config - while not trivial, the layout of the cluster can be
recreated from it and if the instance disks have not been lost it
permits recovery from the loss of all master candidates.
+move-instance
++++++++++++++
+
+See :doc:`separate documentation for move-instance `.
+
+.. TODO: document cluster-merge tool
+
Other Ganeti projects
---------------------
diff --git a/doc/conf.py b/doc/conf.py
index 8b525392f2e1dfb6d4867905f240fcb32cbc60f4..25d9c0d54cc21c3eab394e0b13f92c9a013f743c 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -38,7 +38,7 @@ master_doc = 'index'
# General information about the project.
project = u'Ganeti'
-copyright = u'2006, 2007, 2008, 2009, Google Inc.'
+copyright = u'2006, 2007, 2008, 2009, 2010, Google Inc.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
diff --git a/man/footer.sgml b/man/footer.sgml
index 369c2aba108b5cb5b3d7f772b65f00a26f6f76a4..3284fbe140ca8c84dee8881359cc00e014ea017b 100644
--- a/man/footer.sgml
+++ b/man/footer.sgml
@@ -3,7 +3,7 @@
Report bugs to or contact the
- developers using the ganeti mailing list
+ developers using the Ganeti mailing list
<ganeti@googlegroups.com>.
@@ -83,7 +83,7 @@
COPYRIGHT
- Copyright (C) 2006, 2007, 2008, 2009 Google Inc. Permission is
+ Copyright (C) 2006, 2007, 2008, 2009, 2010 Google Inc. Permission is
granted to copy, distribute and/or modify under the terms of the
&gnu; General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
diff --git a/man/ganeti-cleaner.sgml b/man/ganeti-cleaner.sgml
index 9cd10aaf5ac0001efddf228b9eca0179edb4e800..34ea4815aba9c964efe3aedcec1f7e6867372a41 100644
--- a/man/ganeti-cleaner.sgml
+++ b/man/ganeti-cleaner.sgml
@@ -2,7 +2,7 @@
- May 17, 2010">
+ June 08, 2010">
8">
@@ -28,12 +28,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti job queue cleaner
+ Ganeti job queue cleaner
diff --git a/man/ganeti-confd.sgml b/man/ganeti-confd.sgml
index 373a24cb25447ade5d6baa6efdc771721fe42a8f..69fefd478efa04aae0125c04d2158ce40683446b 100644
--- a/man/ganeti-confd.sgml
+++ b/man/ganeti-confd.sgml
@@ -1,7 +1,7 @@
- October 21, 2009">
+ June 08, 2010">
8">
@@ -26,12 +26,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.1
+ Ganeti 2.2&dhpackage;
- ganeti conf daemon
+ Ganeti conf daemon
@@ -87,8 +87,8 @@
The confd protocol is an HMAC authenticated json-encoded custom format,
over UDP. A client library is provided to make it easy to write
software to query confd. More information can be found in the Ganeti
- 2.1 design doc, and an example usage can be seen in the (external) nbma
- daemon for ganeti.
+ 2.1 design doc, and an example usage can be seen in the (external) NBMA
+ daemon for Ganeti.
diff --git a/man/ganeti-masterd.sgml b/man/ganeti-masterd.sgml
index 873dd720f3007eae41731e0d261f7c937dc0995c..859699b80f0bc44796c2e5aae6db94031522f519 100644
--- a/man/ganeti-masterd.sgml
+++ b/man/ganeti-masterd.sgml
@@ -1,7 +1,7 @@
- February 11, 2009">
+ June 08, 2010">
8">
@@ -19,6 +19,7 @@
20082009
+ 2010Google Inc.
&dhdate;
@@ -27,12 +28,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti master daemon
+ Ganeti master daemon
diff --git a/man/ganeti-noded.sgml b/man/ganeti-noded.sgml
index d590fe2de42b2a4abcf10066b1b5f452b5ae859f..68dd26fbda474eb5e2b661da909f26d6dee80b0f 100644
--- a/man/ganeti-noded.sgml
+++ b/man/ganeti-noded.sgml
@@ -1,7 +1,7 @@
- February 11, 2009">
+ June 08, 2010">
8">
@@ -21,6 +21,7 @@
200720082009
+ 2010Google Inc.
&dhdate;
@@ -29,12 +30,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti node daemon
+ Ganeti node daemon
@@ -49,14 +50,18 @@
The &dhpackage; is the daemon which is
- responsible for the node functions in the ganeti system.
+ responsible for the node functions in the Ganeti system.
By default, in order to be able to support features such as node
- powercycling even on systems with a very damaged root disk, ganeti-noded
- mlocks itself in ram. You can disable this feature by passing in the
- .
+ powercycling even on systems with a very damaged root disk,
+ ganeti-noded locks itself in RAM using
+
+ mlockall
+ 2
+ . You can disable this feature by passing in the
+ to the daemon.
@@ -75,16 +80,17 @@
- The ganeti-noded daemon listens to port 1811 TCP, on all interfaces, by
- default. This can be overridden by an entry in /etc/services or by
- passing the option. The option
- can be used to specify the address to bind to (defaults to 0.0.0.0).
+ The ganeti-noded daemon listens to port 1811 TCP, on
+ all interfaces, by default. This can be overridden by an entry the
+ services database (/etc/services) or by passing the
+ option. The option can be used to
+ specify the address to bind to (defaults to 0.0.0.0).
Ganeti noded communication is protected via SSL, with a key generated at
cluster init time. This can be disabled with the
- option, or a different ssl key and certificate
+ option, or a different SSL key and certificate
can be specified using the and
options.
@@ -113,8 +119,8 @@
COMMUNICATION PROTOCOL
- Currently the master-node RPC is done using a simple json-RPC
- over HTTP(S).
+ Currently the master-node RPC is done using a simple RPC protocol built
+ using JSON over HTTP(S).
diff --git a/man/ganeti-os-interface.sgml b/man/ganeti-os-interface.sgml
index 64d34eb11dda28730db4c94e1672964a8c0a2555..e70224f903e3935a3ddff1ab29591fcb42feaf92 100644
--- a/man/ganeti-os-interface.sgml
+++ b/man/ganeti-os-interface.sgml
@@ -2,7 +2,7 @@
- October 02, 2009">
+ June 08, 2010">
7">
@@ -31,14 +31,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.1
+ Ganeti 2.2ganeti-os-interface
- specifications for guest OS types
-
-
+ Specifications for guest OS types
@@ -75,7 +73,7 @@
OS_API_VERSION
- The OS api version that the rest of the
+ The OS API version that the rest of the
environment conforms to.
@@ -89,11 +87,11 @@
INSTANCE_OS
- The name os the instance's OS as Ganeti knows
+ The name of the instance's OS as Ganeti knows
it. This can simplify the OS scripts by providing the same
scripts under multiple names, and then the scripts can use
this name to alter their behaviour.
- Under OS api 15 changing the script behavior based
+ With OS API 15 changing the script behavior based
on this variable is deprecated: OS_VARIANT should be used
instead (see below).
@@ -105,7 +103,7 @@
must support all variants listed under its
variants.list file, and may support more.
Any more supported variants should be properly documented in the
- per-os documentation.
+ per-OS documentation.
@@ -233,7 +231,7 @@
The INSTANCE_REINSTALL variable is set to '1' when
this create request is reinstalling and existing instance, rather than
creating one anew. This can be used, for example, to preserve some
- data in the old instance in an os-specific way.
+ data in the old instance in an OS-specific way.
@@ -328,11 +326,11 @@ fi
ganeti_api_version
The ganeti_api_version file is a plain
- text file containing the version(s) of the guest OS api that
+ text file containing the version(s) of the guest OS API that
this OS definition complies with, one per line. The version
documented by this man page is 15, so this file must contain
the number 15 followed by a newline if only this version is
- supported. A script compatible more than one ganeti version
+ supported. A script compatible with more than one Ganeti version
should contain the most recent version first (i.e. 15),
followed by the old version(s) (in this case 10 and/or 5).
@@ -353,11 +351,11 @@ fi
NOTES
- Retrocompatibility
+ Backwards compatibility
- Ganeti 2.1 is compatible with both api version 10, and 15.
- In api version 10 the variants.list
+ Ganeti 2.2 is compatible with both API version 10, and 15.
+ In API version 10 the variants.list
file is ignored and no OS_VARIANT environment variable is
passed.
@@ -394,7 +392,7 @@ fi
Version 5 to 10
- The method os passing data has changed from command line
+ The method for passing data has changed from command line
options to environment variables, so scripts should be
modified to use these. For an example of how this can be
done in a way compatible with both versions, feel free to
diff --git a/man/ganeti-rapi.sgml b/man/ganeti-rapi.sgml
index 00ddfde05fbd2d7980019196ff55606889eb651f..0ac297f1f23cdfa734de995a1353eb2960b44306 100644
--- a/man/ganeti-rapi.sgml
+++ b/man/ganeti-rapi.sgml
@@ -2,7 +2,7 @@
- February 11, 2009">
+ June 08, 2010">
8">
@@ -20,6 +20,7 @@
20082009
+ 2010Google Inc.
&dhdate;
@@ -28,12 +29,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti remote API daemon
+ Ganeti remote API daemon
@@ -112,6 +113,10 @@ guest tespw
read-write rights, whereas the second user does only have read
(query) rights, and as such is no different than not using
authentication at all.
+
+ More details (including on how to use hashed passwords) can be found
+ in the Ganeti documentation.
+
&footer;
diff --git a/man/ganeti-watcher.sgml b/man/ganeti-watcher.sgml
index 9048baa717c8c437196f8eea0b74f47fc20d2d55..8a024173661f535f80151b860fd1eb5a1f670f5d 100644
--- a/man/ganeti-watcher.sgml
+++ b/man/ganeti-watcher.sgml
@@ -2,7 +2,7 @@
- February 11, 2009">
+ June 08, 2010">
8">
@@ -21,6 +21,7 @@
200720082009
+ 2010Google Inc.
&dhdate;
@@ -29,12 +30,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti cluster watcher
+ Ganeti cluster watcher
@@ -80,7 +81,7 @@
In addition, it will execute any scripts which exist under the
- watcher directory in the ganeti hooks directory
+ watcher directory in the Ganeti hooks directory
(@SYSCONFDIR@/ganeti/hooks). This should be used for
lightweight actions, like starting any extra daemons.
diff --git a/man/ganeti.sgml b/man/ganeti.sgml
index 1762f34da2320e949bef610a85f3c2f17abae294..7caad06ef147a1b23e98bb61e4ea3250bccddb27 100644
--- a/man/ganeti.sgml
+++ b/man/ganeti.sgml
@@ -2,7 +2,7 @@
- February 12, 2009">
+ June 08, 2010">
7">
@@ -22,6 +22,7 @@
200720082009
+ 2010Google Inc.
&dhdate;
@@ -30,7 +31,7 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
@@ -51,10 +52,9 @@
DESCRIPTION
- The ganeti software manages physical nodes and virtual instances
+ The Ganeti software manages physical nodes and virtual instances
of a cluster based on a virtualization software. The current
- version (2.0) supports Xen 3.0 (also tested with 3.1) and KVM
- hypervisors.
+ version (2.2) supports Xen 3.x and KVM (72 or above) as hypervisors.
@@ -134,7 +134,7 @@
offline
- These nodes are still recorder in the ganeti
+ These nodes are still recorded in the Ganeti
configuration, but except for the master daemon startup
voting procedure, they are not actually contacted by the
master. This state was added in order to allow broken
diff --git a/man/gnt-backup.sgml b/man/gnt-backup.sgml
index b8764fe4244776d09ec8a95b3d129b59dfe1a06f..5992d677f2ab2d1272b0f6d772fc0f1326c48e56 100644
--- a/man/gnt-backup.sgml
+++ b/man/gnt-backup.sgml
@@ -2,7 +2,7 @@
- February 11, 2009">
+ June 08, 2010">
8">
@@ -30,12 +30,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.1
+ Ganeti 2.2&dhpackage;
- ganeti instance import/export
+ Ganeti instance import/export
@@ -50,8 +50,8 @@
The &dhpackage; is used for importing and exporting
- instances and their configuration from a ganeti system. It is useful for
- backing instances up and also to migrate them between clusters.
+ instances and their configuration from a Ganeti system. It is useful for
+ backing up instances and also to migrate them between clusters.
diff --git a/man/gnt-cluster.sgml b/man/gnt-cluster.sgml
index 5044ae227f5fccadde6f024afd83c5b24238cb32..7f34c1ad86833731b00dcc2620a037c9a97cf236 100644
--- a/man/gnt-cluster.sgml
+++ b/man/gnt-cluster.sgml
@@ -2,7 +2,7 @@
- February 12, 2009">
+ June 08, 2010">
8">
@@ -30,12 +30,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti administration, cluster-wide
+ Ganeti administration, cluster-wide
@@ -50,7 +50,7 @@
The &dhpackage; is used for cluster-wide
- administration in the ganeti system.
+ administration in the Ganeti system.
@@ -293,7 +293,7 @@
The option will let you specify a volume group
- different than 'xenvg' for ganeti to use when creating instance disks.
+ different than "xenvg" for Ganeti to use when creating instance disks.
This volume group must have the same name on all nodes. Once the
cluster is initialized this can be altered by using the
modify command. If you don't want to use lvm
@@ -564,12 +564,14 @@
The option skips the remote node agreement
checks. This is dangerous, but necessary in some cases (for example
- failing over the master role in a 2 node cluster with the original master
- down). If the original master then comes up, it won't be able to start
- its master daemon because it won't have enough votes, but so won't the
- new master, if the master daemon ever needs a restart. You can pass
- --no-voting to ganeti-masterd on the new master to solve this problem,
- and gnt-cluster redist-conf to make sure the cluster is consistent again.
+ failing over the master role in a 2 node cluster with the original
+ master down). If the original master then comes up, it won't be able to
+ start its master daemon because it won't have enough votes, but so
+ won't the new master, if the master daemon ever needs a restart. You
+ can pass to
+ ganeti-masterd on the new master to solve this
+ problem, and run gnt-cluster redist-conf to make
+ sure the cluster is consistent again.
@@ -900,7 +902,7 @@
- If the option is given, ganeti won't
+ If the option is given, Ganeti won't
check whether if it loses a node it can restart all the instances on
their secondaries (and report an error otherwise).
diff --git a/man/gnt-debug.sgml b/man/gnt-debug.sgml
index a42a44175d39f255d3323998d2c6902f4fde6920..bf4ed858e524f86d3b3887109634f0df95ae0f7b 100644
--- a/man/gnt-debug.sgml
+++ b/man/gnt-debug.sgml
@@ -2,7 +2,7 @@
- February 12, 2009">
+ June 08, 2010">
8">
@@ -22,6 +22,7 @@
200720082009
+ 2010Google Inc.
&dhdate;
@@ -30,12 +31,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- debug commands
+ Debug commands
@@ -50,7 +51,7 @@
The &dhpackage; is used for debugging the
- ganeti system.
+ Ganeti system.
@@ -101,7 +102,7 @@
- This build of ganeti will look for iallocator scripts in the
+ This build of Ganeti will look for iallocator scripts in the
following directories: @CUSTOM_IALLOCATOR_SEARCH_PATH@;
for more details about this framework, see the HTML or PDF
diff --git a/man/gnt-instance.sgml b/man/gnt-instance.sgml
index 9d2a9fef6331b932324d4f8b6fdb5256536b6daf..bb98187092c2a05beb7bc7a722dffbc712807004 100644
--- a/man/gnt-instance.sgml
+++ b/man/gnt-instance.sgml
@@ -2,7 +2,7 @@
- January 22, 2010">
+ June 08, 2010">
8">
@@ -31,12 +31,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- ganeti instance administration
+ Ganeti instance administration
@@ -51,7 +51,7 @@
The &dhpackage; is used for instance
- administration in the ganeti system.
+ administration in the Ganeti system.
@@ -611,7 +611,7 @@
none, user or
pool. Under none, the
default, nothing is done and instances are run as
- the ganeti daemon user (normally root).
+ the Ganeti daemon user (normally root).
Under user kvm will drop
@@ -633,8 +633,8 @@
Valid for the KVM hypervisor.
- Under security model user the username to
- run the instance under. It must be a valid username
+ Under security model user the username
+ to run the instance under. It must be a valid username
existing on the host.
Cannot be set under security model none
@@ -702,8 +702,8 @@
instance in a chroot directory.
If it is set to true, an empty directory
- is created before starting the instance and its path is passed via
- the -chroot flag to kvm.
+ is created before starting the instance and its path is passed
+ via the flag to kvm.
The directory is removed when the instance is stopped.
@@ -1152,7 +1152,7 @@ instance5: 11225
ip
- the ip address ganeti recognizes as associated with
+ the ip address Ganeti recognizes as associated with
the first instance interface
@@ -2411,7 +2411,7 @@ node1.example.com:disk/1:/dev/drbd1
If the option is passed, the
operation changes from migration to attempting recovery from
- a failed previous migration. In this mode, ganeti checks if
+ a failed previous migration. In this mode, Ganeti checks if
the instance runs on the correct node (and updates its
configuration if not) and ensures the instances's disks are
configured correctly. In this mode, the
diff --git a/man/gnt-job.sgml b/man/gnt-job.sgml
index df778d6c63449da8834739cdda8c99b6423bacb9..d7cfa27e969b7e41cc57882551d946c0607376b0 100644
--- a/man/gnt-job.sgml
+++ b/man/gnt-job.sgml
@@ -2,7 +2,7 @@
- February 12, 2009">
+ June 08, 2010">
8">
@@ -28,12 +28,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- job commands
+ Job commands
diff --git a/man/gnt-node.sgml b/man/gnt-node.sgml
index 22b89a048ef437f63bd78e1a6d54a4dbb99732b5..493bb3dc26a880a724ff68676c71dd5cacba8884 100644
--- a/man/gnt-node.sgml
+++ b/man/gnt-node.sgml
@@ -2,7 +2,7 @@
- February 12, 2009">
+ June 08, 2010">
8">
@@ -30,12 +30,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- node administration
+ Node administration
@@ -50,7 +50,7 @@
The &dhpackage; is used for managing the
- (physical) nodes in the ganeti system.
+ (physical) nodes in the Ganeti system.
@@ -75,7 +75,7 @@
This command is used to join a new node to the cluster. You
will have to provide the password for root of the node to be
able to add the node in the cluster. The command needs to be
- run on the ganeti master.
+ run on the Ganeti master.
@@ -992,7 +992,7 @@ node2 lvm-pv /dev/sdb1 698.6G 0M 698.6G Y
This commands (tries to) forcefully reboot a node. It is a
command that can be used if the node environemnt is broken,
such that the admin can no longer login over ssh, but the
- ganeti node daemon is still working.
+ Ganeti node daemon is still working.
diff --git a/man/gnt-os.sgml b/man/gnt-os.sgml
index 292239bf1c8255f01550e3e359ce16118dc9c680..596b8f910792abfbaf32b00a00735b8548222dfe 100644
--- a/man/gnt-os.sgml
+++ b/man/gnt-os.sgml
@@ -2,7 +2,7 @@
- February 12, 2009">
+ June 08, 2010">
8">
@@ -31,12 +31,12 @@
&dhucpackage;
&dhsection;
- ganeti 2.0
+ Ganeti 2.2&dhpackage;
- instance operating system administration
+ Instance operating system administration
@@ -52,7 +52,7 @@
The &dhpackage; is used for managing the list
of available operating system flavours for the instances in the
- ganeti cluster.
+ Ganeti cluster.