gnt-group: Add commands for tagging groups
[ganeti-local] / man / gnt-group.rst
1 gnt-group(8) Ganeti | Version @GANETI_VERSION@
2 ==============================================
3
4 Name
5 ----
6
7 gnt-group - Ganeti node-group administration
8
9 Synopsis
10 --------
11
12 **gnt-group** {command} [arguments...]
13
14 DESCRIPTION
15 -----------
16
17 The **gnt-group** command is used for node group administration in
18 the Ganeti system.
19
20 COMMANDS
21 --------
22
23 ADD
24 ~~~
25
26 | **add**
27 | [--node-parameters=*NDPARAMS*]
28 | [--alloc-policy=*POLICY*]
29 | {*group*}
30
31 Creates a new group with the given name. The node group will be
32 initially empty; to add nodes to it, use ``gnt-group assign-nodes``.
33
34 The ``--node-parameters`` option allows you to set default node
35 parameters for nodes in the group. Please see **ganeti**(7) for more
36 information about supported key=value pairs.
37
38 The ``--alloc-policy`` option allows you to set an allocation policy for
39 the group at creation time. Possible values are:
40
41 unallocable
42     nodes in the group should not be candidates for instance allocation,
43     and the operation (e.g., instance creation) should fail if only
44     groups in this state could be found to satisfy the requirements.
45
46 last_resort
47     nodes in the group should not be used for instance allocations,
48     unless this would be the only way to have the operation succeed.
49
50 preferred
51     nodes in the group can be used freely for allocation of instances
52     (this is the default). Note that prioritization among groups in this
53     state will be deferred to the iallocator plugin that's being used.
54
55 ASSIGN-NODES
56 ~~~~~~~~~~~~
57
58 | **assign-nodes**
59 | [--force]
60 | {*group*} {*node*...}
61
62 Assigns one or more nodes to the specified group, moving them from their
63 original group (or groups).
64
65 By default, this command will refuse to proceed if the move would split
66 between groups any instance that was not previously split (a split
67 instance is an instance with a mirrored disk template, e.g. DRBD, that
68 has the primary and secondary nodes in different node groups). You can
69 force the operation with ``--force``.
70
71 MODIFY
72 ~~~~~~
73
74 | **modify**
75 | [--node-parameters=*NDPARAMS*]
76 | [--alloc-policy=*POLICY*]
77 | {*group*}
78
79 Modifies some parameters from the node group.
80
81 The ``--node-parameters`` and ``--alloc-policy`` optiosn are documented
82 in the **add** command above.
83
84 REMOVE
85 ~~~~~~
86
87 | **remove** {*group*}
88
89 Deletes the indicated node group, which must be empty. There must always be at
90 least one group, so the last group cannot be removed.
91
92 LIST
93 ~~~~
94
95 | **list** [--no-headers] [--separator=*SEPARATOR*] [-v]
96 | [-o *[+]FIELD,...*] [--filter] [group...]
97
98 Lists all existing node groups in the cluster.
99
100 The ``--no-headers`` option will skip the initial header line. The
101 ``--separator`` option takes an argument which denotes what will be
102 used between the output fields. Both these options are to help
103 scripting.
104
105 The ``-v`` option activates verbose mode, which changes the display of
106 special field states (see **ganeti(7)**).
107
108 The ``-o`` option takes a comma-separated list of output fields.
109 If the value of the option starts with the character ``+``, the new
110 fields will be added to the default list. This allows to quickly
111 see the default list plus a few other fields, instead of retyping
112 the entire list of fields.
113
114 The available fields and their meaning are:
115
116 @QUERY_FIELDS_GROUP@
117
118 If exactly one argument is given and it appears to be a query filter
119 (see **ganeti(7)**), the query result is filtered accordingly. For
120 ambiguous cases (e.g. a single field name as a filter) the ``--filter``
121 (``-F``) option forces the argument to be treated as a filter.
122
123 If no group names are given, then all groups are included. Otherwise,
124 only the named groups will be listed.
125
126 LIST-FIELDS
127 ~~~~~~~~~~~
128
129 **list-fields** [field...]
130
131 List available fields for node groups.
132
133 RENAME
134 ~~~~~~
135
136 | **rename** {*oldname*} {*newname*}
137
138 Renames a given group from *oldname* to *newname*.
139
140
141 TAGS
142 ~~~~
143
144 ADD-TAGS
145 ^^^^^^^^
146
147 **add-tags** [--from *file*] {*groupname*} {*tag*...}
148
149 Add tags to the given node group. If any of the tags contains invalid
150 characters, the entire operation will abort.
151
152 If the ``--from`` option is given, the list of tags will be extended
153 with the contents of that file (each line becomes a tag). In this case,
154 there is not need to pass tags on the command line (if you do, both
155 sources will be used). A file name of ``-`` will be interpreted as
156 stdin.
157
158 LIST-TAGS
159 ^^^^^^^^^
160
161 **list-tags** {*groupname*}
162
163 List the tags of the given node group.
164
165 REMOVE-TAGS
166 ^^^^^^^^^^^
167
168 **remove-tags** [--from *file*] {*groupname*} {*tag*...}
169
170 Remove tags from the given node group. If any of the tags are not
171 existing on the node, the entire operation will abort.
172
173 If the ``--from`` option is given, the list of tags to be removed will
174 be extended with the contents of that file (each line becomes a tag). In
175 this case, there is not need to pass tags on the command line (if you
176 do, tags from both sources will be removed). A file name of ``-`` will
177 be interpreted as stdin.
178
179 .. vim: set textwidth=72 :
180 .. Local Variables:
181 .. mode: rst
182 .. fill-column: 72
183 .. End: