Activates the master IP on the master node.
-ADD-TAGS
-~~~~~~~~
-
-**add-tags** [--from *file*] {*tag*...}
-
-Add tags to the cluster. If any of the tags contains invalid
-characters, the entire operation will abort.
-
-If the ``--from`` option is given, the list of tags will be
-extended with the contents of that file (each line becomes a tag).
-In this case, there is not need to pass tags on the command line
-(if you do, both sources will be used). A file name of - will be
-interpreted as stdin.
-
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
-executed only on the node(s) specified. Use the option multiple
-times for running it on multiple nodes, like::
+Executes a command on all nodes. This command is designed for simple
+usage. For more complex use cases the commands **dsh**\(1) or **cssh**\(1)
+should be used instead.
+
+If the option ``-n`` is not given, the command will be executed on all
+nodes, otherwise it will be executed only on the node(s) specified. Use
+the option multiple times for running it on multiple nodes, like::
# gnt-cluster command -n node1.example.com -n node2.example.com date
# gnt-cluster command -g default date
The ``-M`` option can be used to prepend the node name to all output
-lines.
+lines. The ``--failure-only`` option hides successful commands, making
+it easier to see failures.
The command is executed serially on the selected nodes. If the
master node is present in the list, the command will be executed
COPYFILE
~~~~~~~~
-| **copyfile** [--use-replication-network] [-n *node*] [-g *group*]
+| **copyfile** [\--use-replication-network] [-n *node*] [-g *group*]
| {*file*}
Copies a file to all or to some nodes. The argument specifies the
DEACTIVATE-MASTER-IP
~~~~~~~~~~~~~~~~~~~~
-**deactivate-master-ip** [--yes]
+**deactivate-master-ip** [\--yes]
Deactivates the master IP on the master node.
DESTROY
~~~~~~~
-**destroy** {--yes-do-it}
+**destroy** {\--yes-do-it}
Remove all configuration files related to the cluster, so that a
**gnt-cluster init** can be done again afterwards.
Since this is a dangerous command, you are required to pass the
-argument *--yes-do-it.*
+argument *\--yes-do-it.*
EPO
~~~
-**epo** [--on] [--groups|--all] [--power-delay] *arguments*
+**epo** [\--on] [\--groups|\--all] [\--power-delay] *arguments*
Performs an emergency power-off on nodes given as arguments. If
``--groups`` is given, arguments are node groups. If ``--all`` is
INFO
~~~~
-**info** [--roman]
+**info** [\--roman]
Shows runtime cluster information: cluster name, architecture (32
or 64 bit), master node, node list and instance list.
~~~~
| **init**
-| [{-s|--secondary-ip} *secondary\_ip*]
-| [--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]
-| [--no-ssh-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*...]]
-| [{-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*]
-| [--primary-ip-version *version*]
-| [--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*...]]
-| [--specs-disk-templates *template* [,*template*...]]
-| [--disk-state *diskstate*]
-| [--hypervisor-state *hvstate*]
+| [{-s|\--secondary-ip} *secondary\_ip*]
+| [\--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]
+| [\--no-ssh-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*...]]
+| [{-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*]
+| [\--primary-ip-version *version*]
+| [\--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*...]]
+| [\--ipolicy-disk-templates *template* [,*template*...]]
+| [\--disk-state *diskstate*]
+| [\--hypervisor-state *hvstate*]
| {*clustername*}
This commands is only run once initially on the first node of the
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
-**modify** command. If you don't want to use lvm storage at all use
+**modify** command. Note that if the volume group name is modified after
+the cluster creation and DRBD support is enabled you might have to
+manually modify the metavg as well.
+
+If you don't want to use lvm storage at all use
the ``--no-lvm-storage`` option. Once the cluster is initialized
you can change this setup with the **modify** command.
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 ``--use-external-mip-script`` option allows to specify whether to
+use an user-supplied master IP address setup script, whose location is
+``@SYSCONFDIR@/ganeti/scripts/master-ip-setup``. If the option value is
+set to False, the default script (located at
+``@PKGLIBDIR@/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
use for storing the instance disk files when using file storage as
backend for instance disks.
-The ``--prealloc-wipe-disks`` sets a cluster wide configuration
-value for wiping disks prior to allocation. This increases security
-on instance level as the instance can't access untouched data from
-it's underlying storage.
+The ``--prealloc-wipe-disks`` sets a cluster wide configuration value
+for wiping disks prior to allocation and size changes (``gnt-instance
+grow-disk``). This increases security on instance level as the instance
+can't access untouched data from its underlying storage.
The ``--enabled-hypervisors`` option allows you to set the list of
hypervisors that will be enabled for this cluster. Instance
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 in the gnt-instance(8) man page, in the
+hypervisors are detailed in the **gnt-instance**\(8) man page, in the
**add** command plus the following parameters which are only
configurable globally (at cluster level):
This options specifies the TCP port to use for live-migration. For
Xen, the same port should be configured on all nodes in the
- ``/etc/xen/xend-config.sxp`` file, under the key
+ ``@XEN_CONFIG_DIR@/xend-config.sxp`` file, under the key
"xend-relocation-port".
migration\_bandwidth
will be set to true if not specified.
always\_failover
- Default value for the ``always\_failover`` flag for instances; if
+ 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
-list of key=value pairs with the following supported keys:
+The ``-N (--nic-parameters)`` option allows you to set the default
+network interface parameters for the cluster. The parameter format is a
+comma-separated list of key=value pairs with the following supported
+keys:
mode
- The default nic mode, 'routed' or 'bridged'.
+ The default NIC mode, one of ``routed``, ``bridged`` or
+ ``openvswitch``.
link
- In bridged mode the default NIC bridge. In routed mode it
- represents an hypervisor-vif-script dependent value to allow
- different instance groups. For example under the KVM default
- network script it is interpreted as a routing table number or
- name.
+ In ``bridged`` or ``openvswitch`` mode the default interface where
+ to attach NICs. In ``routed`` mode it represents an
+ hypervisor-vif-script dependent value to allow different instance
+ groups. For example under the KVM default network script it is
+ interpreted as a routing table number or name. Openvswitch support
+ is also hypervisor dependent and currently works for the default KVM
+ network script. Under Xen a custom network script must be provided.
The ``-D (--disk-parameters)`` option allows you to set the default disk
template parameters at cluster level. The format used for this option is
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.
+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
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
will be blank, which means that relevant operations will require the
administrator to manually specify either an instance allocator, or a
set of nodes. If the option is not specified but htools was enabled,
-the default iallocator will be **hail**(1) (assuming it can be found
+the default iallocator will be **hail**\(1) (assuming it can be found
on disk). The default iallocator can be changed later using the
**modify** command.
and the cluster name.
The ``--node-parameters`` option allows you to set default node
-parameters for the cluster. Please see **ganeti**(7) for more
+parameters for the cluster. Please see **ganeti**\(7) for more
information about supported key=value pairs.
The ``-C (--candidate-pool-size)`` option specifies the
``candidate_pool_size`` cluster parameter. This is the number of nodes
that the master will try to keep as master\_candidates. For more
-details about this role and other node roles, see the ganeti(7).
+details about this role and other node roles, see the **ganeti**\(7).
-The ``--specs-...`` options specify instance policy on the
-cluster. Except for the ``disk-templates`` option, 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 ``--specs-...`` and ``--ipolicy-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 ``--ipolicy-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-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
-- ``--specs-disk-templates`` limits the allowed disk templates (no
- mix/std/max for this option)
+- ``--ipolicy-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
-~~~~~~~~~
-
-**list-tags**
-
-List the tags of the cluster.
+have a look at **ganeti**\(7).
MASTER-FAILOVER
~~~~~~~~~~~~~~~
-**master-failover** [--no-voting]
+**master-failover** [\--no-voting] [\--yes-do-it]
Failover the master role to the current node.
master to solve this problem, and run **gnt-cluster redist-conf**
to make sure the cluster is consistent again.
+The option ``--yes-do-it`` is used together with ``--no-voting``, for
+skipping the interactive checks. This is even more dangerous, and should
+only be used in conjunction with other means (e.g. a HA suite) to
+confirm that the operation is indeed safe.
+
MASTER-PING
~~~~~~~~~~~
MODIFY
~~~~~~
-| **modify**
-| [--vg-name *vg-name*]
-| [--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*...]]
-| [{-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*]
-| [{-C|--candidate-pool-size} *candidate\_pool\_size*]
-| [--maintain-node-health {yes \| no}]
-| [--prealloc-wipe-disks {yes \| no}]
-| [{-I|--default-iallocator} *default instance allocator*]
-| [--reserved-lvs=*NAMES*]
-| [--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*...]]
-| [--specs-disk-templates *template* [,*template*...]]
+| **modify** [\--submit]
+| [\--vg-name *vg-name*]
+| [\--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*...]]
+| [{-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*]
+| [{-C|\--candidate-pool-size} *candidate\_pool\_size*]
+| [\--maintain-node-health {yes \| no}]
+| [\--prealloc-wipe-disks {yes \| no}]
+| [{-I|\--default-iallocator} *default instance allocator*]
+| [\--reserved-lvs=*NAMES*]
+| [\--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*...]]
+| [\--ipolicy-disk-templates *template* [,*template*...]]
Modify the options for the cluster.
-The ``--vg-name``, ``--no-lvm-storarge``, ``--enabled-hypervisors``,
+The ``--vg-name``, ``--no-lvm-storage``, ``--enabled-hypervisors``,
``-H (--hypervisor-parameters)``, ``-B (--backend-parameters)``,
``-D (--disk-parameters)``, ``--nic-parameters``, ``-C
(--candidate-pool-size)``, ``--maintain-node-health``,
command.
The ``--hypervisor-state`` and ``--disk-state`` options are described in
-detail in **ganeti**(7).
+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
command. To clear the default iallocator, just pass an empty string
('').
-The ``--specs-...`` options are described in the **init** command.
+The ``--specs-...`` and ``--ipolicy-disk-templates`` options are
+described in the **init** command.
+
+See **ganeti**\(7) for a description of ``--submit`` and other common
+options.
QUEUE
~~~~~
The ``info`` option shows whether the watcher is currently paused.
-redist-conf
+REDIST-CONF
~~~~~~~~~~~
-**redist-conf** [--submit]
+**redist-conf** [\--submit]
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 **verify** complains about
configuration mismatches.
-The ``--submit`` 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 **gnt-job info**.
-
-REMOVE-TAGS
-~~~~~~~~~~~
-
-**remove-tags** [--from *file*] {*tag*...}
-
-Remove tags from the cluster. If any of the tags are not existing
-on the cluster, the entire operation will abort.
-
-If the ``--from`` option is given, the list of tags to be removed will
-be extended with the contents of that file (each line becomes a tag).
-In this case, there is not need to pass tags on the command line (if
-you do, tags from both sources will be removed). A file name of - will
-be interpreted as stdin.
+See **ganeti**\(7) for a description of ``--submit`` and other common
+options.
RENAME
~~~~~~
~~~~~~~~~~~~
| **renew-crypto** [-f]
-| [--new-cluster-certificate] [--new-confd-hmac-key]
-| [--new-rapi-certificate] [--rapi-certificate *rapi-cert*]
-| [--new-spice-certificate | --spice-certificate *spice-cert*
-| -- spice-ca-certificate *spice-ca-cert*]
-| [--new-cluster-domain-secret] [--cluster-domain-secret *filename*]
+| [\--new-cluster-certificate] [\--new-confd-hmac-key]
+| [\--new-rapi-certificate] [\--rapi-certificate *rapi-cert*]
+| [\--new-spice-certificate | \--spice-certificate *spice-cert*
+| \--spice-ca-certificate *spice-ca-cert*]
+| [\--new-cluster-domain-secret] [\--cluster-domain-secret *filename*]
This command will stop all Ganeti daemons in the cluster and start
them again once the new certificates and keys are replicated. The
options ``--new-cluster-certificate`` and ``--new-confd-hmac-key``
-can be used to regenerate the cluster-internal SSL certificate
-respective the HMAC key used by ganeti-confd(8).
+can be used to regenerate respectively the cluster-internal SSL
+certificate and the HMAC key used by **ganeti-confd**\(8).
To generate a new self-signed RAPI certificate (used by
-ganeti-rapi(8)) specify ``--new-rapi-certificate``. If you want to
+**ganeti-rapi**\(8)) specify ``--new-rapi-certificate``. If you want to
use your own certificate, e.g. one signed by a certificate
authority (CA), pass its filename to ``--rapi-certificate``.
-To generate a new self-signed SPICE certificate, used by SPICE
+To generate a new self-signed SPICE certificate, used for SPICE
connections to the KVM hypervisor, specify the
``--new-spice-certificate`` option. If you want to provide a
certificate, pass its filename to ``--spice-certificate`` and pass the
signing CA certificate to ``--spice-ca-certificate``.
-``--new-cluster-domain-secret`` generates a new, random cluster
-domain secret. ``--cluster-domain-secret`` reads the secret from a
-file. The cluster domain secret is used to sign information
-exchanged between separate clusters via a third party.
+Finally ``--new-cluster-domain-secret`` generates a new, random
+cluster domain secret, and ``--cluster-domain-secret`` reads the
+secret from a file. The cluster domain secret is used to sign
+information exchanged between separate clusters via a third party.
REPAIR-DISK-SIZES
~~~~~~~~~~~~~~~~~
Note that only active disks can be checked by this command; in case
a disk cannot be activated it's advised to use
-**gnt-instance activate-disks --ignore-size ...** to force
+**gnt-instance activate-disks \--ignore-size ...** to force
activation without regard to the current size.
When the all disk sizes are consistent, the command will return no
output. Otherwise it will log details about the inconsistencies in
the configuration.
-SEARCH-TAGS
-~~~~~~~~~~~
-
-**search-tags** {*pattern*}
-
-Searches the tags on all objects in the cluster (the cluster
-itself, the nodes and the instances) for a given pattern. The
-pattern is interpreted as a regular expression and a search will be
-done on it (i.e. the given pattern is not anchored to the beggining
-of the string; if you want that, prefix the pattern with ^).
-
-If no tags are matching the pattern, the exit code of the command
-will be one. If there is at least one match, the exit code will be
-zero. Each match is listed on one line, the object and the tag
-separated by a space. The cluster will be listed as /cluster, a
-node will be listed as /nodes/*name*, and an instance as
-/instances/*name*. Example:
-
-::
-
- # gnt-cluster search-tags time
- /cluster ctime:2007-09-01
- /nodes/node1.example.com mtime:2007-10-04
-
VERIFY
~~~~~~
-| **verify** [--no-nplus1-mem] [--node-group *nodegroup*]
-| [--error-codes] [{-I|--ignore-errors} *errorcode*]
-| [{-I|--ignore-errors} *errorcode*...]
+| **verify** [\--no-nplus1-mem] [\--node-group *nodegroup*]
+| [\--error-codes] [{-I|\--ignore-errors} *errorcode*]
+| [{-I|\--ignore-errors} *errorcode*...]
Verify correctness of cluster configuration. This is safe with
respect to running instances, and incurs no downtime of the
Show the cluster version.
+Tags
+~~~~
+
+ADD-TAGS
+^^^^^^^^
+
+**add-tags** [\--from *file*] {*tag*...}
+
+Add tags to the cluster. If any of the tags contains invalid
+characters, the entire operation will abort.
+
+If the ``--from`` option is given, the list of tags will be
+extended with the contents of that file (each line becomes a tag).
+In this case, there is not need to pass tags on the command line
+(if you do, both sources will be used). A file name of - will be
+interpreted as stdin.
+
+LIST-TAGS
+^^^^^^^^^
+
+**list-tags**
+
+List the tags of the cluster.
+
+REMOVE-TAGS
+^^^^^^^^^^^
+
+**remove-tags** [\--from *file*] {*tag*...}
+
+Remove tags from the cluster. If any of the tags are not existing
+on the cluster, the entire operation will abort.
+
+If the ``--from`` option is given, the list of tags to be removed will
+be extended with the contents of that file (each line becomes a tag).
+In this case, there is not need to pass tags on the command line (if
+you do, tags from both sources will be removed). A file name of - will
+be interpreted as stdin.
+
+SEARCH-TAGS
+^^^^^^^^^^^
+
+**search-tags** {*pattern*}
+
+Searches the tags on all objects in the cluster (the cluster
+itself, the nodes and the instances) for a given pattern. The
+pattern is interpreted as a regular expression and a search will be
+done on it (i.e. the given pattern is not anchored to the beggining
+of the string; if you want that, prefix the pattern with ^).
+
+If no tags are matching the pattern, the exit code of the command
+will be one. If there is at least one match, the exit code will be
+zero. Each match is listed on one line, the object and the tag
+separated by a space. The cluster will be listed as /cluster, a
+node will be listed as /nodes/*name*, and an instance as
+/instances/*name*. Example:
+
+::
+
+ # gnt-cluster search-tags time
+ /cluster ctime:2007-09-01
+ /nodes/node1.example.com mtime:2007-10-04
+
.. vim: set textwidth=72 :
.. Local Variables:
.. mode: rst