Convert gnt-instance list and info to use roman
[ganeti-local] / man / gnt-instance.sgml
index 5e314aa..2d4c2cb 100644 (file)
@@ -2,7 +2,7 @@
 
   <!-- Fill in your name for FIRSTNAME and SURNAME. -->
   <!-- Please adjust the date whenever revising the manpage. -->
-  <!ENTITY dhdate      "<date>May 29, 2008</date>">
+  <!ENTITY dhdate      "<date>January 22, 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,8 @@
       <year>2006</year>
       <year>2007</year>
       <year>2008</year>
+      <year>2009</year>
+      <year>2010</year>
       <holder>Google Inc.</holder>
     </copyright>
     &dhdate;
@@ -29,7 +31,7 @@
     &dhucpackage;
 
     &dhsection;
-    <refmiscinfo>ganeti 1.2</refmiscinfo>
+    <refmiscinfo>ganeti 2.0</refmiscinfo>
   </refmeta>
   <refnamediv>
     <refname>&dhpackage;</refname>
         <title>ADD</title>
         <cmdsynopsis>
           <command>add</command>
-          <arg>-s <replaceable>disksize</replaceable></arg>
-          <arg>--swap-size <replaceable>disksize</replaceable></arg>
-          <arg>-m <replaceable>memsize</replaceable></arg>
           <sbr>
-
-          <arg>-b <replaceable>bridge</replaceable></arg>
-          <arg>--mac <replaceable>MAC-address</replaceable></arg>
-          <sbr>
-
-          <arg>--hvm-boot-order <replaceable>boot-order</replaceable></arg>
-          <arg>--hvm-acpi <replaceable>ACPI-support</replaceable></arg>
-          <sbr>
-
-          <arg>--hvm-pae <replaceable>PAE-support</replaceable></arg>
-          <sbr>
-
-          <arg>--hvm-cdrom-image-path
-            <replaceable>cdrom-image-path</replaceable></arg>
+          <arg choice="req">-t<group choice="req">
+              <arg>diskless</arg>
+              <arg>file</arg>
+              <arg>plain</arg>
+              <arg>drbd</arg>
+            </group></arg>
           <sbr>
 
-          <arg>--hvm-nic-type <replaceable>NICTYPE</replaceable></arg>
+          <group choice="req">
+            <arg rep="repeat">--disk=<replaceable>N</replaceable>:<group choice="req">
+                <arg>size=<replaceable>VAL</replaceable></arg>
+                <arg>adopt=<replaceable>LV</replaceable></arg>
+              </group>,mode=<replaceable>ro|rw</replaceable></arg>
+            <arg>-s <replaceable>SIZE</replaceable></arg>
+          </group>
           <sbr>
-
-          <arg>--hvm-disk-type
-          <replaceable>DISKTYPE</replaceable></arg>
+          <arg>--no-ip-check</arg>
+          <arg>--no-name-check</arg>
+          <arg>--no-start</arg>
+          <arg>--no-install</arg>
           <sbr>
-
-          <arg>--vnc-bind-address
-            <replaceable>vnc-bind-address</replaceable></arg>
+          <group>
+            <arg rep="repeat">--net=<replaceable>N</replaceable><arg rep="repeat">:options</arg></arg>
+            <arg>--no-nics</arg>
+          </group>
           <sbr>
-
-          <arg>--kernel<group choice="req">
-              <arg>default</arg>
-              <arg><replaceable>kernel_path</replaceable></arg>
-            </group></arg>
+          <arg>-B <replaceable>BEPARAMS</replaceable></arg>
           <sbr>
 
-          <arg>--initrd<group choice="req">
-              <arg>default</arg>
-              <arg>none</arg>
-              <arg><replaceable>initrd_path</replaceable></arg>
-            </group></arg>
+          <arg>-H <replaceable>HYPERVISOR</replaceable><arg>:<arg choice="plain" rep="repeat">option=<replaceable>value</replaceable></arg></arg></arg>
           <sbr>
 
           <arg>--file-storage-dir <replaceable>dir_path</replaceable></arg>
             </group></arg>
           <sbr>
 
-          <arg choice="req">-t<group choice="req">
-              <arg>diskless</arg>
-              <arg>file</arg>
-              <arg>plain</arg>
-              <arg>drbd</arg>
-            </group></arg>
-          <sbr>
-
           <group choice="req">
             <arg>-n <replaceable>node<optional>:secondary-node</optional></replaceable></arg>
             <arg>--iallocator <replaceable>name</replaceable></arg>
 
           <arg choice="req">-o <replaceable>os-type</replaceable></arg>
           <sbr>
+          <arg>--submit</arg>
+          <sbr>
 
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
         <para>
-          Creates a new instance on the specified
-          host. <replaceable>instance</replaceable> must be in DNS and
-          resolve to a IP in the same network as the nodes in the
-          cluster.
+          Creates a new instance on the specified host. The
+          <replaceable>instance</replaceable> argument must be in DNS,
+          but depending on the bridge/routing setup, need not be in
+          the same network as the nodes in the cluster.
         </para>
 
         <para>
-          The <option>-s</option> option specifies the disk size for
-          the instance, in mebibytes (defaults to
-          <constant>20480MiB</constant> =
-          <constant>20GiB</constant>). You can also use one of the
-          suffixes <literal>m</literal>, <literal>g</literal> or
+          The <option>disk</option> option specifies the parameters
+          for the disks of the instance. The numbering of disks starts
+          at zero, and at least one disk needs to be passed. For each
+          disk, either the size or the adoption source needs to be
+          given, and optionally the access mode (read-only or the
+          default of read-write) can also be specified.  The size is
+          interpreted (when no unit is given) in mebibytes. You can
+          also use one of the suffixes
+          <literal>m</literal>, <literal>g</literal> or
           <literal>t</literal> to specificy the exact the units used;
           these suffixes map to mebibytes, gibibytes and tebibytes.
         </para>
 
         <para>
