From 6c4811dc68db531aa3bc45c451cb8a352a345baa Mon Sep 17 00:00:00 2001
From: Iustin Pop <iustin@google.com>
Date: Mon, 12 Nov 2007 01:19:50 +0000
Subject: [PATCH] Update documentation for drbd8 and beta2 release

This patch does:
  - add drbd8 information to the docs (the new disk template, examples,
    etc.)
  - fixes a section header to make it more clear
  - update the NEWS file by changing format (format taken by looking at
    /usr/sharea/doc/*/NEWS.gz) and adding more information on changes
    since beta1

Reviewed-by: ultrotter
---
 INSTALL          |  4 ++--
 NEWS             | 30 ++++++++++++++++++++++-------
 doc/admin.sgml   | 30 ++++++++++++++++++++++++-----
 doc/install.sgml | 49 +++++++++++++++++++++++++++++++++---------------
 4 files changed, 84 insertions(+), 29 deletions(-)

diff --git a/INSTALL b/INSTALL
index 23cf2e1a9..1f2eed93a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -12,7 +12,7 @@ Software Requirements
 Before installing, please verify that you have the following programs:
   - Xen virtualization (version 3.0.x or 3.1)
     http://xen.xensource.com/
-  - DRBD (kernel module and userspace utils)
+  - DRBD (kernel module and userspace utils), version 0.7.x or 8.0.x
     http://www.drbd.org/
   - LVM2
     http://sourceware.org/lvm2/
@@ -26,7 +26,7 @@ Before installing, please verify that you have the following programs:
     http://developer.osdl.org/dev/iproute2
   - arping (part of iputils package)
     ftp://ftp.inr.ac.ru/ip-routing/iputils-current.tar.gz
-  - mdadm (Linux Software Raid tools)
+  - mdadm (Linux Software Raid tools) (needed only with drbd 0.7.x)
     http://www.kernel.org/pub/linux/utils/raid/mdadm/
   - Python 2.4
     http://www.python.org
diff --git a/NEWS b/NEWS
index 9f5e4ebda..0ff16e09a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,24 @@
-News for Ganeti
-===============
-
-This file lists major changes between versions.
-
-1.2b2:
-  * Change configuration file format from Python's Pickle to JSON.
+Version 1.2b2
+  - Change configuration file format from Python's Pickle to JSON.
     Upgrading is possible using the cfgupgrade utility.
+  - Add support for DRBD 8.0 (new disk template `drbd`) which allows for
+    faster replace disks and is more stable (DRBD 8 has many
+    improvements compared to DRBD 0.7)
+  - Added command line tags support (see man pages for gnt-instance,
+    gnt-node, gnt-cluster)
+  - Added instance rename support
+  - Added multi-instance startup/shutdown
+  - Added cluster rename support
+  - Added `gnt-node evacuate` to simplify some node operations
+  - Added instance reboot operation that can speedup reboot as compared
+    to stop and start
+  - Soften the requirement that hostnames are in FQDN format
+  - The ganeti-watcher now activates drbd pairs after secondary node
+    reboots
+  - Removed dependency on debian's patched fping that uses the
+    non-standard -S option
+  - Now the OS definitions are searched for in multiple, configurable
+    paths (easier for distros to package)
+  - Some changes to the hooks infrastructure (especially the new
+    post-configuration update hook)
+  - Other small bugfixes
diff --git a/doc/admin.sgml b/doc/admin.sgml
index 815e4e00a..ccb885879 100644
--- a/doc/admin.sgml
+++ b/doc/admin.sgml
@@ -185,7 +185,7 @@
           <term>remote_raid1</term>
           <listitem>
             <simpara><emphasis role="strong">Note:</emphasis> This is only
-              valid for multi-node clusters.</simpara>
+              valid for multi-node clusters using drbd 0.7.</simpara>
             <simpara>
               A mirror is set between the local node and a remote one, which
               must be specified with the second value of the --node option. Use
@@ -195,11 +195,28 @@
           </listitem>
         </varlistentry>
 
+        <varlistentry>
+          <term>drbd</term>
+          <listitem>
+            <simpara><emphasis role="strong">Note:</emphasis> This is only
+              valid for multi-node clusters using drbd 8.0.</simpara>
+            <simpara>
+              This is similar to the
+              <replaceable>remote_raid1</replaceable> option, but uses
+              new features in drbd 8 to simplify the device
+              stack. From a user's point of view, this will improve
+              the speed of the <command>replace-disks</command>
+              command and (in future versions) provide more
+              functionality.
+            </simpara>
+          </listitem>
+        </varlistentry>
+
       </variablelist>
 
       <para>
         For example if you want to create an highly available instance use the
-        remote_raid1 disk template:
+        remote_raid1 or drbd disk templates:
         <synopsis>gnt-instance add -n <replaceable>TARGET_NODE</replaceable><optional>:<replaceable>SECONDARY_NODE</replaceable></optional> -o <replaceable>OS_TYPE</replaceable> -t remote_raid1 \
   <replaceable>INSTANCE_NAME</replaceable></synopsis>
 
@@ -312,9 +329,12 @@
         failed, or you plan to remove a node from your cluster, and
         you failed over all its instances, but it's still secondary
         for some? The solution here is to replace the instance disks,
-        changing the secondary node:
+        changing the secondary node. This is done in two ways, depending on the disk template type. For <literal>remote_raid1</literal>:
+
+        <synopsis>gnt-instance replace-disks <option>-n <replaceable>NEW_SECONDARY</replaceable></option> <replaceable>INSTANCE_NAME</replaceable></synopsis>
 
-        <synopsis>gnt-instance replace-disks -n <replaceable>NEW_SECONDARY</replaceable> <replaceable>INSTANCE_NAME</replaceable></synopsis>
+        and for <literal>drbd</literal>:
+        <synopsis>gnt-instance replace-disks <option>-s</option> <option>-n <replaceable>NEW_SECONDARY</replaceable></option> <replaceable>INSTANCE_NAME</replaceable></synopsis>
 
         This process is a bit longer, but involves no instance
         downtime, and at the end of it the instance has changed its
@@ -394,7 +414,7 @@
     </sect2>
 
     <sect2>
-      <title>Instance Operating System Debugging</title>
+      <title>Instance OS definitions Debugging</title>
 
       <para>
         Should you have any problems with operating systems support
diff --git a/doc/install.sgml b/doc/install.sgml
index 49a2f48d4..e1967784b 100644
--- a/doc/install.sgml
+++ b/doc/install.sgml
@@ -291,11 +291,13 @@ ln -s initrd.img-2.6.18-5-xen-686 initrd-2.6-xenU
       </para>
 
       <para>
-        Supported DRBD version: the <literal>0.7</literal>
-        series. It's recommended to have at least version
-        <literal>0.7.24</literal> if you use <command>udev</command>
-        since older versions have a bug related to device discovery
-        which can be triggered in cases of hard drive failure.
+        Supported DRBD versions: the <literal>0.7</literal> series
+        <emphasis role="strong">or</emphasis>
+        <literal>8.0.x</literal>. It's recommended to have at least
+        version <literal>0.7.24</literal> if you use
+        <command>udev</command> since older versions have a bug
+        related to device discovery which can be triggered in cases of
+        hard drive failure.
       </para>
 
       <para>
@@ -311,9 +313,14 @@ ln -s initrd.img-2.6.18-5-xen-686 initrd-2.6-xenU
         you have the DRBD utils installed and the module in your
         kernel you're fine. Please check that your system is
         configured to load the module at every boot, and that it
-        passes the following option to the module:
+        passes the following option to the module (for
+        <literal>0.7.x</literal>:
         <computeroutput>minor_count=64</computeroutput> (this will
-        allow you to use up to 32 instances per node).
+        allow you to use up to 32 instances per node) or for
+        <literal>8.0.x</literal> you can use up to
+        <constant>255</constant>
+        (i.e. <computeroutput>minor_count=255</computeroutput>, but
+        for most clusters <constant>128</constant> should be enough).
       </para>
 
       <formalpara><title>Debian</title>
@@ -331,6 +338,15 @@ m-a a-i drbd0.7
 echo drbd minor_count=64 >> /etc/modules
 modprobe drbd minor_count=64
       </screen>
+      <para>or for using DRBD <literal>8.x</literal> from the etch
+      backports:</para>
+      <screen>
+apt-get install -t etch-backports drbd8-module-source drbd8-utils
+m-a update
+m-a a-i drbd8
+echo drbd minor_count=128 >> /etc/modules
+modprobe drbd minor_count=128
+      </screen>
 
       <para>
         It is also recommended that you comment out the default
@@ -772,11 +788,13 @@ node1.example.com 197404 197404   2047  1896   125     0     0
         This step shows how to setup a virtual instance with either
         non-mirrored disks (<computeroutput>plain</computeroutput>) or
         with network mirrored disks
-        (<computeroutput>remote_raid1</computeroutput>).  All commands
-        need to be executed on the Ganeti master node (the one on
-        which <computeroutput>gnt-cluster init</computeroutput> was
-        run).  Verify that the OS scripts are present on all cluster
-        nodes with <computeroutput>gnt-os list</computeroutput>.
+        (<computeroutput>remote_raid1</computeroutput> for drbd 0.7
+        and <computeroutput>drbd</computeroutput> for drbd 8.x).  All
+        commands need to be executed on the Ganeti master node (the
+        one on which <computeroutput>gnt-cluster init</computeroutput>
+        was run).  Verify that the OS scripts are present on all
+        cluster nodes with <computeroutput>gnt-os
+        list</computeroutput>.
       </para>
       <para>
         To create a virtual instance, you need a hostname which is
@@ -808,7 +826,8 @@ creating os for instance inst1.example.com on node node1.example.com
       <para>
         To create a network mirrored instance, change the argument to
         the <option>-t</option> option from <literal>plain</literal>
-        to <literal>remote_raid1</literal> and specify the node on
+        to <literal>remote_raid1</literal> (drbd 0.7) or
+        <literal>drbd</literal> (drbd 8.0) and specify the node on
         which the mirror should reside with the second value of the
         <option>--node</option> option, like this:
       </para>
@@ -854,8 +873,8 @@ creating os for instance instance2 on node node1.example.com
 
       <para>
         To failover an instance to its secondary node (only possible
-        in <literal>remote_raid1</literal> setup), use
-        <computeroutput>gnt-instance failover
+        in <literal>remote_raid1</literal> or <literal>drbd</literal>
+        disk templates), use <computeroutput>gnt-instance failover
         <replaceable>INSTANCENAME</replaceable></computeroutput>.
       </para>
 
-- 
GitLab