Add utils.IsNormAbsPath function
[ganeti-local] / man / gnt-cluster.sgml
index bb18efb..6c8f4e7 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>December 12, 2007</date>">
+  <!ENTITY dhdate      "<date>February 12, 2009</date>">
   <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
        allowed: see man(7), man(1). -->
   <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
@@ -20,6 +20,8 @@
     <copyright>
       <year>2006</year>
       <year>2007</year>
+      <year>2008</year>
+      <year>2009</year>
       <holder>Google Inc.</holder>
     </copyright>
     &dhdate;
@@ -28,7 +30,7 @@
     &dhucpackage;
 
     &dhsection;
-    <refmiscinfo>ganeti 1.2</refmiscinfo>
+    <refmiscinfo>ganeti 2.0</refmiscinfo>
   </refmeta>
   <refnamediv>
     <refname>&dhpackage;</refname>
       </para>
 
       <para>
+        The command is executed serially on the selected nodes. If the
+        master node is present in the list, the command will be
+        executed last on the master. Regarding the other nodes, the
+        execution order is somewhat alphabetic, so that
+        node2.example.com will be earlier than node10.example.com but
+        after node1.example.com.
+      </para>
+
+      <para>
+        So given the node names node1, node2, node3, node10, node11,
+        with node3 being the master, the order will be: node1, node2,
+        node10, node11, node3.
+      </para>
+
+      <para>
         The command is constructed by concatenating all other command
         line arguments. For example, to list the contents of the
         <filename class="directory">/etc</filename> directory on all
 
       <cmdsynopsis>
         <command>init</command>
+        <sbr>
         <arg>-s <replaceable>secondary_ip</replaceable></arg>
+        <sbr>
         <arg>-b <replaceable>bridge</replaceable></arg>
+        <sbr>
+        <arg>-g <replaceable>vg-name</replaceable></arg>
+        <sbr>
+        <arg>--master-netdev <replaceable>vg-name</replaceable></arg>
+        <sbr>
+        <arg>-m <replaceable>mac-prefix</replaceable></arg>
+        <sbr>
+        <arg>--no-lvm-storage</arg>
+        <sbr>
+        <arg>--file-storage-dir <replaceable>dir</replaceable></arg>
+        <sbr>
+        <arg>--enabled-hypervisors <replaceable>hypervisors</replaceable></arg>
+        <sbr>
+        <arg>-t <replaceable>hypervisor name</replaceable></arg>
+        <sbr>
+        <arg>--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg>
+        <sbr>
+        <arg>--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
+        <sbr>
         <arg choice="req"><replaceable>clustername</replaceable></arg>
       </cmdsynopsis>
 
         Note that the <replaceable>clustername</replaceable> is not
         any random name. It has to be resolvable to an IP address
         using DNS, and it is best if you give the fully-qualified
-        domain name.
+        domain name. This hostname must resolve to an IP address
+        reserved exclusively for this purpose.
       </para>
 
       <para>
 
       <para>
         Note that for Ganeti it doesn't matter if the secondary
-
         network is actually a separate physical network, or is done
         using tunneling, etc. For performance reasons, it's
         recommended to use a separate network, of course.
         The <option>-b</option> option specifies the default bridge
         for instances.
       </para>
+
+      <para>
+        The <option>-g</option> option will let you specify a volume group
+        different than 'xenvg' for ganeti to use when creating instance disks.
+        This volume group must have the same name on all nodes. Once the
+        cluster is initialized this can be altered by using the
+        <command>modify</command> command. If you don't want to use lvm
+        storage at all use the <option>--no-lvm-storage</option> option.
+        Once the cluster is initialized you can change this setup with the
+        <command>modify</command> command.
+      </para>
+
+      <para>
+        The <option>--master-netdev</option> option is useful for specifying a
+        different interface on which the master will activate its IP address.
+        It's important that all nodes have this interface because you'll need
+        it for a master failover.
+      </para>
+
+      <para>
+        The <option>-m</option> option will let you specify a three byte prefix
+        under which the virtual MAC addresses of your instances will be
+        generated. The prefix must be specified in the format XX:XX:XX and the
+        default is aa:00:00.
+      </para>
+
+      <para>
+        The <option>--no-lvm-storage</option> allows you to initialize the
+        cluster without lvm support. This means that only instances using
+        files as storage backend will be possible to create. Once the cluster
+        is initialized you can change this setup with the
+        <command>modify</command> command.
+      </para>
+
+      <para>
+        The <option>--file-storage-dir</option> option allows you
+        set the directory to use for storing the instance disk
+        files when using file storage as backend for instance disks.
+      </para>
+
+      <para>
+        The <option>--enabled-hypervisors</option> option allows you
+        to set the list of hypervisors that will be enabled for
+        this cluster. Instance hypervisors can only be choosen from
+        the list of enabled hypervisors. Currently, the following
+        hypervisors are available:
+      </para>
+
+      <para>
+        <variablelist>
+          <varlistentry>
+            <term>xen-pvm</term>
+            <listitem>
+              <para>
+                Xen PVM hypervisor
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>xen-hvm</term>
+            <listitem>
+              <para>
+                Xen HVM hypervisor
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>kvm</term>
+            <listitem>
+              <para>
+                Linux KVM hypervisor
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>fake</term>
+            <listitem>
+              <para>
+                fake hypervisor for development/testing
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+
+      <para>
+        Either a single hypervisor name or a comma-separated list of
+        hypervisor names can be specified. If this option is not
+        specified, only the xen-pvm hypervisor is enabled by default.
+      </para>
+
+      <para>
+        With the <option>-t</option> option, the default hypervisor
+        can be set. It has to be a member of the list of enabled
+        hypervisors. If not specified, the first entry on the list of
+        enabled hypervisors will be used by default.
+      </para>
+
+      <para>
+        The <option>--backend</option> option allows you to set
+        the default backend parameters for the cluster. The parameter
+        format is a comma-separated list of key=value pairs with the
+        following supported keys:
+      </para>
+
+      <para>
+        <variablelist>
+          <varlistentry>
+            <term>vcpus</term>
+            <listitem>
+              <para>
+                Number of VCPUs to set for an instance by default, must
+                be an integer, will be set to 1 if no specified.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>memory</term>
+            <listitem>
+              <para>
+                Amount of memory to allocate for an instance by default,
+                can be either an integer or an integer followed by a
+                unit (M for mebibytes and G for gibibytes are
+                supported), will be set to 128M if not specified.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>auto_balance</term>
+            <listitem>
+              <para>
+                Value of the auto_balance flag for instances to use by
+                default, will be set to true if not specified.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+
+      <para>
+        The <option>--hypervisor-parameters</option> option allows you
+        to set default hypervisor specific parameters for the
+        cluster. The format of this option is the name of the
+        hypervisor, followed by a colon and a comma-separated list of
+        key=value pairs. The keys available for each hypervisors are
+        detailed int the <citerefentry>
+        <refentrytitle>gnt-instance</refentrytitle>
+        <manvolnum>8</manvolnum> </citerefentry> man page, in the
+        <command>add</command> command.
+      </para>
+
     </refsect2>
 
     <refsect2>
     </refsect2>
 
     <refsect2>
