Ensure RpcResult has “payload” attribute
[ganeti-local] / man / gnt-node.sgml
index 62355f0..836fc5d 100644 (file)
@@ -91,7 +91,7 @@
         discussion in <citerefentry>
         <refentrytitle>gnt-cluster</refentrytitle>
         <manvolnum>8</manvolnum> </citerefentry> for more
-        informations.
+        information.
       </para>
 
       <para>
           <varlistentry>
             <term>serial_no</term>
             <listitem>
-              <simpara>the so called 'serial number' of the instance;
+              <simpara>the so called 'serial number' of the node;
               this is a numeric field that is incremented each time
-              the instance is modified, and it can be used to detect
+              the node is modified, and it can be used to detect
               modifications</simpara>
             </listitem>
           </varlistentry>
           <varlistentry>
+            <term>ctime</term>
+            <listitem>
+              <para>
+                the creation time of the node; 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 node; 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 node (generated
+                automatically by Ganeti)</simpara>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
             <term>ctotal</term>
             <listitem>
               <simpara>the toal number of logical processors</simpara>
           <varlistentry>
             <term>drained</term>
             <listitem>
-              <simpara>whether the node is drained or not</simpara>
+              <simpara>whether the node is drained or not; the cluster
+              still communicates with drained nodes but excludes them
+              from allocation operations</simpara>
             </listitem>
           </varlistentry>
           <varlistentry>
             <term>offline</term>
             <listitem>
-              <simpara>whether the node is offline or not</simpara>
+              <simpara>whether the node is offline or not; if offline,
+              the cluster does not communicate with offline nodes;
+              useful for nodes that are not reachable in order to
+              avoid delays</simpara>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>role</term>
+            <listitem>
+              <para>
+                A condensed version of the node flags; this field will
+                output a one-character field, with the following
+                possible values:
+                <itemizedlist>
+                  <listitem>
+                    <simpara><emphasis>M</emphasis> for the master
+                    node</simpara>
+                  </listitem>
+                  <listitem>
+                    <simpara><emphasis>C</emphasis> for a master
+                    candidate</simpara>
+                  </listitem>
+                  <listitem>
+                    <simpara><emphasis>R</emphasis> for a regular
+                    node</simpara>
+                  </listitem>
+                  <listitem>
+                    <simpara><emphasis>D</emphasis> for a drained
+                    node</simpara>
+                  </listitem>
+                  <listitem>
+                    <simpara><emphasis>O</emphasis> for an offline
+                    node</simpara>
+                  </listitem>
+                </itemizedlist>
+              </para>
             </listitem>
           </varlistentry>
         </variablelist>
     </refsect2>
 
     <refsect2>
+      <title>MODIFY</title>
+      <cmdsynopsis>
+        <command>modify</command>
+        <arg>-f</arg>
+        <arg>--submit</arg>
+        <arg>--master-candidate=<option>yes|no</option></arg>
+        <arg>--drained=<option>yes|no</option></arg>
+        <arg>--offline=<option>yes|no</option></arg>
+        <arg choice="req"><replaceable>node</replaceable></arg>
+      </cmdsynopsis>
+
+      <para>
+        This command changes the role of the node. Each options takes
+        either a literal <literal>yes</literal> or
+        <literal>no</literal>, and only one option should be given as
+        <literal>yes</literal>. The meaning of the roles are described
+        in the manpage <citerefentry>
+        <refentrytitle>ganeti</refentrytitle> <manvolnum>7</manvolnum>
+        </citerefentry>.
+      </para>
+
+      <para>
+        In case a node is demoted from the master candidate role, but
+        there are not enough new nodes for this case, the operation
+        will be refused. To override this check, pass the
+        <option>--force</option> option.
+      </para>
+
+      <para>
+        Example (setting a node offline, which will demote it from
+        master candidate role if is in that role):
+        <screen>
+# gnt-node modify --offline=yes node1.example.com
+        </screen>
+      </para>
+
+      <para>Example (setting the node back to online and master candidate):
+        <screen>
+# gnt-node modify --offline=no --master-candidate=yes node1.example.com
+        </screen>
+      </para>
+
+    </refsect2>
+
+    <refsect2>
       <title>REMOVE</title>
 
       <cmdsynopsis>
@@ -639,6 +755,204 @@ node1.example.com /dev/hdc1 xenvg instance1.example.com-sda_11001.data 256  inst
       </para>
     </refsect2>
 
