Commit e0897adf authored by Michael Hanselmann's avatar Michael Hanselmann

Start to prepare documentation for 2.2 release

- Update NEWS file
- Remove dependency on OpenSSL (pyOpenSSL remains)
- Update manpages, fix typos and other things
Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
Reviewed-by: default avatarIustin Pop <iustin@google.com>
parent fc0726b9
......@@ -20,7 +20,6 @@ Before installing, please verify that you have the following programs:
- `DRBD <http://www.drbd.org/>`_, kernel module and userspace utils,
version 8.0.7 or above
- `LVM2 <http://sourceware.org/lvm2/>`_
- `OpenSSL <http://www.openssl.org/>`_
- `OpenSSH <http://www.openssh.com/portable.html>`_
- `bridge utilities <http://www.linuxfoundation.org/en/Net:Bridge>`_
- `iproute2 <http://www.linuxfoundation.org/en/Net:Iproute2>`_
......
......@@ -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
<move-instance>` and :doc:`design document <design-2.2>`)
- 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
......
Ganeti 2.1
Ganeti 2.2
==========
For installation instructions, read the INSTALL and the doc/install.html
......
......@@ -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 <move-instance>`.
.. TODO: document cluster-merge tool
Other Ganeti projects
---------------------
......
......@@ -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
......
......@@ -3,7 +3,7 @@
<para>
Report bugs to <ulink
url="http://code.google.com/p/ganeti/"></ulink> or contact the
developers using the ganeti mailing list
developers using the Ganeti mailing list
&lt;ganeti@googlegroups.com&gt;.
</para>
</refsect1>
......@@ -83,7 +83,7 @@
<title>COPYRIGHT</title>
<para>
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)
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>May 17, 2010</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -28,12 +28,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti job queue cleaner</refpurpose>
<refpurpose>Ganeti job queue cleaner</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>October 21, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -26,12 +26,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.1</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti conf daemon</refpurpose>
<refpurpose>Ganeti conf daemon</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -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.
</para>
</refsect2>
......
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 11, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -19,6 +19,7 @@
<copyright>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<holder>Google Inc.</holder>
</copyright>
&dhdate;
......@@ -27,12 +28,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti master daemon</refpurpose>
<refpurpose>Ganeti master daemon</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 11, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -21,6 +21,7 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<holder>Google Inc.</holder>
</copyright>
&dhdate;
......@@ -29,12 +30,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti node daemon</refpurpose>
<refpurpose>Ganeti node daemon</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -49,14 +50,18 @@
<para>
The <command>&dhpackage;</command> is the daemon which is
responsible for the node functions in the ganeti system.
responsible for the node functions in the Ganeti system.
</para>
<para>
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
<option>--no-mlock</option>.
powercycling even on systems with a very damaged root disk,
<command>ganeti-noded</command> locks itself in RAM using
<citerefentry>
<refentrytitle>mlockall</refentrytitle>
<manvolnum>2</manvolnum>
</citerefentry>. You can disable this feature by passing in the
<option>--no-mlock</option> to the daemon.
</para>
<para>
......@@ -75,16 +80,17 @@
</para>
<para>
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>-p</option> option. The <option>-b</option> option
can be used to specify the address to bind to (defaults to 0.0.0.0).
The <command>ganeti-noded</command> daemon listens to port 1811 TCP, on
all interfaces, by default. This can be overridden by an entry the
services database (<filename>/etc/services</filename>) or by passing the
<option>-p</option> option. The <option>-b</option> option can be used to
specify the address to bind to (defaults to 0.0.0.0).
</para>
<para>
Ganeti noded communication is protected via SSL, with a key generated at
cluster init time. This can be disabled with the
<option>--no-ssl</option> option, or a different ssl key and certificate
<option>--no-ssl</option> option, or a different SSL key and certificate
can be specified using the <option>-K</option> and <option>-C</option>
options.
</para>
......@@ -113,8 +119,8 @@
<refsect2>
<title>COMMUNICATION PROTOCOL</title>
<para>
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).
</para>
</refsect2>
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>October 02, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>7</manvolnum>">
......@@ -31,14 +31,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.1</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ganeti-os-interface</refname>
<refpurpose>specifications for guest OS types
</refpurpose>
<refpurpose>Specifications for guest OS types</refpurpose>
</refnamediv>
<refsect1>
......@@ -75,7 +73,7 @@
<varlistentry>
<term>OS_API_VERSION</term>
<listitem>
<simpara>The OS api version that the rest of the
<simpara>The OS API version that the rest of the
environment conforms to.</simpara>
</listitem>
</varlistentry>
......@@ -89,11 +87,11 @@
<varlistentry>
<term>INSTANCE_OS</term>
<listitem>
<simpara>The name os the instance's OS as Ganeti knows
<simpara>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.</simpara>
<simpara>Under OS api 15 changing the script behavior based
<simpara>With OS API 15 changing the script behavior based
on this variable is deprecated: OS_VARIANT should be used
instead (see below).</simpara>
</listitem>
......@@ -105,7 +103,7 @@
must support all variants listed under its
<filename>variants.list</filename> file, and may support more.
Any more supported variants should be properly documented in the
per-os documentation.</simpara>
per-OS documentation.</simpara>
</listitem>
</varlistentry>
<varlistentry>
......@@ -233,7 +231,7 @@
<para>The <envar>INSTANCE_REINSTALL</envar> 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.</para>
data in the old instance in an OS-specific way.</para>
</refsect2>
......@@ -328,11 +326,11 @@ fi
<title>ganeti_api_version</title>
<para>
The <filename>ganeti_api_version</filename> 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).
</para>
......@@ -353,11 +351,11 @@ fi
<title>NOTES</title>
<refsect2>
<title>Retrocompatibility</title>
<title>Backwards compatibility</title>
<para>
Ganeti 2.1 is compatible with both api version 10, and 15.
In api version 10 the <filename>variants.list</filename>
Ganeti 2.2 is compatible with both API version 10, and 15.
In API version 10 the <filename>variants.list</filename>
file is ignored and no OS_VARIANT environment variable is
passed.
</para>
......@@ -394,7 +392,7 @@ fi
<title>Version 5 to 10</title>
<para>
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
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 11, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -20,6 +20,7 @@
<copyright>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<holder>Google Inc.</holder>
</copyright>
&dhdate;
......@@ -28,12 +29,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti remote API daemon</refpurpose>
<refpurpose>Ganeti remote API daemon</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -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.</para>
<para>More details (including on how to use hashed passwords) can be found
in the Ganeti documentation.</para>
</refsect1>
&footer;
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 11, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -21,6 +21,7 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<holder>Google Inc.</holder>
</copyright>
&dhdate;
......@@ -29,12 +30,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti cluster watcher</refpurpose>
<refpurpose>Ganeti cluster watcher</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -80,7 +81,7 @@
<para>
In addition, it will execute any scripts which exist under the
<quote>watcher</quote> directory in the ganeti hooks directory
<quote>watcher</quote> directory in the Ganeti hooks directory
(@SYSCONFDIR@/ganeti/hooks). This should be used for
lightweight actions, like starting any extra daemons.
</para>
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 12, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>7</manvolnum>">
......@@ -22,6 +22,7 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<holder>Google Inc.</holder>
</copyright>
&dhdate;
......@@ -30,7 +31,7 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
......@@ -51,10 +52,9 @@
<title>DESCRIPTION</title>
<para>
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.
</para>
</refsect1>
......@@ -134,7 +134,7 @@
<varlistentry>
<term>offline</term>
<listitem>
<para>These nodes are still recorder in the ganeti
<para>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
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 11, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -30,12 +30,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.1</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti instance import/export</refpurpose>
<refpurpose>Ganeti instance import/export</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -50,8 +50,8 @@
<para>
The <command>&dhpackage;</command> 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.
</para>
</refsect1>
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 12, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -30,12 +30,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>ganeti administration, cluster-wide</refpurpose>
<refpurpose>Ganeti administration, cluster-wide</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -50,7 +50,7 @@
<para>
The <command>&dhpackage;</command> is used for cluster-wide
administration in the ganeti system.
administration in the Ganeti system.
</para>
</refsect1>
......@@ -293,7 +293,7 @@
<para>
The <option>-g</option> 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
<command>modify</command> command. If you don't want to use lvm
......@@ -564,12 +564,14 @@
<para>
The <option>--no-voting</option> 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 <option>--no-voting</option> to
<command>ganeti-masterd</command> on the new master to solve this
problem, and run <command>gnt-cluster redist-conf</command> to make
sure the cluster is consistent again.
</para>
</refsect2>
......@@ -900,7 +902,7 @@
</para>
<para>
If the <option>--no-nplus1-mem</option> option is given, ganeti won't
If the <option>--no-nplus1-mem</option> 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).
</para>
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>February 12, 2009</date>">
<!ENTITY dhdate "<date>June 08, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>8</manvolnum>">
......@@ -22,6 +22,7 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<holder>Google Inc.</holder>
</copyright>
&dhdate;
......@@ -30,12 +31,12 @@
&dhucpackage;
&dhsection;
<refmiscinfo>ganeti 2.0</refmiscinfo>
<refmiscinfo>Ganeti 2.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>debug commands</refpurpose>
<refpurpose>Debug commands</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
......@@ -50,7 +51,7 @@
<para>
The <command>&dhpackage;</command> is used for debugging the
ganeti system.
Ganeti system.
</para>
</refsect1>
......@@ -101,7 +102,7 @@
</para>
<para>
This build of ganeti will look for iallocator scripts in the
This build of Ganeti will look for iallocator scripts in the
following directories: <filename
class="directory">@CUSTOM_IALLOCATOR_SEARCH_PATH@</filename>;
for more details about this framework, see the HTML or PDF
......
......@@ -2,7 +2,7 @@
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>January 22, 2010</date>">