gnt-group - Ganeti node-group administration
gnt-group {command} [arguments...]
The gnt-group command is used for node group administration in the Ganeti system.
add [--submit] [--print-jobid]
[--node-parameters=NDPARAMS]
[--alloc-policy=POLICY]
[{-D|--disk-parameters} disk-template:disk-param=value[,disk-param=value...]]
[--ipolicy-bounds-specs bound_ispecs]
[--ipolicy-disk-templates template [,template...]]
[--ipolicy-spindle-ratio ratio]
[--ipolicy-vcpu-ratio ratio]
[--ipolicy-memory-ratio ratio]
[--disk-state diskstate]
[--hypervisor-state hvstate]
{group}
Creates a new group with the given name. The node group will be initially empty; to add nodes to it, use gnt-group assign-nodes
.
The --node-parameters
option allows you to set default node parameters for nodes in the group. Please see ganeti(7) for more information about supported key=value pairs and their corresponding options.
The --alloc-policy
option allows you to set an allocation policy for the group at creation time. Possible values are:
nodes in the group should not be candidates for instance allocation, and the operation (e.g., instance creation) should fail if only groups in this state could be found to satisfy the requirements.
nodes in the group should not be used for instance allocations, unless this would be the only way to have the operation succeed.
nodes in the group can be used freely for allocation of instances (this is the default). Note that prioritization among groups in this state will be deferred to the iallocator plugin that's being used.
The -D (--disk-parameters)
option allows you to set the disk parameters for the node group; please see the section about gnt-cluster add in gnt-cluster(8) for more information about disk parameters
The --ipolicy-...
options specify instance policies on the node group, and are documented in the gnt-cluster(8) man page.
See ganeti(7) for a description of --submit
and other common options.
assign-nodes
[--force] [--submit] [--print-jobid]
{group} {node...}
Assigns one or more nodes to the specified group, moving them from their original group (or groups).
By default, this command will refuse to proceed if the move would split between groups any instance that was not previously split (a split instance is an instance with a mirrored disk template, e.g. DRBD, that has the primary and secondary nodes in different node groups). You can force the operation with --force
.
See ganeti(7) for a description of --submit
and other common options.
modify [--submit] [--print-jobid]
[--node-parameters=NDPARAMS]
[--alloc-policy=POLICY]
[--hypervisor-state hvstate]
[{-D|--disk-parameters} disk-template:disk-param=value[,disk-param=value...]]
[--disk-state diskstate]
[--ipolicy-bounds-specs bound_ispecs]
[--ipolicy-disk-templates template [,template...]]
[--ipolicy-spindle-ratio ratio]
[--ipolicy-vcpu-ratio ratio]
[--ipolicy-memory-ratio ratio]
{group}
Modifies some parameters from the node group.
The --node-parameters
and --alloc-policy
options are documented in the add command above. --hypervisor-state
as well as --disk-state
are documented in detail in ganeti(7).
The --node-parameters
, --alloc-policy
, -D (--disk-parameters)
options are documented in the add command above.
The --ipolicy-...
options specify instance policies on the node group, and are documented in the gnt-cluster(8) man page.
See ganeti(7) for a description of --submit
and other common options.
remove [--submit] [--print-jobid] {group}
Deletes the indicated node group, which must be empty. There must always be at least one group, so the last group cannot be removed.
See ganeti(7) for a description of --submit
and other common options.
list [--no-headers] [--separator=SEPARATOR] [-v]
[-o [+]FIELD,...] [--filter] [group...]
Lists all existing node groups in the cluster.
The --no-headers
option will skip the initial header line. The --separator
option takes an argument which denotes what will be used between the output fields. Both these options are to help scripting.
The -v
option activates verbose mode, which changes the display of special field states (see ganeti(7)).
The -o
option takes a comma-separated list of output fields. If the value of the option starts with the character +
, the new fields will be added to the default list. This allows one to quickly see the default list plus a few other fields, instead of retyping the entire list of fields.
The available fields and their meaning are:
alloc_policy
Allocation policy for group
ctime
Creation timestamp
custom_diskparams
Custom disk parameters
custom_ipolicy
Custom instance policy limitations
custom_ndparams
Custom node parameters
disk_state
Disk state
diskparams
Disk parameters (merged)
hv_state
Custom static hypervisor state
ipolicy
Instance policy limitations (merged)
mtime
Modification timestamp
name
Group name
ndp/cpu_speed
The "cpu_speed" node parameter
ndp/exclusive_storage
The "exclusive_storage" node parameter
ndp/oob_program
The "oob_program" node parameter
ndp/ovs
The "ovs" node parameter
ndp/ovs_link
The "ovs_link" node parameter
ndp/ovs_name
The "ovs_name" node parameter
ndp/spindle_count
The "spindle_count" node parameter
ndp/ssh_port
The "ssh_port" node parameter
ndparams
Node parameters
node_cnt
Number of nodes
node_list
List of nodes
pinst_cnt
Number of primary instances
pinst_list
List of primary instances
serial_no
Group object serial number, incremented on each modification
tags
Tags
uuid
Group UUID
If exactly one argument is given and it appears to be a query filter (see ganeti(7)), the query result is filtered accordingly. For ambiguous cases (e.g. a single field name as a filter) the --filter
(-F
) option forces the argument to be treated as a filter.
If no group names are given, then all groups are included. Otherwise, only the named groups will be listed.
list-fields [field...]
List available fields for node groups.
rename [--submit] [--print-jobid] {oldname} {newname}
Renames a given group from oldname to newname.
See ganeti(7) for a description of --submit
and other common options.
evacuate [--submit] [--print-jobid] [--sequential] [--force-failover]
[--iallocator NAME] [--to GROUP...] {group}
This command will move all instances out of the given node group. Instances are placed in a new group by an iallocator, either given on the command line or as a cluster default.
If no specific destination groups are specified using --to
, all groups except the evacuated group are considered.
The moves of the individual instances are handled as separate jobs to allow for maximal parallelism. If the --sequential
option is given, the moves of the individual instances will be executed sequentially. This can be usefull if the link between the groups is vulnerable to congestion. If the --force-failover
option is given, no migrations will be made. This might be necessary if the group being evacuated is too different from the other groups in the cluster.
See ganeti(7) for a description of --submit
and other common options.
Example:
# gnt-group evacuate -I hail --to rack4 rack1
add-tags [--from file] {groupname} {tag...}
Add tags to the given node group. 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 {groupname}
List the tags of the given node group.
remove-tags [--from file] {groupname} {tag...}
Remove tags from the given node group. If any of the tags are not existing on the node, 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.
info [group...]
Shows config information for all (or given) groups.
show-ispecs-cmd [--include-defaults] [group...]
Shows the command line that can be used to recreate the given groups (or all groups, if none is given) with the same options relative to specs in the instance policies.
If --include-defaults
is specified, include also the default values (i.e. the cluster-level settings), and not only the configuration items that a group overrides.
Report bugs to project website or contact the developers using the Ganeti mailing list.
Ganeti overview and specifications: ganeti(7) (general overview), ganeti-os-interface(7) (guest OS definitions), ganeti-extstorage-interface(7) (external storage providers).
Ganeti commands: gnt-cluster(8) (cluster-wide commands), gnt-job(8) (job-related commands), gnt-node(8) (node-related commands), gnt-instance(8) (instance commands), gnt-os(8) (guest OS commands), gnt-storage(8) (storage commands), gnt-group(8) (node group commands), gnt-backup(8) (instance import/export commands), gnt-debug(8) (debug commands).
Ganeti daemons: ganeti-watcher(8) (automatic instance restarter), ganeti-cleaner(8) (job queue cleaner), ganeti-noded(8) (node daemon), ganeti-rapi(8) (remote API daemon).
Ganeti htools: htools(1) (generic binary), hbal(1) (cluster balancer), hspace(1) (capacity calculation), hail(1) (IAllocator plugin), hscan(1) (data gatherer from remote clusters), hinfo(1) (cluster information printer), mon-collector(7) (data collectors interface).
Copyright (C) 2006-2015 Google Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.