diff --git a/Makefile.am b/Makefile.am
index 8ccbb87842f3b139bdf0f1032d610a20f5c37ec7..7d7dcbd6e91a917393df4f11691f39ee7e4d0edf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -179,8 +179,10 @@ EXTRA_DIST = \
man_MANS = \
man/ganeti.7 \
+ man/ganeti-masterd.8 \
man/ganeti-noded.8 \
man/ganeti-os-interface.7 \
+ man/ganeti-rapi.8 \
man/ganeti-watcher.8 \
man/gnt-backup.8 \
man/gnt-cluster.8 \
diff --git a/man/ganeti-masterd.sgml b/man/ganeti-masterd.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..873dd720f3007eae41731e0d261f7c937dc0995c
--- /dev/null
+++ b/man/ganeti-masterd.sgml
@@ -0,0 +1,164 @@
+
+ February 11, 2009">
+
+ 8">
+ ganeti-masterd">
+
+
+ Debian">
+ GNU">
+ GPL">
+
+]>
+
+
+
+
+ 2008
+ 2009
+ Google Inc.
+
+ &dhdate;
+
+
+ &dhucpackage;
+
+ &dhsection;
+ ganeti 2.0
+
+
+ &dhpackage;
+
+ ganeti master daemon
+
+
+
+ &dhpackage;
+ -f
+ -d
+ --no-voting
+
+
+
+
+ DESCRIPTION
+
+
+ The &dhpackage; is the daemon which is
+ responsible for the overall cluster coordination. Without it, no
+ change can be performed on the cluster.
+
+
+
+ For testing purposes, you can give the
+ option and the program won't detach from the running terminal.
+
+
+
+ Debug-level message can be activated by giving the
+ option.
+
+
+ ROLE
+
+ The role of the master daemon is to coordinate all the actions
+ that change the state of the cluster. Things like accepting
+ new jobs, coordinating the changes on nodes (via RPC calls to
+ the respective node daemons), maintaining the configuration
+ and so on are done via this daemon.
+
+
+
+ The only action that can be done without the master daemon is
+ the failover of the master role to another node in the
+ cluster, via the gnt-cluster masterfailover
+ command.
+
+
+
+ If the master daemon is stopped, the instances are not
+ affected, but they won't be restarted automatically in case of
+ failure.
+
+
+
+
+ STARTUP
+
+ At startup, the master daemon will confirm with the node
+ daemons that the node it is running is indeed the master node
+ of the cluster. It will abort if it doesn't get half plus one
+ positive answers (offline nodes are queried too, just in case
+ our configuration is stale).
+
+
+
+ For small clusters with a number of nodes down, and especially
+ for two-node clusters where the other has gone done, this
+ creates a problem. In this case the
+ option can be used to skip this
+ process. The option requires interactive confirmation, as
+ having two masters on the same cluster is a very dangerous
+ situation and will most likely lead to data loss.
+
+
+
+
+ JOB QUEUE
+
+ The master daemon maintains a job queue (located under
+ @LOCALSTATEDIR@/lib/ganeti/queue) in
+ which all current jobs are stored, one job per file serialized
+ in JSON format; in this directory a subdirectory called
+ archive holds archived
+ job files.
+
+
+
+ The moving of jobs from the current to the queue directory is
+ done via a request to the master; this can be accomplished
+ from the command line with the gnt-job
+ archive or gnt-job autoarchive
+ commands. In case of problems with the master, a job file can
+ simply be moved away or deleted (but this might leave the
+ cluster inconsistent).
+
+
+
+
+
+ COMMUNICATION PROTOCOL
+
+ The master accepts commands over a Unix socket, using JSON
+ serialized messages separated by a specific byte sequence. For
+ more details, see the design documentation supplied with
+ Ganeti.
+
+
+
+
+
+ &footer;
+
+
+
+
diff --git a/man/ganeti-noded.sgml b/man/ganeti-noded.sgml
index 7f00e14cfa2481fe4d5c8fa3466fc5e326668409..996d0ed48037d6fe0dfc3687cc1fb5b79d7d1601 100644
--- a/man/ganeti-noded.sgml
+++ b/man/ganeti-noded.sgml
@@ -1,7 +1,7 @@
- June 16, 2007">
+ February 11, 2009">
8">
@@ -19,6 +19,8 @@
20062007
+ 2008
+ 2009Google Inc.
&dhdate;
@@ -27,17 +29,18 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
- ganeti daemon
+ ganeti node daemon&dhpackage; -f
+ -d
@@ -46,13 +49,18 @@
The &dhpackage; is the daemon which is
- responsible for the cluster functions in the ganeti system.
+ responsible for the node functions in the ganeti system.
For testing purposes, you can give the
option and the program won't detach from the running terminal.
+
+
+ Debug-level message can be activated by giving the
+ option.
+ ROLE
@@ -62,6 +70,12 @@
and so on are done via the node daemon.
+
+ Also, in some cases the startup/shutdown of the master daemon
+ are done via the node daemon, and the cluster IP address is
+ also added/removed to the master node via it.
+
+
If the node daemon is stopped, the instances are not affected,
but the master won't be able to talk to that node.
@@ -71,8 +85,8 @@
COMMUNICATION PROTOCOL
- Currently the master-node protocol is done using the Twisted
- perspective broker libraries.
+ Currently the master-node RPC is done using a simple json-RPC
+ over HTTP(S).
diff --git a/man/ganeti-rapi.sgml b/man/ganeti-rapi.sgml
new file mode 100644
index 0000000000000000000000000000000000000000..ccc5dea44b0f84d1f22c24e233dc3525ab4c918e
--- /dev/null
+++ b/man/ganeti-rapi.sgml
@@ -0,0 +1,103 @@
+
+
+ February 11, 2009">
+
+ 8">
+ ganeti-rapi">
+
+
+ Debian">
+ GNU">
+ GPL">
+
+]>
+
+
+
+
+ 2008
+ 2009
+ Google Inc.
+
+ &dhdate;
+
+
+ &dhucpackage;
+
+ &dhsection;
+ ganeti 2.0
+
+
+ &dhpackage;
+
+ ganeti remote API daemon
+
+
+
+ &dhpackage;
+ -d
+ -f
+ -p PORT
+ --no-ssl
+ -K SSL_KEY_FILE
+ -C SSL_CERT_FILE
+
+
+
+
+ DESCRIPTION
+
+
+ &dhpackage; is the daemon providing a remote
+ API for Ganeti clusters.
+
+
+
+ It is automatically started on the master node, and by default
+ it uses SSL encryption. This can be disabled by passing the
+ option, or alternatively the
+ certificate used can be changed via the
+ option and the key via the option.
+
+
+
+ The daemon will listen by default on the port 5080, but this can
+ be changed via the option.
+
+
+
+ See the Ganeti remote API documentation for
+ further information.
+
+
+
+ Requests are logged to
+ @LOCALSTATEDIR@/log/ganeti/rapi-daemon.log,
+ in the same format as for the node and master daemon.
+
+
+
+
+ &footer;
+
+
+
+
diff --git a/man/ganeti-watcher.sgml b/man/ganeti-watcher.sgml
index 30250cedc232ae2cd91eeb09c843a2dbf7225a7c..b6e94658574d7ca12629fc592cdf790839c3da25 100644
--- a/man/ganeti-watcher.sgml
+++ b/man/ganeti-watcher.sgml
@@ -2,7 +2,7 @@
- June 20, 2007">
+ February 11, 2009">
8">
@@ -19,6 +19,8 @@
2007
+ 2008
+ 2009Google Inc.
&dhdate;
@@ -27,7 +29,7 @@
&dhucpackage;
&dhsection;
- ganeti 1.2
+ ganeti 2.0&dhpackage;
@@ -61,9 +63,10 @@
secondaries on nodes that have been rebooted.
- In order to prevent piling up commands, all the
- gnt-* commands executed by ganeti-watcher are
- run with a timeout of 15 seconds.
+
+ The watcher does synchronous queries but will submit jobs for
+ executing the changes. Due to locking, it could be that the jobs
+ execute much later than the watcher executes them.