-          The <option>--swap-size</option> option specifies the swap
-          disk size (in mebibytes) for the instance (the one presented
-          as <filename class="devicefile">/dev/sdb</filename>). The
-          default is <constant>4096MiB</constant>. As for the disk
-          size, you can specify other suffixes.
+          When using the <option>adopt</option> key in the disk
+          definition, Ganeti will reuse those volumes (instead of
+          creating new ones) as the instance's disks. Ganeti will
+          rename these volumes to the standard format, and (without
+          installing the OS) will use them as-is for the
+          instance. This allows migrating instances from non-managed
+          mode (e.q. plain KVM with LVM) to being managed via
+          Ganeti. Note that this works only for the `plain' disk
+          template (see below for template details).
         </para>
 
         <para>
-          The <option>-m</option> option specifies the memory size for
-          the instance, in mebibytes (defaults to 128 MiB). Again, you
-          can use other suffixes (e.g. <userinput>2g</userinput>).
+          Alternatively, a single-disk instance can be created via the
+          <option>-s</option> option which takes a single argument,
+          the size of the disk. This is similar to the Ganeti 1.2
+          version (but will only create one disk).
         </para>
 
         <para>
-          The <option>-o</option> options specifies the operating
-          system to be installed. The available operating systems can
-          be listed with <command>gnt-os list</command>.
+          The minimum disk specification is therefore
+          <userinput>--disk 0:size=20G</userinput> (or <userinput>-s
+          20G</userinput> when using the <option>-s</option> option),
+          and a three-disk instance can be specified as
+          <userinput>--disk 0:size=20G --disk 1:size=4G --disk
+          2:size=100G</userinput>.
         </para>
 
         <para>
-          The <option>-b</option> option specifies the bridge to which the
-          instance will be connected. (defaults to the cluster-wide default
-          bridge specified at cluster initialization time).
+          The <option>--no-ip-check</option> skips the checks that are
+          done to see if the instance's IP is not already alive
+          (i.e. reachable from the master node).
         </para>
 
         <para>
-          The <option>--mac</option> option specifies the MAC address
-          of the ethernet interface for the instance. If this option
-          is not specified, a new MAC address is generated randomly with
-          the configured MAC prefix. The randomly generated MAC
-          address is guaranteed to be unique among the instances of
-          this cluster.
+          The <option>--no-name-check</option> skips the check for the
+          instance name via the resolver (e.g. in DNS or /etc/hosts,
+          depending on your setup). Since the name check is used to
+          compute the IP address, if you pass this option you must
+          also pass the <option>--no-ip-check</option> option.
         </para>
 
         <para>
-          The <option>--hvm-boot-order</option> option specifies the
-          boot device order for Xen HVM instances. The boot order is a
-          string of letters listing the boot devices, with valid
-          device letters being:
+          If you don't wat the instance to automatically start after
+          creation, this is possible via the
+          <option>--no-start</option> option. This will leave the
+          instance down until a subsequent <command>gnt-instance
+          start</command> command.
         </para>
 
         <para>
+          The NICs of the instances can be specified via the
+          <option>--net</option> option. By default, one NIC is
+          created for the instance, with a random MAC, and set
+          up according the the cluster level nic parameters.
+          Each NIC can take these parameters (all optional):
           <variablelist>
             <varlistentry>
-              <term>a</term>
+              <term>mac</term>
               <listitem>
-                <para>
-                  floppy drive
-                </para>
+                <simpara>either a value or <constant>GENERATE</constant>
+                  to generate a new unique MAC</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>c</term>
+              <term>ip</term>
               <listitem>
-                <para>
-                  hard disk
-                </para>
+                <simpara>specifies the IP address assigned to the
+                  instance from the Ganeti side (this is not necessarily
+                  what the instance will use, but what the node expects
+                  the instance to use)</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>d</term>
+              <term>mode</term>
               <listitem>
-                <para>
-                  CDROM drive
-                </para>
+                <simpara>specifies the connection mode for this nic:
+                  routed or bridged.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>n</term>
+              <term>link</term>
               <listitem>
-                <para>
-                  network boot (PXE)
-                </para>
+                <simpara>in bridged mode specifies the bridge to attach
+                  this NIC to, in routed mode it's intended to
+                  differentiate between different routing tables/instance
+                  groups (but the meaning is dependent on the network
+                  script, see gnt-cluster(8) for more details)</simpara>
               </listitem>
             </varlistentry>
           </variablelist>
+          Of these "mode" and "link" are nic parameters, and inherit their
+          default at cluster level.
         </para>
 
         <para>
-          The default is not to set an HVM boot order which is
-          interpreted as 'dc'. This option, like all options starting
-          with 'hvm', is only relevant for Xen HVM instances and
-          ignored by all other instance types.
+          Alternatively, if no network is desired for the instance, you
+          can prevent the default of one NIC with the
+          <option>--no-nics</option> option.
         </para>
 
         <para>
-          The <option>--hvm-acpi</option> option specifies if Xen
-          should enable ACPI support for this HVM instance. Valid
-          values are true or false. The default value is false,
-          disabling ACPI support for this instance.
+          The <option>-o</option> options specifies the operating
+          system to be installed. The available operating systems can
+          be listed with <command>gnt-os
+          list</command>. Passing <option>--no-install</option> will
+          however skip the OS installation, allowing a manual import
+          if so desired. Note that the no-installation mode will
+          automatically disable the start-up of the instance (without
+          an OS, it most likely won't be able to start-up
+          successfully).
         </para>
 
         <para>
-          The <option>--hvm-pae</option> option specifies if Xen
-          should enabled PAE support for this HVM instance. Valid
-          values are true or false. The default is false, disabling
-          PAE support for this instance.
+          The <option>-B</option> option specifies the backend
+          parameters for the instance. If no such parameters are
+          specified, the values are inherited from the cluster. Possible
+          parameters are:
+          <variablelist>
+            <varlistentry>
+              <term>memory</term>
+              <listitem>
+                <simpara>the memory size of the instance; as usual,
+                  suffixes can be used to denote the unit, otherwise the
+                  value is taken in mebibites</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>vcpus</term>
+              <listitem>
+                <simpara>the number of VCPUs to assign to the instance
+                  (if this value makes sense for the hypervisor)</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>auto_balance</term>
+              <listitem>
+                <simpara>whether the instance is considered in the N+1
+                  cluster checks (enough redundancy in the cluster to
+                  survive a node failure)</simpara>
+              </listitem>
+            </varlistentry>
+          </variablelist>
         </para>
 
         <para>
-          The <option>--hvm-cdrom-image-path</option> option specifies the
-          path to the file Xen uses to emulate a virtual CDROM drive
-          for this HVM instance. Valid values are either an
-          absolute path to an existing file or None, which disables
-          virtual CDROM support for this instance. The default is
-          None, disabling virtual CDROM support.
+          The <option>-H</option> option specified the hypervisor to
+          use for the instance (must be one of the enabled hypervisors
+          on the cluster) and optionally custom parameters for this
+          instance. If not other options are used (i.e. the invocation
+          is just <userinput>-H
+          <replaceable>NAME</replaceable></userinput>) the instance
+          will inherit the cluster options. The defaults below show
+          the cluster defaults at cluster creation time.
         </para>
 
         <para>
-          The <option>--hvm-nic-type</option> specifies the NIC type
-          Xen should use for this HVM instance. Valid choices are
-          rtl8139, ne2k_pci, ne2k_isa and paravirtual with rtl8139
-          as the default. The paravirtual setting is intended for use
-          with the GPL PV drivers inside HVM Windows instances.
-        </para>
+          The possible hypervisor options are as follows:
+          <variablelist>
+            <varlistentry>
+              <term>boot_order</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM
+                hypervisors.</simpara>
 
-        <para>
-          The <option>--hvm-disk-type</option> specifies the disk type
-          Xen should use for the HVM instance. Valid choices are ioemu
-          and paravirtual with ioemu as the default. The paravirtual
-          setting is intended for use with the GPL PV drivers inside
-          HVM Windows instances.
-        </para>
+                <simpara>A string value denoting the boot order. This
+                has different meaning for the Xen HVM hypervisor and
+                for the KVM one.</simpara>
+
+                <simpara>
+                  For Xen HVM, The boot order is a string of letters
+                  listing the boot devices, with valid device letters
+                  being:
+                </simpara>
+                  <variablelist>
+                    <varlistentry>
+                      <term>a</term>
+                      <listitem>
+                        <para>
+                          floppy drive
+                        </para>
+                      </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                      <term>c</term>
+                      <listitem>
+                        <para>
+                          hard disk
+                        </para>
+                      </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                      <term>d</term>
+                      <listitem>
+                        <para>
+                          CDROM drive
+                        </para>
+                      </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                      <term>n</term>
+                      <listitem>
+                        <para>
+                          network boot (PXE)
+                        </para>
+                      </listitem>
+                    </varlistentry>
+                  </variablelist>
+                <simpara>
+                  The default is not to set an HVM boot order which is
+                  interpreted as 'dc'.
+                </simpara>
+
+                <simpara>
+                  For KVM the boot order is either
+                  <quote>cdrom</quote>, <quote>disk</quote> or
+                  <quote>network</quote>. Please note that older
+                  versions of KVM couldn't netboot from virtio
+                  interfaces. This has been fixed in more recent
+                  versions and is confirmed to work at least with
+                  qemu-kvm 0.11.1.
+                </simpara>
+
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>cdrom_image_path</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <simpara>The path to a CDROM image to attach to the
+                instance.</simpara>
+
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic_type</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <para>
+                  This parameter determines the way the network cards
+                  are presented to the instance. The possible options are:
+                  <simplelist>
+                    <member>rtl8139 (default for Xen HVM) (HVM & KVM)</member>
+                    <member>ne2k_isa (HVM & KVM)</member>
+                    <member>ne2k_pci (HVM & KVM)</member>
+                    <member>i82551 (KVM)</member>
+                    <member>i82557b (KVM)</member>
+                    <member>i82559er (KVM)</member>
+                    <member>pcnet (KVM)</member>
+                    <member>e1000 (KVM)</member>
+                    <member>paravirtual (default for KVM) (HVM & KVM)</member>
+                  </simplelist>
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>disk_type</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <para>
+                  This parameter determines the way the disks are
+                  presented to the instance. The possible options are:
+                  <simplelist>
+                    <member>ioemu (default for HVM & KVM) (HVM & KVM)</member>
+                    <member>ide (HVM & KVM)</member>
+                    <member>scsi (KVM)</member>
+                    <member>sd (KVM)</member>
+                    <member>mtd (KVM)</member>
+                    <member>pflash (KVM)</member>
+                  </simplelist>
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>vnc_bind_address</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <para>Specifies the address that the VNC listener for
+                this instance should bind to. Valid values are IPv4
+                addresses. Use the address 0.0.0.0 to bind to all
+                available interfaces (this is the default) or specify
+                the address of one of the interfaces on the node to
+                restrict listening to that interface.</para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>vnc_tls</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>A boolean option that controls whether the
+                VNC connection is secured with TLS.</simpara>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>vnc_x509_path</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <para>If <option>vnc_tls</option> is enabled, this
+                options specifies the path to the x509 certificate to
+                use.</para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>vnc_x509_verify</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>acpi</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <para>
+                  A boolean option that specifies if the hypervisor
+                  should enable ACPI support for this instance. By
+                  default, ACPI is disabled.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>pae</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <para>
+                  A boolean option that specifies if the hypervisor
+                  should enabled PAE support for this instance. The
+                  default is false, disabling PAE support.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>use_localtime</term>
+              <listitem>
+                <simpara>Valid for the Xen HVM and KVM hypervisors.</simpara>
+
+                <para>
+                  A boolean option that specifies if the instance
+                  should be started with its clock set to the
+                  localtime of the machine (when true) or to the UTC
+                  (When false). The default is false, which is useful
+                  for Linux/Unix machines; for Windows OSes, it is
+                  recommended to enable this parameter.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>kernel_path</term>
+              <listitem>
+                <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
+
+                <para>
+                  This option specifies the path (on the node) to the
+                  kernel to boot the instance with. Xen PVM instances
+                  always require this, while for KVM if this option is
+                  empty, it will cause the machine to load the kernel
+                  from its disks.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>kernel_args</term>
+              <listitem>
+                <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
+
+                <para>
+                  This options specifies extra arguments to the kernel
+                  that will be loaded.  device. This is always used
+                  for Xen PVM, while for KVM it is only used if the
+                  <option>kernel_path</option> option is also
+                  specified.
+                </para>
+
+                <para>
+                  The default setting for this value is simply
+                  <constant>"ro"</constant>, which mounts the root
+                  disk (initially) in read-only one. For example,
+                  setting this to <userinput>single</userinput> will
+                  cause the instance to start in single-user mode.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>initrd_path</term>
+              <listitem>
+                <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
+
+                <para>
+                  This option specifies the path (on the node) to the
+                  initrd to boot the instance with. Xen PVM instances
+                  can use this always, while for KVM if this option is
+                  only used if the <option>kernel_path</option> option
+                  is also specified. You can pass here either an
+                  absolute filename (the path to the initrd) if you
+                  want to use an initrd, or use the format
+                  <userinput>no_initrd_path</userinput> for no initrd.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>root_path</term>
+              <listitem>
+                <simpara>Valid for the Xen PVM and KVM hypervisors.</simpara>
+
+                <para>
+                  This options specifies the name of the root
+                  device. This is always needed for Xen PVM, while for
+                  KVM it is only used if the
+                  <option>kernel_path</option> option is also
+                  specified.
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>serial_console</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>This boolean option specifies whether to
+                emulate a serial console for the instance.</simpara>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>disk_cache</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>The disk cache mode. It can be either
+                <userinput>default</userinput> to not pass any cache
+                option to KVM, or one of the KVM cache modes: none
+                (for direct I/O), writethrough (to use the host cache
+                but report completion to the guest only when the host
+                has committed the changes to disk) or writeback (to
+                use the host cache and report completion as soon as
+                the data is in the host cache). Note that there are
+                special considerations for the cache mode depending on
+                version of KVM used and disk type (always raw file
+                under Ganeti), please refer to the KVM documentation
+                for more details.
+                </simpara>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>security_model</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>The security model for kvm. Currently one of
+                <quote>none</quote>, <quote>user</quote> or
+                <quote>pool</quote>. Under <quote>none</quote>, the
+                default, nothing is done and instances are run as
+                the ganeti daemon user (normally root).
+                </simpara>
+
+                <simpara>Under <quote>user</quote> kvm will drop
+                privileges and become the user specified by the
+                security_domain parameter.
+                </simpara>
+
+                <simpara>Under <quote>pool</quote> a global cluster
+                pool of users will be used, making sure no two
+                instances share the same user on the same node.
+                (this mode is not implemented yet)
+                </simpara>
+
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>security_domain</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>Under security model <quote>user</quote> the username to
+                run the instance under. It must be a valid username
+                existing on the host.
+                </simpara>
+                <simpara>Cannot be set under security model <quote>none</quote>
+                or <quote>pool</quote>.
+                </simpara>
+
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>kvm_flag</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>If <quote>enabled</quote> the -enable-kvm flag is
+                passed to kvm. If <quote>disabled</quote> -disable-kvm is
+                passed. If unset no flag is passed, and the default running
+                mode for your kvm binary will be used.
+                </simpara>
+
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>migration_downtime</term>
+              <listitem>
+                <simpara>Valid for the KVM hypervisor.</simpara>
+
+                <simpara>The maximum amount of time (in ms) a KVM instance is
+                allowed to be frozen during a live migration, in order to copy
+                dirty memory pages. Default value is 30ms, but you may need to
+                increase this value for busy instances.
+                </simpara>
+
+                <simpara>This option is only effective with kvm versions >= 87
+                and qemu-kvm versions >= 0.11.0.
+                </simpara>
+
+              </listitem>
+            </varlistentry>
+
+          </variablelist>
 
-        <para>
-          The <option>--vnc-bind-address</option> option specifies the
-          address that the VNC listener for this instance should bind
-          to. Valid values are IPv4 addresses. Use the address 0.0.0.0
-          to bind to all available interfaces (this is the default)
-          or specify the address of one of the interfaces on the node
-          to restrict listening to that interface.
         </para>
 
         <para>
         </para>
 
         <para>
-          The <option>--kernel</option> option allows the instance to
-          use a custom kernel (if a filename is passed) or to use the
-          default kernel (<filename>@CUSTOM_XEN_KERNEL@</filename>), if the
-          string <constant>default</constant> is passed.
-        </para>
-
-        <para>
-          The <option>--initrd</option> option is similar: it allows
-          the instance to use a custom initrd (if a filename is
-          passed) or to use the default initrd
-          (<filename>@CUSTOM_XEN_INITRD@</filename>), if the string
-          <constant>default</constant> is passed, or to disable the
-          use of an initrd, if the string <constant>none</constant> is
-          passed. Note that in the case the instance is set to use the
-          default initrd and it doesn't exist, it will be silently
-          ignored; if the instance is set to use a custom initrd and
-          it doesn't exist, this will be treated as an error and will
-          prevent the startup of the instance.
-        </para>
-
-        <para>
           The <option>-t</option> options specifies the disk layout type for
           the instance. The available choices are:
           <variablelist>
             <varlistentry>
               <term>loop</term>
               <listitem>
-                <para>Kernel loopback driver.</para>
+                <para>
+                  Kernel loopback driver. This driver uses loopback
+                  devices to access the filesystem within the
+                  file. However, running I/O intensive applications in
+                  your instance using the loop driver might result in
+                  slowdowns.  Furthermore, if you use the loopback
+                  driver consider increasing the maximum amount of
+                  loopback devices (on most systems it's 8) using the
+                  max_loop param.
+                </para>
               </listitem>
             </varlistentry>
             <varlistentry>
               <term>blktap</term>
               <listitem>
-                <para>blktap driver.</para>
+                <para>The blktap driver (for Xen hypervisors). In
+                order to be able to use the blktap driver you should
+                check if the 'blktapctrl' user space disk agent is
+                running (usually automatically started via xend). This
+                user-level disk I/O interface has the advantage of
+                better performance. Especially if you use a network
+                file system (e.g. NFS) to store your instances this is
+                the recommended choice.
+                </para>
               </listitem>
             </varlistentry>
           </variablelist>
         </para>
 
         <para>
-          The loop driver uses loopback devices to access the filesystem
-          within the file. However, running I/O intensive applications
-          in your instance using the loop driver might result in slowdowns.
-          Furthermore, if you use the loopback driver consider increasing
-          the maximum amount of loopback devices (on most systems it's 8)
-          using the max_loop param.
-        </para>
-
-        <para>
-          In order to be able to use the blktap driver you should check
-          if the 'blktapctrl' user space disk agent is running (usually
-          automatically started via xend). This user-level disk I/O
-          interface has the advantage of better performance. Especially
-          if you use a network file system (e.g. NFS) to store your instances
-          this is the recommended choice.
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
         </para>
 
         <para>
           Example:
           <screen>
-# gnt-instance add -t file -s 30g -m 512 -o debian-etch \
+# gnt-instance add -t file --disk 0:size=30g -B memory=512 -o debian-etch \
   -n node1.example.com --file-storage-dir=mysubdir instance1.example.com
-# gnt-instance add -t plain -s 30g -m 512 -o debian-etch \
+# gnt-instance add -t plain --disk 0:size=30g -B memory=512 -o debian-etch \
   -n node1.example.com instance1.example.com
-# gnt-instance add -t drbd -s 30g -m 512 -o debian-etch \
+# gnt-instance add -t drbd --disk 0:size=30g -B memory=512 -o debian-etch \
   -n node1.example.com:node2.example.com instance2.example.com
           </screen>
         </para>
       </refsect3>
 
       <refsect3>
+        <title>BATCH-CREATE</title>
+        <cmdsynopsis>
+          <command>batch-create</command>
+          <arg choice="req">instances_file.json</arg>
+        </cmdsynopsis>
+
+        <para>
+          This command (similar to the Ganeti 1.2
+          <command>batcher</command> tool) submits multiple instance
+          creation jobs based on a definition file. The instance
+          configurations do not encompass all the possible options for
+          the <command>add</command> command, but only a subset.
+        </para>
+
+        <para>
+          The instance file should be a valid-formed JSON file,
+          containing a dictionary with instance name and instance
+          parameters. The accepted parameters are:
+
+          <variablelist>
+            <varlistentry>
+              <term>disk_size</term>
+              <listitem>
+                <simpara>The size of the disks of the instance.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>disk_templace</term>
+              <listitem>
+                <simpara>The disk template to use for the instance,
+                the same as in the <command>add</command>
+                command.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>backend</term>
+              <listitem>
+                <simpara>A dictionary of backend parameters.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>hypervisor</term>
+              <listitem>
+                <simpara>A dictionary with a single key (the
+                hypervisor name), and as value the hypervisor
+                options. If not passed, the default hypervisor and
+                hypervisor options will be inherited.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>mac, ip, mode, link</term>
+              <listitem>
+                <simpara>Specifications for the one NIC that will be
+                created for the instance. 'bridge' is also accepted
+                as a backwards compatibile key.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nics</term>
+              <listitem>
+                <simpara>List of nics that will be created for the
+                instance. Each entry should be a dict, with mac, ip, mode
+                and link as possible keys. Please don't provide the "mac,
+                ip, mode, link" parent keys if you use this method for
+                specifying nics.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>primary_node, secondary_node</term>
+              <listitem>
+                <simpara>The primary and optionally the secondary node
+                to use for the instance (in case an iallocator script
+                is not used).</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>iallocator</term>
+              <listitem>
+                <simpara>Instead of specifying the nodes, an
+                iallocator script can be used to automatically compute
+                them.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>start</term>
+              <listitem>
+                <simpara>whether to start the instance</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>ip_check</term>
+              <listitem>
+                <simpara>Skip the check for already-in-use instance;
+                see the description in the <command>add</command>
+                command for details.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>name_check</term>
+              <listitem>
+                <simpara>Skip the name check for instances;
+                see the description in the <command>add</command>
+                command for details.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>file_storage_dir, file_driver</term>
+              <listitem>
+                <simpara>Configuration for the <literal>file</literal>
+                disk type, see the <command>add</command> command for
+                details.</simpara>
+              </listitem>
+            </varlistentry>
+          </variablelist>
+        </para>
+
+        <para>
+          A simple definition for one instance can be (with most of
+          the parameters taken from the cluster defaults):
+          <screen>
+{
+  "instance3": {
+    "template": "drbd",
+    "os": "debootstrap",
+    "disk_size": ["25G"],
+    "iallocator": "dumb"
+  },
+  "instance5": {
+    "template": "drbd",
+    "os": "debootstrap",
+    "disk_size": ["25G"],
+    "iallocator": "dumb",
+    "hypervisor": "xen-hvm",
+    "hvparams": {"acpi": true},
+    "backend": {"memory": 512}
+  }
+}
+</screen>
+        </para>
+
+        <para>
+          The command will display the job id for each submitted instance, as follows:
+          <screen>
+# gnt-instance batch-create instances.json
+instance3: 11224
+instance5: 11225
+</screen>
+        </para>
+
+      </refsect3>
+
+      <refsect3>
         <title>REMOVE</title>
 
         <cmdsynopsis>
           <command>remove</command>
           <arg>--ignore-failures</arg>
+          <arg>--shutdown-timeout=<replaceable>N</replaceable></arg>
+          <arg>--submit</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
         </para>
 
         <para>
+          The <option>--shutdown-timeout</option> is used to specify how
+          much time to wait before forcing the shutdown (xm destroy in xen,
+          killing the kvm process, for kvm). By default two minutes are
+          given to each instance to stop.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+        <para>
           Example:
           <screen>
 # gnt-instance remove instance1.example.com
           <arg>--no-headers</arg>
           <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
           <arg>-o <replaceable>[+]FIELD,...</replaceable></arg>
+          <arg>--roman</arg>
+          <arg rep="repeat">instance</arg>
         </cmdsynopsis>
 
         <para>
           Shows the currently configured instances with memory usage,
-          disk usage, the node they are running on, and the CPU time,
-          counted in seconds, used by each instance since its latest
-          restart.
+          disk usage, the node they are running on, and their run
+          status.
         </para>
 
         <para>
         </para>
 
         <para>
+          The <option>--roman</option> option allows latin people to better
+          understand the cluster instances' status.
+        </para>
+
+        <para>
           The <option>-o</option> option takes a comma-separated list
           of output fields. The available fields and their meaning
           are:
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>admin_ram</term>
-              <listitem>
-                <simpara>the desired memory for the instance</simpara>
-              </listitem>
-            </varlistentry>
-            <varlistentry>
               <term>disk_template</term>
               <listitem>
                 <simpara>the disk template of the instance</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>oper_ram</term>
+              <term>oper_ram</term>
+              <listitem>
+                <simpara>the actual memory usage of the instance as seen
+                  by the hypervisor</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>ip</term>
+              <listitem>
+                <simpara>the ip address ganeti recognizes as associated with
+                the first instance interface</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>mac</term>
+              <listitem>
+                <simpara>the first instance interface MAC address</simpara>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>nic_mode</term>
+              <listitem>
+                <simpara>the mode of the first instance NIC
+                (routed or bridged)</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic_link</term>
+              <listitem>
+                <simpara>the link of the first instance NIC
+                </simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>sda_size</term>
+              <listitem>
+                <simpara>the size of the instance's first disk</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>sdb_size</term>
+              <listitem>
+                <simpara>the size of the instance's second disk, if
+                any</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>vcpus</term>
+              <listitem>
+                <simpara>the number of VCPUs allocated to the
+                instance</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>tags</term>
+              <listitem>
+                <simpara>comma-separated list of the instances's
+                tags</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>serial_no</term>
+              <listitem>
+                <simpara>the so called 'serial number' of the
+                instance; this is a numeric field that is incremented
+                each time the instance is modified, and it can be used
+                to track modifications</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>ctime</term>
+              <listitem>
+                <para>
+                  the creation time of the instance; note that this
+                  field contains spaces and as such it's harder to
+                  parse
+                </para>
+                <para>
+                  if this attribute is not present (e.g. when
+                  upgrading from older versions), then "N/A" will be
+                  shown instead
+                </para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>mtime</term>
+              <listitem>
+                <para>
+                  the last modification time of the instance; note
+                  that this field contains spaces and as such it's
+                  harder to parse
+                </para>
+                <para>
+                  if this attribute is not present (e.g. when
+                  upgrading from older versions), then "N/A" will be
+                  shown instead
+                </para>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>uuid</term>
+              <listitem>
+                <simpara>Show the UUID of the instance (generated
+                automatically by Ganeti)</simpara>
+              </listitem>
+            </varlistentry>
+
+            <varlistentry>
+              <term>network_port</term>
+              <listitem>
+                <simpara>If the instance has a network port assigned
+                to it (e.g. for VNC connections), this will be shown,
+                otherwise <literal>-</literal> will be
+                displayed.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>beparams</term>
+              <listitem>
+                <simpara>A text format of the entire beparams for the
+                instance. It's more useful to select individual fields
+                from this dictionary, see below.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>disk.count</term>
+              <listitem>
+                <simpara>The number of instance disks.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>disk.size/N</term>
+              <listitem>
+                <simpara>The size of the instance's Nth disk. This is
+                a more generic form of the <literal>sda_size</literal>
+                and <literal>sdb_size</literal> fields.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>disk.sizes</term>
+              <listitem>
+                <simpara>A comma-separated list of the disk sizes for
+                this instance.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>disk_usage</term>
+              <listitem>
+                <simpara>The total disk space used by this instance on
+                each of its nodes. This is not the instance-visible
+                disk size, but the actual disk "cost" of the
+                instance.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic.mac/N</term>
+              <listitem>
+                <simpara>The MAC of the Nth instance NIC.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic.ip/N</term>
+              <listitem>
+                <simpara>The IP address of the Nth instance NIC.</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic.mode/N</term>
+              <listitem>
+                <simpara>The mode of the Nth instance NIC</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic.link/N</term>
+              <listitem>
+                <simpara>The link of the Nth instance NIC</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>nic.macs</term>
               <listitem>
-                <simpara>the actual memory usage of the instance as seen
-                  by the hypervisor</simpara>
+                <simpara>A comma-separated list of all the MACs of the
+                instance's NICs.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>ip</term>
+              <term>nic.ips</term>
               <listitem>
-                <simpara>the ip address ganeti recognizes as associated with
-                the instance interface</simpara>
+                <simpara>A comma-separated list of all the IP
+                addresses of the instance's NICs.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>mac</term>
+              <term>nic.modes</term>
               <listitem>
-                <simpara>the instance interface MAC address</simpara>
+                <simpara>A comma-separated list of all the modes of the
+                instance's NICs.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>bridge</term>
+              <term>nic.links</term>
               <listitem>
-                <simpara>bridge the instance is connected to
-                </simpara>
+                <simpara>A comma-separated list of all the link parameters
+                of the instance's NICs.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>sda_size</term>
+              <term>nic.count</term>
               <listitem>
-                <simpara>the size of the instance's first disk</simpara>
+                <simpara>The number of instance nics.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>sdb_size</term>
+              <term>hv/<replaceable>NAME</replaceable></term>
               <listitem>
-                <simpara>the size of the instance's second disk</simpara>
+                <simpara>The value of the hypervisor parameter called
+                <replaceable>NAME</replaceable>. For details of what
+                hypervisor parameters exist and their meaning, see the
+                <command>add</command> command.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>vcpus</term>
+              <term>be/memory</term>
               <listitem>
-                <simpara>the number of VCPUs allocated to the
-                instance</simpara>
+                <simpara>The configured memory for the instance.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>tags</term>
+              <term>be/vcpus</term>
               <listitem>
-                <simpara>comma-separated list of the instances's
-                tags</simpara>
+                <simpara>The configured number of VCPUs for the
+                instance.</simpara>
               </listitem>
             </varlistentry>
             <varlistentry>
-              <term>serial_no</term>
+              <term>be/auto_balance</term>
               <listitem>
-                <simpara>the so called 'serial number' of the
-                instance; this is a numeric field that is incremented
-                each time the instance is modified, and it can be used
-                to detect modifications</simpara>
+                <simpara>Whether the instance is considered in N+1
+                checks.</simpara>
               </listitem>
             </varlistentry>
           </variablelist>
 
         <para>
           If the value of the option starts with the character
-          <constant>+</constant>, the new fields will be added to the
+          <constant>+</constant>, the new field(s) will be added to the
           default list. This allows to quickly see the default list
           plus a few other fields, instead of retyping the entire list
           of fields.
             <arg>-s</arg>
             <arg>--static</arg>
           </group>
-          <arg rep="repeat"><replaceable>instance</replaceable></arg>
+          <arg>--roman</arg>
+          <group choice="req">
+            <arg>--all</arg>
+            <arg rep="repeat"><replaceable>instance</replaceable></arg>
+          </group>
         </cmdsynopsis>
 
         <para>
-          Show detailed information about the (given) instances. This
-          is different from <command>list</command> as it shows
-          detailed data about the instance's disks (especially useful
-          for drbd disk template).
+          Show detailed information about the given instance(s). This is
+          different from <command>list</command> as it shows detailed data
+          about the instance's disks (especially useful for the drbd disk
+          template).
         </para>
 
         <para>
           available in the configuration file is returned, without
           querying nodes, making the operation faster.
         </para>
+
+        <para>
+          Use the <option>--all</option> to get info about all instances,
+          rather than explicitly passing the ones you're interested in.
+        </para>
+
+        <para>
+          The <option>--roman</option> option can be used to cause envy among
+          people who like ancient cultures, but are stuck with non-latin-friendly
+          cluster virtualization technologies.
+        </para>
+
       </refsect3>
 
       <refsect3>
 
         <cmdsynopsis>
           <command>modify</command>
-          <arg choice="opt">-m <replaceable>memsize</replaceable></arg>
-          <arg choice="opt">-p <replaceable>vcpus</replaceable></arg>
-          <arg choice="opt">-i <replaceable>ip</replaceable></arg>
-          <arg choice="opt">-b <replaceable>bridge</replaceable></arg>
-          <arg choice="opt">--mac <replaceable>MAC-address</replaceable></arg>
-          <arg>--hvm-boot-order <replaceable>boot-order</replaceable></arg>
-          <arg>--hvm-acpi <replaceable>ACPI-support</replaceable></arg>
-          <arg>--hvm-pae <replaceable>PAE-support</replaceable></arg>
-          <arg>--hvm-cdrom-image-path
-            <replaceable>cdrom-image-path</replaceable></arg>
-          <arg>--hvm-nic-type <replaceable>NICTYPE</replaceable></arg>
-          <arg>--hvm-disk-type <replaceable>DISKTYPE</replaceable></arg>
-          <arg>--vnc-bind-address
-            <replaceable>vnc-bind-address</replaceable></arg>
+          <sbr>
+          <arg choice="opt">-H <replaceable>HYPERVISOR_PARAMETERS</replaceable></arg>
+          <sbr>
+          <arg choice="opt">-B <replaceable>BACKEND_PARAMETERS</replaceable></arg>
+          <sbr>
+          <group>
+            <arg>--net add<replaceable><optional>:options</optional></replaceable></arg>
+            <arg>--net remove</arg>
+            <arg>--net <replaceable>N:options</replaceable></arg>
+          </group>
+          <sbr>
+          <group>
+            <arg>--disk add:size=<replaceable>SIZE</replaceable></arg>
+            <arg>--disk remove</arg>
+            <arg>--disk <replaceable>N</replaceable>:mode=<replaceable>MODE</replaceable></arg>
+          </group>
 
           <sbr>
-          <arg>--kernel <group choice="req">
-              <arg>default</arg>
-              <arg><replaceable>kernel_path</replaceable></arg>
+          <arg>-t<group choice="req">
+              <arg>plain</arg>
+              <arg>drbd</arg>
             </group></arg>
+
+          <sbr>
+            <arg>--os-name=<replaceable>OS</replaceable> <arg>--force-variant</arg></arg>
+
           <sbr>
-          <arg>--initrd <group choice="req">
-              <arg>default</arg>
-              <arg>none</arg>
-              <arg><replaceable>initrd_path</replaceable></arg>
-            </group> </arg>
+          <arg>--submit</arg>
           <sbr>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
         <para>
-          Modify the memory size, number of vcpus, ip address, MAC
-          address and/or bridge for an instance.
-        </para>
-
-        <para>
-          The memory size is given in MiB. Note that you need to give
-          at least one of the arguments, otherwise the command
-          complains.
-        </para>
-
-        <para>
-          The <option>--kernel</option>, <option>--initrd</option>
-          and <option>--hvm-boot-order</option>
-          options are described in the <command>add</command> command.
-        </para>
-
-        <para>
-          Additionally, the HVM boot order can be reset to the default
-          values by using <option>--hvm-boot-order=default</option>.
+          Modifies the memory size, number of vcpus, ip address, MAC
+          address and/or nic parameters for an instance. It can also
+          add and remove disks and NICs to/from the instance. Note
+          that you need to give at least one of the arguments, otherwise
+          the command complains.
         </para>
 
         <para>
-          The <option>--hvm-acpi</option> option specifies if Xen
-          should enable ACPI support for this HVM instance. Valid
-          values are true or false.
+          The <option>-H</option> option specifies hypervisor options
+          in the form of <userinput>name=value[,...]</userinput>. For details which options can be specified, see the <command>add</command> command.
         </para>
 
         <para>
-          The <option>--hvm-pae</option> option specifies if Xen
-          should enabled PAE support for this HVM instance. Valid
-          values are true or false.
+          The <option>-t</option> option will change the disk template
+          of the instance. Currently only conversions between the
+          plain and drbd disk templates are supported, and the
+          instance must be stopped before attempting the conversion.
         </para>
 
         <para>
-          The <option>--hvm-cdrom-image-path</option> specifies the
-          path to the file xen uses to emulate a virtual CDROM drive
-          for this HVM instance. Valid values are either an
-          absolute path to an existing file or None, which disables
-          virtual CDROM support for this instance.
+          The <option>--disk
+          add:size=<replaceable>SIZE</replaceable></option> option
+          adds a disk to the instance. The <option>--disk
+          remove</option> will remove the last disk of the
+          instance. The <option>--disk
+          <replaceable>N</replaceable>:mode=<replaceable>MODE</replaceable></option>
+          option will change the mode of the Nth disk of the instance
+          between read-only (<literal>ro</literal>) and read-write
+          (<literal>rw</literal>).
         </para>
 
         <para>
-          The <option>--hvm-nic-type</option> specifies the NIC type
-          Xen should use for this HVM instance. Valid choices are
-          rtl8139, ne2k_pci, ne2k_isa and paravirtual with rtl8139
-          as the default. The paravirtual setting is intended for use
-          with the GPL PV drivers inside HVM Windows instances.
+          The <option>--net
+          add:<replaceable>options</replaceable></option> option will
+          add a new NIC to the instance. The available options are the
+          same as in the <command>add</command> command (mac, ip, link,
+          mode). The <option>--net remove</option> will remove the
+          last NIC of the instance, while the <option>--net
+          <replaceable>N</replaceable>:<replaceable>options</replaceable></option>
+          option will change the parameters of the Nth instance NIC.
         </para>
 
         <para>
-          The <option>--hvm-disk-type</option> specifies the disk type
-          Xen should use for the HVM instance. Valid choices are ioemu
-          and paravirtual with ioemu as the default. The paravirtual
-          setting is intended for use with the GPL PV drivers inside
-          HVM Windows instances.
+          The option <option>--os-name</option> will change the OS
+          name for the instance (without reinstallation). In case an
+          OS variant is specified that is not found, then by default
+          the modification is refused,
+          unless <option>--force-variant</option> is passed. An
+          invalid OS will also be refused, unless
+          the <option>--force</option> option is given.
         </para>
 
         <para>
-          The <option>--vnc-bind-address</option> specifies the
-          address that the VNC listener for this instance should bind
-          to. Valid values are IPv4 addresses. Use the address 0.0.0.0
-          to bind to all available interfaces.
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
         </para>
 
         <para>
         <cmdsynopsis>
           <command>reinstall</command>
           <arg choice="opt">-o <replaceable>os-type</replaceable></arg>
-          <arg choice="opt">-f <replaceable>force</replaceable></arg>
           <arg>--select-os</arg>
-          <arg choice="req"><replaceable>instance</replaceable></arg>
+          <arg choice="opt">-f <replaceable>force</replaceable></arg>
+          <arg>--force-multiple</arg>
+          <sbr>
+          <group choice="opt">
+            <arg>--instance</arg>
+            <arg>--node</arg>
+            <arg>--primary</arg>
+            <arg>--secondary</arg>
+            <arg>--all</arg>
+          </group>
+          <arg>--submit</arg>
+          <arg choice="opt" rep="repeat"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
         <para>
-          Reinstalls the operating system on the given instance. The instance
-          must be stopped when running this command. If the
-          <option>--os-type</option> is specified, the operating system is
-          changed.
+          Reinstalls the operating system on the given instance(s). The
+          instance(s) must be stopped when running this command. If the
+          <option>--os-type</option> is specified, the operating
+          system is changed.
         </para>
 
         <para>
           interactive OS reinstall. The user is prompted to select the OS
           template from the list of available OS templates.
         </para>
+
+        <para>
+          Since this is a potentially dangerous command, the user will
+          be required to confirm this action, unless the
+          <option>-f</option> flag is passed. When multiple instances
+          are selected (either by passing multiple arguments or by
+          using the <option>--node</option>,
+          <option>--primary</option>, <option>--secondary</option> or
+          <option>--all</option> options), the user must pass both the
+          <option>--force</option> and
+          <option>--force-multiple</option> options to skip the
+          interactive confirmation.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+
       </refsect3>
 
       <refsect3>
         <cmdsynopsis>
           <command>rename</command>
           <arg>--no-ip-check</arg>
+          <arg>--submit</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
           <arg choice="req"><replaceable>new_name</replaceable></arg>
         </cmdsynopsis>
           instance is started). The IP test can be skipped if the
           <option>--no-ip-check</option> option is passed.
         </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
       </refsect3>
 
     </refsect2>
 
         <cmdsynopsis>
           <command>startup</command>
-          <arg>--extra=<replaceable>PARAMS</replaceable></arg>
+          <sbr>
           <arg>--force</arg>
           <sbr>
+          <arg>--force-multiple</arg>
+          <sbr>
           <group choice="opt">
             <arg>--instance</arg>
             <arg>--node</arg>
             <arg>--primary</arg>
             <arg>--secondary</arg>
             <arg>--all</arg>
+            <arg>--tags</arg>
+            <arg>--node-tags</arg>
+            <arg>--pri-node-tags</arg>
+            <arg>--sec-node-tags</arg>
           </group>
           <sbr>
+          <arg>-H <option>key=value...</option></arg>
+          <arg>-B <option>key=value...</option></arg>
+          <sbr>
+          <arg>--submit</arg>
+          <sbr>
           <arg choice="opt"
           rep="repeat"><replaceable>name</replaceable></arg>
         </cmdsynopsis>
                 arguments accepted)</simpara>
               </listitem>
             </varlistentry>
+            <varlistentry>
+              <term>--tags</term>
+              <listitem>
+                <simpara>will start all instances in the cluster with
+                the tags given as arguments</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>--node-tags</term>
+              <listitem>
+                <simpara>will start all instances in the cluster on
+                nodes with the tags given as arguments</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>--pri-node-tags</term>
+              <listitem>
+                <simpara>will start all instances in the cluster on
+                primary nodes with the tags given as
+                arguments</simpara>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>--sec-node-tags</term>
+              <listitem>
+                <simpara>will start all instances in the cluster on
+                secondary nodes with the tags given as
+                arguments</simpara>
+              </listitem>
+            </varlistentry>
           </variablelist>
         </para>
 
         </para>
 
         <para>
-          The <option>--extra</option> option is used to pass
-          additional argument to the instance's kernel for this start
-          only. Currently there is no way to specify a persistent set
-          of arguments (beside the one hardcoded). Note that this may
-          not apply to all virtualization types.
+          Use <option>--force</option> to start even if secondary disks are
+          failing.
         </para>
 
         <para>
-          Use <option>--force</option> to start even if secondary disks are
-          failing.
+          The <option>--force-multiple</option> will skip the
+          interactive confirmation in the case the more than one
+          instance will be affected.
+        </para>
+
+        <para>
+          The <option>-H</option> and <option>-B</option> options
+          specify temporary hypervisor and backend parameters that can
+          be used to start an instance with modified parameters. They
+          can be useful for quick testing without having to modify an
+          instance back and forth, e.g.:
+          <screen>
+# gnt-instance start -H root_args="single" instance1
+# gnt-instance start -B memory=2048 instance2
+          </screen>
+          The first form will start the instance
+          <userinput>instance1</userinput> in single-user mode, and
+          the instance <userinput>instance2</userinput> with 2GB of
+          RAM (this time only, unless that is the actual instance
+          memory size already). Note that the values override the
+          instance parameters (and not extend them): an instance with
+          "root_args=ro" when started with <userinput>-H
+          root_args=single</userinput> will result in "single", not
+          "ro single".
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
         </para>
 
         <para>
           Example:
           <screen>
 # gnt-instance start instance1.example.com
-# gnt-instance start --extra single test1.example.com
 # gnt-instance start --node node1.example.com node2.example.com
 # gnt-instance start --all
           </screen>
         <cmdsynopsis>
           <command>shutdown</command>
           <sbr>
+          <arg>--timeout=<replaceable>N</replaceable></arg>
+          <sbr>
+          <arg>--force-multiple</arg>
+          <sbr>
           <group choice="opt">
             <arg>--instance</arg>
             <arg>--node</arg>
             <arg>--primary</arg>
             <arg>--secondary</arg>
             <arg>--all</arg>
+            <arg>--tags</arg>
+            <arg>--node-tags</arg>
+            <arg>--pri-node-tags</arg>
+            <arg>--sec-node-tags</arg>
           </group>
           <sbr>
-
+          <arg>--submit</arg>
+          <sbr>
           <arg choice="opt"
           rep="repeat"><replaceable>name</replaceable></arg>
         </cmdsynopsis>
         </para>
 
         <para>
+          The <option>--timeout</option> is used to specify how much time to
+          wait before forcing the shutdown (xm destroy in xen, killing the kvm
+          process, for kvm). By default two minutes are given to each instance
+          to stop.
+        </para>
+
+        <para>
           The <option>--instance</option>, <option>--node</option>,
-          <option>--primary</option>, <option>--secondary</option> and
-          <option>--all</option> options are similar as for the
+          <option>--primary</option>, <option>--secondary</option>,
+          <option>--all</option>, <option>--tags</option>,
+          <option>--node-tags</option>, <option>--pri-node-tags</option> and
+          <option>--sec-node-tags</option> options are similar as for the
           <command>startup</command> command and they influence the
           actual instances being shutdown.
         </para>
 
         <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+
+        <para>
           Example:
           <screen>
 # gnt-instance shutdown instance1.example.com
         <cmdsynopsis>
           <command>reboot</command>
           <sbr>
-          <arg>--extra=<replaceable>PARAMS</replaceable></arg>
-          <sbr>
           <arg>--type=<replaceable>REBOOT-TYPE</replaceable></arg>
           <sbr>
           <arg>--ignore-secondaries</arg>
           <sbr>
+          <arg>--shutdown-timeout=<replaceable>N</replaceable></arg>
+          <sbr>
           <arg>--force-multiple</arg>
           <sbr>
           <group choice="opt">
             <arg>--primary</arg>
             <arg>--secondary</arg>
             <arg>--all</arg>
+            <arg>--tags</arg>
+            <arg>--node-tags</arg>
+            <arg>--pri-node-tags</arg>
+            <arg>--sec-node-tags</arg>
           </group>
           <sbr>
-
+          <arg>--submit</arg>
+          <sbr>
           <arg choice="opt"
           rep="repeat"><replaceable>name</replaceable></arg>
         </cmdsynopsis>
 
         <para>
           The <option>--instance</option>, <option>--node</option>,
-          <option>--primary</option>, <option>--secondary</option> and
-          <option>--all</option> options are similar as for the
+          <option>--primary</option>, <option>--secondary</option>,
+          <option>--all</option>, <option>--tags</option>,
+          <option>--node-tags</option>, <option>--pri-node-tags</option> and
+          <option>--sec-node-tags</option> options are similar as for the
           <command>startup</command> command and they influence the
           actual instances being rebooted.
         </para>
 
         <para>
-          Use the <option>--force-multiple</option> option to keep
-          gnt-instance from asking for confirmation when more than one
-          instance is affected.
+          The <option>--shutdown-timeout</option> is used to specify how
+          much time to wait before forcing the shutdown (xm destroy in xen,
+          killing the kvm process, for kvm). By default two minutes are
+          given to each instance to stop.
+        </para>
+
+        <para>
+          The <option>--force-multiple</option> will skip the
+          interactive confirmation in the case the more than one
+          instance will be affected.
         </para>
 
         <para>
         </cmdsynopsis>
 
         <para>
-          Connects to the console of the given instance. If the instance
-          is not up, an error is returned. Use the <option>--show-cmd</option>
-          option to display the command instead of executing it.
+          Connects to the console of the given instance. If the
+          instance is not up, an error is returned. Use the
+          <option>--show-cmd</option> option to display the command
+          instead of executing it.
         </para>
 
         <para>
-          For HVM instances, this will attempt to connect to the serial
-          console of the instance. To connect to the virtualized
-          "physical" console of a HVM instance, use a VNC client with
-          the connection info from gnt-instance info.
+          For HVM instances, this will attempt to connect to the
+          serial console of the instance. To connect to the
+          virtualized "physical" console of a HVM instance, use a VNC
+          client with the connection info from the
+          <command>info</command> command.
         </para>
 
         <para>
 
         <cmdsynopsis>
           <command>replace-disks</command>
+          <arg>--submit</arg>
+          <arg>--early-release</arg>
+          <arg choice="req">-p</arg>
+          <arg>--disks <replaceable>idx</replaceable></arg>
+          <arg choice="req"><replaceable>instance</replaceable></arg>
+        </cmdsynopsis>
+
+        <cmdsynopsis>
+          <command>replace-disks</command>
+          <arg>--submit</arg>
+          <arg>--early-release</arg>
+          <arg choice="req">-s</arg>
+          <arg>--disks <replaceable>idx</replaceable></arg>
+          <arg choice="req"><replaceable>instance</replaceable></arg>
+        </cmdsynopsis>
 
+        <cmdsynopsis>
+          <command>replace-disks</command>
+          <arg>--submit</arg>
+          <arg>--early-release</arg>
           <group choice="req">
             <arg>--iallocator <replaceable>name</replaceable></arg>
             <arg>--new-secondary <replaceable>NODE</replaceable></arg>
           </group>
-          <sbr>
 
-          <arg choice="opt">-s</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
         <cmdsynopsis>
           <command>replace-disks</command>
-
-          <group>
-          <arg choice="req">-s</arg>
-          <arg choice="req">-p</arg>
-          </group>
+          <arg>--submit</arg>
+          <arg>--early-release</arg>
+          <arg choice="req">--auto</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
         <para>
-          This command is a generalized form for adding and replacing
-          disks. It is currently only valid for the mirrored (DRBD)
-          disk template.
+          This command is a generalized form for replacing disks. It
+          is currently only valid for the mirrored (DRBD) disk
+          template.
+        </para>
+
+        <para>
+          The first form (when passing the <option>-p</option> option)
+          will replace the disks on the primary, while the second form
+          (when passing the <option>-s</option> option will replace
+          the disks on the secondary node. For these two cases (as the
+          node doesn't change), it is possible to only run the replace
+          for a subset of the disks, using the option
+          <option>--disks</option> which takes a list of
+          comma-delimited disk indices (zero-based),
+          e.g. <userinput>0,2</userinput> to replace only the first
+          and third disks.
+        </para>
+
+        <para>
+          The third form (when passing either the
+          <option>--iallocator</option> or the
+          <option>--new-secondary</option> option) is designed to
+          change secondary node of the instance.  Specifying
+          <option>--iallocator</option> makes the new secondary be
+          selected automatically by the specified allocator plugin,
+          otherwise the new secondary node will be the one chosen
+          manually via the <option>--new-secondary</option> option.
+        </para>
+
+        <para>
+          The fourth form (when using <option>--auto</option>) will
+          automatically determine which disks of an instance are faulty and
+          replace them within the same node. The <option>--auto</option>
+          option works only when an instance has only faulty disks on
+          either the primary or secondary node; it doesn't work when
+          both sides have faulty disks.
         </para>
 
         <para>
-          The first form will do a secondary node change, while the
-          second form will replace the disks on either the primary
-          (<option>-p</option>) or the secondary (<option>-s</option>)
-          node of the instance only, without changing the node.
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
         </para>
 
         <para>
-          Specifying <option>--iallocator</option> enables secondary node
-          replacement and and makes the new secondary be selected automatically
-          by the specified allocator plugin.
+          The <option>--early-release</option> changes the code so
+          that the old storage on secondary node(s) is removed early
+          (before the resync is completed) and the internal Ganeti
+          locks for the current (and new, if any) secondary node are
+          also released, thus allowing more parallelism in the cluster
+          operation. This should be used only when recovering from a
+          disk failure on the current secondary (thus the old storage
+          is already broken) or when the storage on the primary node
+          is known to be fine (thus we won't need the old storage for
+          potential recovery).
         </para>
+
+        <para>
+          Note that it is not possible to select an offline or drained
+          node as a new secondary.
+        </para>
+
       </refsect3>
 
       <refsect3>
 
         <cmdsynopsis>
           <command>activate-disks</command>
+          <arg>--submit</arg>
+          <arg>--ignore-size</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
         <para>
           successful, the command will show the location and name of
           the block devices:
           <screen>
-node1.example.com:sda:/dev/drbd0
-node1.example.com:sdb:/dev/drbd1
+node1.example.com:disk/0:/dev/drbd0
+node1.example.com:disk/1:/dev/drbd1
           </screen>
 
           In this example, <emphasis>node1.example.com</emphasis> is
           the name of the node on which the devices have been
-          activated. The <emphasis>sda</emphasis> and
-          <emphasis>sdb</emphasis> are the names of the block devices
-          inside the instance. <emphasis>/dev/drbd0</emphasis> and
-          <emphasis>/dev/drbd1</emphasis> are the names of the block
-          devices as visible on the node.
+          activated. The <emphasis>disk/0</emphasis> and
+          <emphasis>disk/1</emphasis> are the Ganeti-names of the
+          instance disks; how they are visible inside the instance is
+          hypervisor-specific. <emphasis>/dev/drbd0</emphasis> and
+          <emphasis>/dev/drbd1</emphasis> are the actual block devices
+          as visible on the node.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+        <para>
+          The <option>--ignore-size</option> option can be used to
+          activate disks ignoring the currently configured size in
+          Ganeti. This can be used in cases where the configuration
+          has gotten out of sync with the real-world (e.g. after a
+          partially-failed grow-disk operation or due to rounding in
+          LVM devices). This should not be used in normal cases, but
+          only when activate-disks fails without it.
         </para>
 
         <para>
@@ -1159,6 +2132,7 @@ node1.example.com:sdb:/dev/drbd1
 
         <cmdsynopsis>
           <command>deactivate-disks</command>
+          <arg>--submit</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
         <para>
@@ -1170,12 +2144,21 @@ node1.example.com:sdb:/dev/drbd1
           breaking the replication.
         </para>
 
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
       </refsect3>
 
       <refsect3>
         <title>GROW-DISK</title>
         <cmdsynopsis>
           <command>grow-disk</command>
+          <arg>--no-wait-for-sync</arg>
+          <arg>--submit</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
           <arg choice="req"><replaceable>disk</replaceable></arg>
           <arg choice="req"><replaceable>amount</replaceable></arg>
@@ -1216,8 +2199,8 @@ node1.example.com:sdb:/dev/drbd1
 
 
         <para>
-          The <replaceable>disk</replaceable> argument is either
-          <literal>sda</literal> or <literal>sdb</literal>. The
+          The <replaceable>disk</replaceable> argument is the index of
+          the instance disk to grow. The
           <replaceable>amount</replaceable> argument is given either
           as a number (and it represents the amount to increase the
           disk with in mebibytes) or can be given similar to the
@@ -1232,20 +2215,67 @@ node1.example.com:sdb:/dev/drbd1
           create problems (except for unused space).
         </para>
 
-        <para>Example (increasing sda for instance1 with 16GiB):
+        <para>
+          If you do not want gnt-instance to wait for the new disk
+          region to be synced, use the
+          <option>--no-wait-for-sync</option> option.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+
+        <para>Example (increase the first disk for instance1 by 16GiB):
           <screen>
-# gnt-instance grow-disk instance1.example.com sda 16g
+# gnt-instance grow-disk instance1.example.com 0 16g
           </screen>
         </para>
 
         <para>
-          Also note that disk shrinking will not be supported; use
+          Also note that disk shrinking is not supported; use
           <command>gnt-backup export</command> and then
           <command>gnt-backup import</command> to reduce the disk size
           of an instance.
         </para>
       </refsect3>
 
+      <refsect3>
+        <title>RECREATE-DISKS</title>
+
+        <cmdsynopsis>
+          <command>recreate-disks</command>
+          <arg>--submit</arg>
+          <arg>--disks=<option>indices</option></arg>
+          <arg choice="req"><replaceable>instance</replaceable></arg>
+        </cmdsynopsis>
+        <para>
+          Recreates the disks of the given instance, or only a subset
+          of the disks (if the option <option>disks</option> is
+          passed, which must be a comma-separated list of disk
+          indices, starting from zero).
+        </para>
+
+        <para>
+          Note that this functionality should only be used for missing
+          disks; if any of the given disks already exists, the
+          operation will fail. While this is suboptimal,
+          recreate-disks should hopefully not be needed in normal
+          operation and as such the impact of this is low.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+      </refsect3>
+
     </refsect2>
 
     <refsect2>
@@ -1258,6 +2288,8 @@ node1.example.com:sdb:/dev/drbd1
           <command>failover</command>
           <arg>-f</arg>
           <arg>--ignore-consistency</arg>
+          <arg>--shutdown-timeout=<replaceable>N</replaceable></arg>
+          <arg>--submit</arg>
           <arg choice="req"><replaceable>instance</replaceable></arg>
         </cmdsynopsis>
 
@@ -1279,6 +2311,20 @@ node1.example.com:sdb:/dev/drbd1
         </para>
 
         <para>
+          The <option>--shutdown-timeout</option> is used to specify how
+          much time to wait before forcing the shutdown (xm destroy in xen,
+          killing the kvm process, for kvm). By default two minutes are
+          given to each instance to stop.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+        <para>
           Example:
           <screen>
 # gnt-instance failover instance1.example.com
@@ -1286,6 +2332,130 @@ node1.example.com:sdb:/dev/drbd1
         </para>
       </refsect3>
 
+      <refsect3>
+        <title>MIGRATE</title>
+
+        <cmdsynopsis>
+          <command>migrate</command>
+          <arg>-f</arg>
+          <arg choice="req">--cleanup</arg>
+          <arg choice="req"><replaceable>instance</replaceable></arg>
+        </cmdsynopsis>
+
+        <cmdsynopsis>
+          <command>migrate</command>
+          <arg>-f</arg>
+          <arg>--non-live</arg>
+          <arg choice="req"><replaceable>instance</replaceable></arg>
+        </cmdsynopsis>
+
+        <para>
+          Migrate will move the instance to its secondary node without
+          shutdown. It only works for instances having the drbd8 disk
+          template type.
+        </para>
+
+        <para>
+          The migration command needs a perfectly healthy instance, as
+          we rely on the dual-master capability of drbd8 and the disks
+          of the instance are not allowed to be degraded.
+        </para>
+
+        <para>
+          The <option>--non-live</option> option will switch (for the
+          hypervisors that support it) between a "fully live"
+          (i.e. the interruption is as minimal as possible) migration
+          and one in which the instance is frozen, its state saved and
+          transported to the remote node, and then resumed there. This
+          all depends on the hypervisor support for two different
+          methods. In any case, it is not an error to pass this
+          parameter (it will just be ignored if the hypervisor doesn't
+          support it).
+        </para>
+
+        <para>
+          If the <option>--cleanup</option> option is passed, the
+          operation changes from migration to attempting recovery from
+          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
+          <option>--non-live</option> option is ignored.
+        </para>
+
+        <para>
+          The option <option>-f</option> will skip the prompting for
+          confirmation.
+        </para>
+        <para>
+          Example (and expected output):
+          <screen>
+# gnt-instance migrate instance1
+Migrate will happen to the instance instance1. Note that migration is
+**experimental** in this version. This might impact the instance if
+anything goes wrong. Continue?
+y/[n]/?: y
+* checking disk consistency between source and target
+* ensuring the target is in secondary mode
+* changing disks into dual-master mode
+ - INFO: Waiting for instance instance1 to sync disks.
+ - INFO: Instance instance1's disks are in sync.
+* migrating instance to node2.example.com
+* changing the instance's disks on source node to secondary
+ - INFO: Waiting for instance instance1 to sync disks.
+ - INFO: Instance instance1's disks are in sync.
+* changing the instance's disks to single-master
+#
+          </screen>
+        </para>
+      </refsect3>
+
+      <refsect3>
+        <title>MOVE</title>
+
+        <cmdsynopsis>
+          <command>move</command>
+          <arg>-f</arg>
+          <arg>-n <replaceable>node</replaceable></arg>
+          <arg>--shutdown-timeout=<replaceable>N</replaceable></arg>
+          <arg>--submit</arg>
+          <arg choice="req"><replaceable>instance</replaceable></arg>
+        </cmdsynopsis>
+
+        <para>
+          Move will move the instance to an arbitrary node in the
+          cluster. This works only for instances having a plain or
+          file disk template.
+        </para>
+
+        <para>
+          Note that since this operation is done via data copy, it
+          will take a long time for big disks (similar to
+          replace-disks for a drbd instance).
+        </para>
+
+        <para>
+          The <option>--shutdown-timeout</option> is used to specify how
+          much time to wait before forcing the shutdown (xm destroy in xen,
+          killing the kvm process, for kvm). By default two minutes are
+          given to each instance to stop.
+        </para>
+
+        <para>
+          The <option>--submit</option> option is used to send the job to
+          the master daemon but not wait for its completion. The job
+          ID will be shown so that it can be examined via
+          <command>gnt-job info</command>.
+        </para>
+
+        <para>
+          Example:
+          <screen>
+# gnt-instance move -n node3.example.com instance1.example.com
+          </screen>
+        </para>
+      </refsect3>
+
     </refsect2>
 
     <refsect2>