+      <title>MODIFY</title>
+
+      <cmdsynopsis>
+        <command>modify</command>
+        <sbr>
+        <arg choice="opt">-g <replaceable>vg-name</replaceable></arg>
+        <sbr>
+        <arg choice="opt">--no-lvm-storage</arg>
+        <sbr>
+        <arg choice="opt">--enabled-hypervisors
+        <replaceable>hypervisors</replaceable></arg>
+        <sbr>
+        <arg choice="opt">--hypervisor-parameters <replaceable>hypervisor</replaceable>:<replaceable>hv-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>hv-param</replaceable>=<replaceable>value</replaceable></arg></arg>
+        <sbr>
+        <arg choice="opt">--backend-parameters <replaceable>be-param</replaceable>=<replaceable>value</replaceable><arg rep="repeat" choice="opt">,<replaceable>be-param</replaceable>=<replaceable>value</replaceable></arg></arg>
+        <sbr>
+        <arg>-C <replaceable>candidate_pool_size</replaceable></arg>
+
+      </cmdsynopsis>
+
+        <para>
+          Modify the options for the cluster.
+        </para>
+
+        <para>
+          The <option>-g</option>, <option>--no-lvm-storarge</option>,
+          <option>--enabled-hypervisors</option>,
+          <option>--hypervisor-parameters</option> and
+          <option>--backend-parameters</option> options are
+          described in the <command>init</command> command.
+        </para>
+
+      <para>
+        The <option>-C</option> options specifies the
+        <varname>candidate_pool_size</varname> cluster parameter. This
+        is the number of nodes that the master will try to keep as
+        <literal>master_candidates</literal>. For more details about
+        this role and other node roles, see the <citerefentry>
+        <refentrytitle>ganeti</refentrytitle><manvolnum>7</manvolnum>
+        </citerefentry>. If you increase the size, the master will
+        automatically promote as many nodes as required and possible
+        to reach the intended number.
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>QUEUE</title>
+
+      <cmdsynopsis>
+        <command>queue</command>
+        <arg choice="opt">drain</arg>
+        <arg choice="opt">undrain</arg>
+        <arg choice="opt">info</arg>
+
+      </cmdsynopsis>
+
+      <para>
+        Change job queue properties.
+      </para>
+
+      <para>
+        The <option>drain</option> option sets the drain flag on the
+        job queue. No new jobs will be accepted, but jobs already in
+        the queue will be processed.
+      </para>
+
+      <para>
+        The <option>undrain</option> will unset the drain flag on the
+        job queue. New jobs will be accepted.
+      </para>
+
+      <para>
+        The <option>info</option> option shows the properties of the
+        job queue.
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>redist-conf</title>
+      <cmdsynopsis>
+        <command>redist-conf</command>
+          <arg>--submit</arg>
+      </cmdsynopsis>
+
+      <para>
+        This command forces a full push of configuration files from
+        the master node to the other nodes in the cluster. This is
+        normally not needed, but can be run if the
+        <command>verify</command> complains about configuration
+        mismatches.
+      </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>
+
+    </refsect2>
+    <refsect2>
       <title>REMOVE-TAGS</title>
 
       <cmdsynopsis>
 
       <cmdsynopsis>
         <command>verify</command>
+        <arg choice="opt">--no-nplus1-mem</arg>
       </cmdsynopsis>
 
       <para>
         respect to running instances, and incurs no downtime of the
         instances.
       </para>
+
+      <para>
+        If the <option>--no-nplus1-mem</option> option is given, ganeti won't
+        check whether if it loses a node it can restart all the instances on
+        their secondaries (and report an error otherwise).
+      </para>
     </refsect2>
 
     <refsect2>