Add --ipolicy-xxx-specs options
[ganeti-local] / man / htools.rst
index 843d20f..85e8f52 100644 (file)
@@ -12,6 +12,9 @@ SYNOPSIS
 **hbal**
   cluster balancer
 
+**hcheck**
+  cluster checker
+
 **hspace**
   cluster capacity computation
 
@@ -21,11 +24,15 @@ SYNOPSIS
 **hscan**
   saves cluster state for later reuse
 
+**hinfo**
+  cluster information printer
+
+**hroller**
+  cluster rolling maintenance scheduler
 
 DESCRIPTION
 -----------
 
-
 ``htools`` is a suite of tools designed to help with allocation/movement
 of instances and balancing of Ganeti clusters. ``htools`` is also the
 generic binary that must be symlinked or hardlinked under each tool's
@@ -35,6 +42,9 @@ environment variable HTOOLS can be used to set the desired role.
 Installed as ``hbal``, it computes and optionally executes a suite of
 instance moves in order to balance the cluster.
 
+Installed as ``hcheck``, it preforms cluster checks and optionally
+simulates rebalancing with all the ``hbal`` options available.
+
 Installed as ``hspace``, it computes how many additional instances can
 be fit on a cluster, while maintaining N+1 status. It can run on models
 of existing clusters or of simulated clusters.
@@ -45,13 +55,19 @@ by Ganeti to compute new instance allocations and instance moves.
 Installed as ``hscan``, it scans the local or remote cluster state and
 saves it to files which can later be reused by the other roles.
 
+Installed as ``hinfo``, it prints information about the current cluster
+state.
+
+Installed as ``hroller``, it helps scheduling maintenances that require
+node reboots on a cluster.
+
 COMMON OPTIONS
 --------------
 
 Options behave the same in all program modes, but not all program modes
 support all options. Some common options are:
 
--p, --print-nodes
+-p, \--print-nodes
   Prints the node status, in a format designed to allow the user to
   understand the node's most important parameters. If the command in
   question makes a cluster transition (e.g. balancing or allocation),
@@ -131,11 +147,11 @@ support all options. Some common options are:
   lNet
     the dynamic net load (if the information is available)
 
--t *datafile*, --text-data=*datafile*
+-t *datafile*, \--text-data=*datafile*
   Backend specification: the name of the file holding node and instance
   information (if not collecting via RAPI or LUXI). This or one of the
   other backends must be selected. The option is described in the man
-  page **htools**(1).
+  page **htools**\(1).
 
   The file should contain text data, line-based, with two empty lines
   separating sections. The lines themselves are column-based, with the
@@ -156,6 +172,7 @@ support all options. Some common options are:
   - node physical cores
   - offline field (as ``Y`` or ``N``)
   - group UUID
+  - node spindle count
 
   The third section contains instance data, with the fields:
 
@@ -164,14 +181,29 @@ support all options. Some common options are:
   - instance disk size
   - instance vcpus
   - instance status (in Ganeti's format, e.g. ``running`` or ``ERROR_down``)
-  - instance ``auto_balance`` flag (see man page **gnt-instance** (7))
+  - instance ``auto_balance`` flag (see man page **gnt-instance**\(8))
   - instance primary node
   - instance secondary node(s), if any
   - instance disk type (e.g. ``plain`` or ``drbd``)
   - instance tags
 
-  The fourth and last section contains the cluster tags, with one tag
-  per line (no columns/no column processing).
+  The fourth section contains the cluster tags, with one tag per line
+  (no columns/no column processing).
+
+  The fifth section contains the ipolicies of the cluster and the node
+  groups, in the following format (separated by ``|``):
+
+  - owner (empty if cluster, group name otherwise)
+  - standard, min, max instance specs, containing the following values
+    separated by commas:
+    - memory size
+    - cpu count
+    - disk size
+    - disk count
+    - NIC count
+  - disk templates
+  - vcpu ratio
+  - spindle ratio
 
 -m *cluster*
   Backend specification: collect data directly from the *cluster* given
@@ -187,7 +219,12 @@ support all options. Some common options are:
   on which the master daemon listens; otherwise, the default path used
   by Ganeti (configured at build time) is used.
 
---simulate *description*
+-I|\--ialloc-src *path*
+  Backend specification: load data directly from an iallocator request
+  (as produced by Ganeti when doing an iallocator call).  The iallocator
+  request is read from specified path.
+
+\--simulate *description*
   Backend specification: instead of using actual data, build an empty
   cluster given a node description. The *description* parameter must be
   a comma-separated list of five elements, describing in order:
@@ -198,27 +235,28 @@ support all options. Some common options are:
   - the disk size of the nodes (default in mebibytes, units can be used)
   - the memory size of the nodes (default in mebibytes, units can be used)
   - the cpu core count for the nodes
+  - the spindle count for the nodes
 
-  An example description would be **preferred,B20,100G,16g,4**
-  describing a 20-node cluster where each node has 100GB of disk
-  space, 16GiB of memory and 4 CPU cores. Note that all nodes must
-  have the same specs currently.
+  An example description would be **preferred,20,100G,16g,4,2**
+  describing a 20-node cluster where each node has 100GB of disk space,
+  16GiB of memory, 4 CPU cores and 2 disk spindles. Note that all nodes
+  must have the same specs currently.
 
   This option can be given multiple times, and each new use defines a
   new node group. Hence different node groups can have different
   allocation policies and node count/specifications.
 
--v, --verbose
+-v, \--verbose
   Increase the output verbosity. Each usage of this option will
   increase the verbosity (currently more than 2 doesn't make sense)
   from the default of one.
 
--q, --quiet
+-q, \--quiet
   Decrease the output verbosity. Each usage of this option will
   decrease the verbosity (less than zero doesn't make sense) from the
   default of one.
 
--V, --version
+-V, \--version
   Just show the program version and exit.
 
 UNITS
@@ -234,7 +272,7 @@ their longer equivalents of *MB*, *GB*, *TB*, for which case doesn't
 matter).
 
 More details about the difference between the SI and binary systems can
-be read in the *units(7)* man page.
+be read in the **units**\(7) man page.
 
 ENVIRONMENT
 -----------