Simplify logic in Node operations
[ganeti-local] / man / gnt-cluster.rst
index 7107a43..cfd994f 100644 (file)
@@ -44,7 +44,7 @@ interpreted as stdin.
 COMMAND
 ~~~~~~~
 
-**command** [-n *node*] [-g *group*] {*command*}
+**command** [-n *node*] [-g *group*] [-M] {*command*}
 
 Executes a command on all nodes. If the option ``-n`` is not given,
 the command will be executed on all nodes, otherwise it will be
@@ -58,6 +58,9 @@ group, e.g.::
 
     # gnt-cluster command -g default date
 
+The ``-M`` option can be used to prepend the node name to all output
+lines.
+
 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
@@ -167,6 +170,7 @@ INIT
 | [--vg-name *vg-name*]
 | [--master-netdev *interface-name*]
 | [--master-netmask *netmask*]
+| [--use-external-mip-script {yes \| no}]
 | [{-m|--mac-prefix} *mac-prefix*]
 | [--no-lvm-storage]
 | [--no-etc-hosts]
@@ -174,8 +178,9 @@ INIT
 | [--file-storage-dir *dir*]
 | [--enabled-hypervisors *hypervisors*]
 | [{-H|--hypervisor-parameters} *hypervisor*:*hv-param*=*value*[,*hv-param*=*value*...]]
-| [{-B|--backend-parameters} *be-param*=*value* [,*be-param*=*value*...]]
-| [{-N|--nic-parameters} *nic-param*=*value* [,*nic-param*=*value*...]]
+| [{-B|--backend-parameters} *be-param*=*value*[,*be-param*=*value*...]]
+| [{-N|--nic-parameters} *nic-param*=*value*[,*nic-param*=*value*...]]
+| [{-D|--disk-parameters} *disk-template*:*disk-param*=*value*[,*disk-param*=*value*...]]
 | [--maintain-node-health {yes \| no}]
 | [--uid-pool *user-id pool definition*]
 | [{-I|--default-iallocator} *default instance allocator*]
@@ -183,6 +188,14 @@ INIT
 | [--prealloc-wipe-disks {yes \| no}]
 | [--node-parameters *ndparams*]
 | [{-C|--candidate-pool-size} *candidate\_pool\_size*]
+| [--specs-cpu-count *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-disk-count *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-disk-size *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-mem-size *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-nic-count *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--ipol-disk-templates *template* [,*template*...]]
+| [--disk-state *diskstate*]
+| [--hypervisor-state *hvstate*]
 | {*clustername*}
 
 This commands is only run once initially on the first node of the
@@ -228,6 +241,12 @@ master IP. The netmask must be specified as an integer, and will be
 interpreted as a CIDR netmask. The default value is 32 for an IPv4
 address and 128 for an IPv6 address.
 
+The ``--use-external-mip-script`` options allows to specify
+whether to use an user-supplied master IP address setup script, whose
+location is ``/etc/ganeti/scripts/master-ip-setup``. If the option value
+is set to False, the default script, whose location is
+``/usr/local/lib/ganeti/tools/master-ip-setup``, will be executed.
+
 The ``-m (--mac-prefix)`` 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
@@ -314,16 +333,26 @@ vcpus
     Number of VCPUs to set for an instance by default, must be an
     integer, will be set to 1 if no specified.
 
-memory
-    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.
+maxmem
+    Maximum 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.
+
+minmem
+    Minimum 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.
 
 auto\_balance
     Value of the auto\_balance flag for instances to use by default,
     will be set to true if not specified.
 
+always\_failover
+    Default value for the ``always\_failover`` flag for instances; if
+    not set, ``False`` is used.
+
 
 The ``-N (--nic-parameters)`` option allows you to set the default nic
 parameters for the cluster. The parameter format is a comma-separated
@@ -339,11 +368,96 @@ link
     network script it is interpreted as a routing table number or
     name.
 