+    <refsect2>
+      <title>PHYSICAL-VOLUMES</title>
+
+      <cmdsynopsis>
+        <command>physical-volumes</command>
+        <arg>--no-headers</arg>
+        <arg>--human-readable</arg>
+        <arg>--separator=<replaceable>SEPARATOR</replaceable></arg>
+        <arg>--storage-type=<replaceable>STORAGE_TYPE</replaceable></arg>
+        <arg>--output=<replaceable>FIELDS</replaceable></arg>
+        <sbr>
+        <arg rep="repeat"><replaceable>node</replaceable></arg>
+      </cmdsynopsis>
+
+      <para>
+        Lists all physical volumes and their details from the node(s) provided.
+      </para>
+
+      <para>
+        The <option>--no-headers</option> option will skip the initial header
+        line. The <option>--separator</option> option takes an argument which
+        denotes what will be used between the output fields. Both these options
+        are to help scripting.
+      </para>
+
+      <para>
+        The units used to display the numeric values in the output varies,
+        depending on the options given. By default, the values will be
+        formatted in the most appropriate unit. If the
+        <option>--separator</option> option is given, then the values are shown
+        in mebibytes to allow parsing by scripts. In both cases, the
+        <option>--units</option> option can be used to enforce a given output
+        unit.
+      </para>
+
+      <para>
+        The <option>--storage-type</option> option can be used to choose a
+        storage unit type. Possible choices are <literal>lvm-pv</literal>,
+        <literal>lvm-vg</literal> or <literal>file</literal>. Depending on the
+        storage type, the available output fields change.
+      </para>
+
+      <para>
+        The <option>-o</option> option takes a comma-separated list of
+        output fields. The available fields and their meaning are:
+        <variablelist>
+          <varlistentry>
+            <term>node</term>
+            <listitem>
+              <simpara>the node name on which the volume exists</simpara>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>name</term>
+            <listitem>
+              <simpara>the physical drive name</simpara>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>size</term>
+            <listitem>
+              <simpara>
+                the physical drive size
+                (<literal>lvm-pv</literal> and <literal>lvm-vg</literal> only)
+              </simpara>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>used</term>
+            <listitem>
+              <simpara>
+                used disk space
+                (<literal>lvm-pv</literal> and <literal>file</literal> only)
+              </simpara>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>free</term>
+            <listitem>
+              <simpara>
+                available disk space
+                (<literal>lvm-pv</literal> and <literal>file</literal> only)
+              </simpara>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>allocatable</term>
+            <listitem>
+              <simpara>
+                whether physical volume is allocatable
+                (<literal>lvm-pv</literal> only)
+              </simpara>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </para>
+
+      <para>
+        Example:
+        <screen>
+# gnt-node physical-volumes node5.example.com
+Node              Name        Size Used   Free
+node5.example.com /dev/sda7 673.8G   0M 673.8G
+node5.example.com /dev/sdb1 698.6G 1.3G 697.4G
+        </screen>
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>MODIFY-VOLUME</title>
+
+      <cmdsynopsis>
+        <command>modify-volume</command>
+        <arg><option>--allocatable=yes|no</option></arg>
+        <sbr>
+        <arg><replaceable>node</replaceable></arg>
+        <arg><replaceable>storage-type</replaceable></arg>
+        <arg><replaceable>volume-name</replaceable></arg>
+      </cmdsynopsis>
+
+      <para>
+        Modifies storage volumes on a node. Only LVM physical volumes can be
+        modified at the moment. They have a storage type of <quote>lvm-pv</quote>.
+      </para>
+
+      <para>
+        Example:
+        <screen>
+# gnt-node modify-volume --allocatable no node5.example.com lvm-pv /dev/sdb1
+        </screen>
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>REPAIR-VOLUME</title>
+
+      <cmdsynopsis>
+        <command>repair-volume</command>
+        <arg><replaceable>node</replaceable></arg>
+        <arg><replaceable>storage-type</replaceable></arg>
+        <arg><replaceable>volume-name</replaceable></arg>
+      </cmdsynopsis>
+
+      <para>
+        Repairs a storage volume on a node. Only LVM volume groups can be
+        repaired at this time. They have the storage type
+        <quote>lvm-vg</quote>.
+      </para>
+
+      <para>
+        On LVM volume groups, <command>repair-volume</command> runs
+        <quote>vgreduce --removemissing</quote>.
+      </para>
+
+      <caution>
+        <para>
+          Running this command can lead to data loss. Use it with care.
+        </para>
+      </caution>
+
+      <para>
+        Example:
+        <screen>
+# gnt-node repair-volume node5.example.com lvm-vg xenvg
+        </screen>
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>POWERCYCLE</title>
+
+      <cmdsynopsis>
+        <command>powercycle</command>
+        <arg><option>--confirm</option></arg>
+        <arg><option>--force</option></arg>
+        <arg choice="req"><replaceable>node</replaceable></arg>
+      </cmdsynopsis>
+
+      <para>
+        This commands (tries to) forcefully reboot a node. It is a
+        command that can be used if the node environemnt is broken,
+        such that the admin can no longer login over ssh, but the
+        ganeti node daemon is still working.
+      </para>
+
+      <para>
+        Note that this command is not guaranteed to work; it depends
+        on the hypervisor how effective is the reboot attempt. For
+        Linux, this command require that the kernel option
+        <literal>CONFIG_MAGIC_SYSRQ</literal> is enabled.
+      </para>
+
+      <para>
+        The <option>--yes</option> option can be used to skip
+        confirmation, while the <option>--force</option> option is
+        needed if the target node is the master node.
+      </para>
+
   </refsect1>
 
   &footer;