+The ``-D (--disk-parameters)`` option allows you to set the default disk
+template parameters at cluster level. The format used for this option is
+similar to the one use by the  ``-H`` option: the disk template name
+must be specified first, followed by a colon and by a comma-separated
+list of key-value pairs. These parameters can only be specified at
+cluster and node group level; the cluster-level parameter are inherited
+by the node group at the moment of its creation, and can be further
+modified at node group level using the **gnt-group**(8) command.
+
+The following is the list of disk parameters available for the **drbd**
+template, with measurement units specified in square brackets at the end
+of the description (when applicable):
+
+resync-rate
+    Static re-synchronization rate. [KiB/s]
+
+data-stripes
+    Number of stripes to use for data LVs.
+
+meta-stripes
+    Number of stripes to use for meta LVs.
+
+disk-barriers
+    What kind of barriers to **disable** for disks. It can either assume
+    the value "n", meaning no barrier disabled, or a non-empty string
+    containing a subset of the characters "bfd". "b" means disable disk
+    barriers, "f" means disable disk flushes, "d" disables disk drains.
+
+meta-barriers
+    Boolean value indicating whether the meta barriers should be
+    disabled (True) or not (False).
+
+metavg
+    String containing the name of the default LVM volume group for DRBD
+    metadata. By default, it is set to ``xenvg``. It can be overridden
+    during the instance creation process by using the ``metavg`` key of
+    the ``--disk`` parameter.
+
+disk-custom
+    String containing additional parameters to be appended to the
+    arguments list of ``drbdsetup disk``.
+
+net-custom
+    String containing additional parameters to be appended to the
+    arguments list of ``drbdsetup net``.
+
+dynamic-resync
+    Boolean indicating whether to use the dynamic resync speed
+    controller or not. If enabled, c-plan-ahead must be non-zero and all
+    the c-* parameters will be used by DRBD. Otherwise, the value of
+    resync-rate will be used as a static resync speed.
+
+c-plan-ahead
+    Agility factor of the dynamic resync speed controller. (the higher,
+    the slower the algorithm will adapt the resync speed). A value of 0
+    (that is the default) disables the controller. [ds]
+
+c-fill-target
+    Maximum amount of in-flight resync data for the dynamic resync speed
+    controller. [sectors]
+
+c-delay-target
+    Maximum estimated peer response latency for the dynamic resync speed
+    controller. [ds]
+
+c-min-rate
+    Minimum resync speed for the dynamic resync speed controller. [KiB/s]
+
+c-max-rate
+    Upper bound on resync speed for the dynamic resync speed controller.
+    [KiB/s]
+
+List of parameters available for the **plain** template:
+
+stripes
+    Number of stripes to use for new LVs.
+
+List of parameters available for the **rbd** template:
+
+pool
+    The RADOS cluster pool, inside which all rbd volumes will reside.
+    When a new RADOS cluster is deployed, the default pool to put rbd
+    volumes (Images in RADOS terminology) is 'rbd'.
+
 The option ``--maintain-node-health`` allows one to enable/disable
 automatic maintenance actions on nodes. Currently these include
 automatic shutdown of instances and deactivation of DRBD devices on
 offline nodes; in the future it might be extended to automatic
-removal of unknown LVM volumes, etc.
+removal of unknown LVM volumes, etc. Note that this option is only
+useful if the use of ``ganeti-confd`` was enabled at compilation.
 
 The ``--uid-pool`` option initializes the user-id pool. The
 *user-id pool definition* can contain a list of user-ids and/or a
@@ -380,6 +494,26 @@ The ``-C (--candidate-pool-size)`` option specifies the
 that the master will try to keep as master\_candidates. For more
 details about this role and other node roles, see the ganeti(7).
 
+The ``--specs-...`` and ``--ipol-disk-templates`` options specify
+instance policy on the cluster. For the ``--specs-...`` options, each
+option can have three values: ``min``, ``max`` and ``std``, which can
+also be modified on group level (except for ``std``, which is defined
+once for the entire cluster). Please note, that ``std`` values are not
+the same as defaults set by ``--beparams``, but they are used for the
+capacity calculations. The ``--ipol-disk-templates`` option takes a
+comma-separated list of disk templates.
+
+- ``--specs-cpu-count`` limits the number of VCPUs that can be used by an
+  instance.
+- ``--specs-disk-count`` limits the number of disks
+- ``--specs-disk-size`` limits the disk size for every disk used
+- ``--specs-mem-size`` limits the amount of memory available
+- ``--specs-nic-count`` sets limits on the number of NICs used
+- ``--ipol-disk-templates`` limits the allowed disk templates
+
+For details about how to use ``--hypervisor-state`` and ``--disk-state``
+have a look at **ganeti**(7).
+
 LIST-TAGS
 ~~~~~~~~~
 
@@ -425,8 +559,9 @@ MODIFY
 | [--no-lvm-storage]
 | [--enabled-hypervisors *hypervisors*]
 | [{-H|--hypervisor-parameters} *hypervisor*:*hv-param*=*value*[,*hv-param*=*value*...]]
-| [{-B|--backend-parameters} *be-param*=*value* [,*be-param*=*value*...]]
-| [{-N|--nic-parameters} *nic-param*=*value* [,*nic-param*=*value*...]]
+| [{-B|--backend-parameters} *be-param*=*value*[,*be-param*=*value*...]]
+| [{-N|--nic-parameters} *nic-param*=*value*[,*nic-param*=*value*...]]
+| [{-D|--disk-parameters} *disk-template*:*disk-param*=*value*[,*disk-param*=*value*...]]
 | [--uid-pool *user-id pool definition*]
 | [--add-uids *user-id pool definition*]
 | [--remove-uids *user-id pool definition*]
@@ -438,15 +573,30 @@ MODIFY
 | [--node-parameters *ndparams*]
 | [--master-netdev *interface-name*]
 | [--master-netmask *netmask*]
+| [--use-external-mip-script {yes \| no}]
+| [--hypervisor-state *hvstate*]
+| [--disk-state *diskstate*]
+| [--specs-cpu-count *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-disk-count *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-disk-size *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-mem-size *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--specs-nic-count *spec-param*=*value* [,*spec-param*=*value*...]]
+| [--ipol-disk-templates *template* [,*template*...]]
+
 
 Modify the options for the cluster.
 
 The ``--vg-name``, ``--no-lvm-storarge``, ``--enabled-hypervisors``,
 ``-H (--hypervisor-parameters)``, ``-B (--backend-parameters)``,
-``--nic-parameters``, ``-C (--candidate-pool-size)``,
-``--maintain-node-health``, ``--prealloc-wipe-disks``, ``--uid-pool``,
-``--node-parameters``, ``--master-netdev`` and ``--master-netmask``
-options are described in the **init** command.
+``-D (--disk-parameters)``, ``--nic-parameters``, ``-C
+(--candidate-pool-size)``, ``--maintain-node-health``,
+``--prealloc-wipe-disks``, ``--uid-pool``, ``--node-parameters``,
+``--master-netdev``, ``--master-netmask`` and
+``--use-external-mip-script`` options are described in the **init**
+command.
+
+The ``--hypervisor-state`` and ``--disk-state`` options are described in
+detail in **ganeti**(7).
 
 The ``--add-uids`` and ``--remove-uids`` options can be used to
 modify the user-id pool by adding/removing a list of user-ids or
@@ -468,6 +618,9 @@ The ``-I (--default-iallocator)`` is described in the **init**
 command. To clear the default iallocator, just pass an empty string
 ('').
 
+The ``--specs-...`` and ``--ipol-disk-templates`` options are described
+in the **init** command.
+
 QUEUE
 ~~~~~