Remove Python type predicate 'NoType'
[ganeti-local] / man / gnt-instance.rst
index daa35c0..7d9e58b 100644 (file)
@@ -27,9 +27,9 @@ ADD
 ^^^
 
 | **add**
-| {-t|\--disk-template {diskless | file \| plain \| drbd \| rbd}}
-| {\--disk=*N*: {size=*VAL* \| adopt=*LV*}[,vg=*VG*][,metavg=*VG*][,mode=*ro\|rw*]
-|  \| {size=*VAL*,provider=*PROVIDER*}[,param=*value*... ][,mode=*ro\|rw*]
+| {-t|\--disk-template {diskless \| file \| plain \| drbd \| rbd}}
+| {\--disk=*N*: {size=*VAL*[,spindles=*VAL*] \| adopt=*LV*}[,options...]
+|  \| {size=*VAL*,provider=*PROVIDER*}[,param=*value*... ][,options...]
 |  \| {-s|\--os-size} *SIZE*}
 | [\--no-ip-check] [\--no-name-check] [\--no-conflicts-check]
 | [\--no-start] [\--no-install]
@@ -40,7 +40,7 @@ ADD
 | [\--file-storage-dir *dir\_path*] [\--file-driver {loop \| blktap}]
 | {{-n|\--node} *node[:secondary-node]* \| {-I|\--iallocator} *name*}
 | {{-o|\--os-type} *os-type*}
-| [\--submit]
+| [\--submit] [\--print-job-id]
 | [\--ignore-ipolicy]
 | {*instance*}
 
@@ -51,15 +51,29 @@ in the same network as the nodes in the cluster.
 The ``disk`` option specifies the parameters for the disks of the
 instance. The numbering of disks starts at zero, and at least one disk
 needs to be passed. For each disk, either the size or the adoption
-source needs to be given, and optionally the access mode (read-only or
-the default of read-write). The size is interpreted (when no unit is
+source needs to be given. The size is interpreted (when no unit is
 given) in mebibytes. You can also use one of the suffixes *m*, *g* or
 *t* to specify the exact the units used; these suffixes map to
-mebibytes, gibibytes and tebibytes. For LVM and DRBD devices, the LVM
-volume group can also be specified (via the ``vg`` key). For DRBD
-devices, a different VG can be specified for the metadata device using
-the ``metavg`` key. For ExtStorage devices, also the ``provider``
-option is mandatory, to specify which ExtStorage provider to use.
+mebibytes, gibibytes and tebibytes. Each disk can also take these
+parameters (all optional):
+
+spindles
+  How many spindles (physical disks on the node) the disk should span.
+
+mode
+  The access mode. Either ``ro`` (read-only) or the default ``rw``
+  (read-write).
+
+name
+   This option specifies a name for the disk, which can be used as a disk
+   identifier. An instance can not have two disks with the same name.
+
+vg
+   The LVM volume group. This works only for LVM and DRBD devices.
+
+metavg
+   This options specifies a different VG for the metadata device. This
+   works only for DRBD devices
 
 When creating ExtStorage disks, also arbitrary parameters can be passed,
 to the ExtStorage provider. Those parameters are passed as additional
@@ -142,6 +156,15 @@ network
     different nodegroups to be connected to the same network in
     different ways.
 
+name
+   this option specifies a name for the NIC, which can be used as a NIC
+   identifier. An instance can not have two NICs with the same name.
+
+vlan
+   in openvswitch mode specifies the VLANs that the NIC will be
+   connected to. To connect as an access port use ``n`` or ``.n`` with
+   **n** being the VLAN ID. To connect as an trunk port use ``:n[:n]``.
+   A hybrid port can be created with ``.n:n[:n]``
 
 Of these "mode" and "link" are NIC parameters, and inherit their
 default at cluster level.  Alternatively, if no network is desired for
@@ -745,7 +768,10 @@ don't need to pass them with the ``-n`` option. For more information
 please refer to the instance allocator documentation.
 
 The ``-t (--disk-template)`` options specifies the disk layout type
-for the instance.  The available choices are:
+for the instance. If no disk template is specified, the default disk
+template is used. The default disk template is the first in the list
+of enabled disk templates, which can be adjusted cluster-wide with
+``gnt-cluster modify``. The available choices for disk templates are:
 
 diskless
     This creates an instance with no disks. Its useful for testing only
@@ -784,9 +810,8 @@ cluster-wide file storage directory to store file-based disks. It is
 useful for having different subdirectories for different
 instances. The full path of the directory where the disk files are
 stored will consist of cluster-wide file storage directory + optional
-subdirectory + instance name. Example:
-``@RPL_FILE_STORAGE_DIR@/mysubdir/instance1.example.com``. This
-option is only relevant for instances using the file storage backend.
+subdirectory + instance name. This option is only relevant for
+instances using the file storage backend.
 
 The ``--file-driver`` specifies the driver to use for file-based
 disks. Note that currently these drivers work with the xen hypervisor
@@ -929,8 +954,8 @@ follows::
 REMOVE
 ^^^^^^
 
-**remove** [\--ignore-failures] [\--shutdown-timeout=*N*] [\--submit]
-[\--force] {*instance*}
+| **remove** [\--ignore-failures] [\--shutdown-timeout=*N*] [\--submit]
+| [\--print-job-id] [\--force] {*instance*}
 
 Remove an instance. This will remove all data from the instance and
 there is *no way back*. If you are not sure if you use an instance
@@ -1046,16 +1071,21 @@ MODIFY
 | [{-H|\--hypervisor-parameters} *HYPERVISOR\_PARAMETERS*]
 | [{-B|\--backend-parameters} *BACKEND\_PARAMETERS*]
 | [{-m|\--runtime-memory} *SIZE*]
-| [\--net add*[:options]* \| \--net [*N*:]remove \| \--net *N:options*]
-| [\--disk add:size=*SIZE*[,vg=*VG*][,metavg=*VG*] \|
-|  \--disk add:size=*SIZE*,provider=*PROVIDER*[,param=*value*... ] \|
-|  \--disk [*N*:]remove \|
-|  \--disk *N*:mode=*MODE*]
-| [{-t|\--disk-template} plain | {-t|\--disk-template} drbd -n *new_secondary*] [\--no-wait-for-sync]
+| [\--net add[:options...] \|
+|  \--net [*N*:]add[,options...] \|
+|  \--net [*ID*:]remove \|
+|  \--net *ID*:modify[,options...]]
+| [\--disk add:size=*SIZE*[,options...] \|
+|  \--disk *N*:add,size=*SIZE*[,options...] \|
+|  \--disk *N*:add,size=*SIZE*,provider=*PROVIDER*[,options...][,param=*value*... ] \|
+|  \--disk *ID*:modify[,options...]
+|  \--disk [*ID*:]remove]
+| [{-t|\--disk-template} plain \| {-t|\--disk-template} drbd -n *new_secondary*] [\--no-wait-for-sync]
+| [\--new-primary=*node*]
 | [\--os-type=*OS* [\--force-variant]]
 | [{-O|\--os-parameters} *param*=*value*... ]
 | [\--offline \| \--online]
-| [\--submit]
+| [\--submit] [\--print-job-id]
 | [\--ignore-ipolicy]
 | {*instance*}
 
@@ -1082,27 +1112,34 @@ The ``-m (--runtime-memory)`` option will change an instance's runtime
 memory to the given size (in MB if a different suffix is not specified),
 by ballooning it up or down to the new value.
 
-The ``--disk add:size=``*SIZE* option adds a disk to the instance. The
-optional ``vg=``*VG* option specifies an LVM volume group other than the
-default volume group to create the disk on. For DRBD disks, the
-``metavg=``*VG* option specifies the volume group for the metadata
-device. When adding an ExtStorage disk the ``provider=``*PROVIDER*
+The ``--disk add:size=*SIZE*,[options..]`` option adds a disk to the
+instance, and ``--disk *N*:add:size=*SIZE*,[options..]`` will add a disk
+to the the instance at a specific index. The available options are the
+same as in the **add** command(``spindles``, ``mode``, ``name``, ``vg``,
+``metavg``). When adding an ExtStorage disk the ``provider=*PROVIDER*``
 option is also mandatory and specifies the ExtStorage provider. Also,
 for ExtStorage disks arbitrary parameters can be passed as additional
-comma separated options, same as in the **add** command. ``--disk``
-*N*``:add,size=``**SIZE** can be used to add a disk at a specific index.
-The ``--disk remove`` option will remove the last disk of the instance.
-Use ``--disk `` *N*``:remove`` to remove a disk by its index. The
-``--disk`` *N*``:mode=``*MODE* option will change the mode of the Nth
-disk of the instance between read-only (``ro``) and read-write (``rw``).
-
-The ``--net add:``*options* and ``--net`` *N*``:add,``*options* option
-will add a new network interface to the instance. The available options
-are the same as in the **add** command (``mac``, ``ip``, ``link``,
-``mode``, ``network``). The ``--net remove`` will remove the last network
-interface of the instance (``--net`` *N*``:remove`` for a specific index),
-while the ``--net`` *N*``:``*options* option will change the parameters of
-the Nth instance network interface.
+comma separated options, same as in the **add** command. -The ``--disk
+remove`` option will remove the last disk of the instance. Use ``--disk
+`` *ID*``:remove`` to remove a disk by its identifier. *ID* can be the
+index of the disk, the disks's name or the disks's UUID. The ``--disk
+*ID*:modify[,options...]`` will change the options of the disk.
+Available options are:
+
+mode
+  The access mode. Either ``ro`` (read-only) or the default ``rw`` (read-write).
+
+name
+   This option specifies a name for the disk, which can be used as a disk
+   identifier. An instance can not have two disks with the same name.
+
+The ``--net *N*:add[,options..]`` will add a new network interface to
+the instance. The available options are the same as in the **add**
+command (``mac``, ``ip``, ``link``, ``mode``, ``network``). The
+``--net *ID*,remove`` will remove the intances' NIC with *ID* identifier,
+which can be the index of the NIC, the NIC's name or the NIC's UUID.
+The ``--net *ID*:modify[,options..]`` option will change the parameters of
+the instance network interface with the *ID* identifier.
 
 The option ``-o (--os-type)`` will change the OS name for the instance
 (without reinstallation). In case an OS variant is specified that is
@@ -1110,6 +1147,11 @@ not found, then by default the modification is refused, unless
 ``--force-variant`` is passed. An invalid OS will also be refused,
 unless the ``--force`` option is given.
 
+The option ``--new-primary`` will set the new primary node of an instance
+assuming the disks have already been moved manually. Unless the ``--force``
+option is given, it is verified that the instance is no longer running
+on its current primary node.
+
 The ``--online`` and ``--offline`` options are used to transition an
 instance into and out of the ``offline`` state. An instance can be
 turned offline only if it was previously down. The ``--online`` option
@@ -1132,7 +1174,8 @@ REINSTALL
 | **reinstall** [{-o|\--os-type} *os-type*] [\--select-os] [-f *force*]
 | [\--force-multiple]
 | [\--instance \| \--node \| \--primary \| \--secondary \| \--all]
-| [{-O|\--os-parameters} *OS\_PARAMETERS*] [\--submit] {*instance*...}
+| [{-O|\--os-parameters} *OS\_PARAMETERS*] [\--submit] [\--print-job-id]
+| {*instance*...}
 
 Reinstalls the operating system on the given instance(s). The
 instance(s) must be stopped when running this command. If the ``-o
@@ -1157,7 +1200,7 @@ options.
 RENAME
 ^^^^^^
 
-| **rename** [\--no-ip-check] [\--no-name-check] [\--submit]
+| **rename** [\--no-ip-check] [\--no-name-check] [\--submit] [\--print-job-id]
 | {*instance*} {*new\_name*}
 
 Renames the given instance. The instance must be stopped when running
@@ -1193,7 +1236,7 @@ STARTUP
 | \--tags \| \--node-tags \| \--pri-node-tags \| \--sec-node-tags]
 | [{-H|\--hypervisor-parameters} ``key=value...``]
 | [{-B|\--backend-parameters} ``key=value...``]
-| [\--submit] [\--paused]
+| [\--submit] [\--print-job-id] [\--paused]
 | {*name*...}
 
 Starts one or more instances, depending on the following options.  The
@@ -1291,7 +1334,7 @@ SHUTDOWN
 | [\--force] [\--force-multiple] [\--ignore-offline] [\--no-remember]
 | [\--instance \| \--node \| \--primary \| \--secondary \| \--all \|
 | \--tags \| \--node-tags \| \--pri-node-tags \| \--sec-node-tags]
-| [\--submit]
+| [\--submit] [\--print-job-id]
 | {*name*...}
 
 Stops one or more instances. If the instance cannot be cleanly stopped
@@ -1345,7 +1388,7 @@ REBOOT
 | [\--force-multiple]
 | [\--instance \| \--node \| \--primary \| \--secondary \| \--all \|
 | \--tags \| \--node-tags \| \--pri-node-tags \| \--sec-node-tags]
-| [\--submit]
+| [\--submit] [\--print-job-id]
 | [*name*...]
 
 Reboots one or more instances. The type of reboot depends on the value
@@ -1409,17 +1452,18 @@ Disk management
 REPLACE-DISKS
 ^^^^^^^^^^^^^
 
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy] {-p}
-[\--disks *idx*] {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy] {-p} [\--disks *idx*] {*instance*}
 
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy] {-s}
-[\--disks *idx*] {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy] {-s} [\--disks *idx*] {*instance*}
 
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy]
-{{-I\|\--iallocator} *name* \| {{-n|\--new-secondary} *node* } {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy]
+| {{-I\|\--iallocator} *name* \| {{-n|\--new-secondary} *node* } {*instance*}
 
-**replace-disks** [\--submit] [\--early-release] [\--ignore-ipolicy]
-{-a\|\--auto} {*instance*}
+| **replace-disks** [\--submit] [\--print-job-id] [\--early-release]
+| [\--ignore-ipolicy] {-a\|\--auto} {*instance*}
 
 This command is a generalized form for replacing disks. It is
 currently only valid for the mirrored (DRBD) disk template.
@@ -1467,7 +1511,8 @@ options.
 ACTIVATE-DISKS
 ^^^^^^^^^^^^^^
 
-**activate-disks** [\--submit] [\--ignore-size] [\--wait-for-sync] {*instance*}
+| **activate-disks** [\--submit] [\--print-job-id] [\--ignore-size]
+| [\--wait-for-sync] {*instance*}
 
 Activates the block devices of the given instance. If successful, the
 command will show the location and name of the block devices::
@@ -1505,7 +1550,7 @@ options.
 DEACTIVATE-DISKS
 ^^^^^^^^^^^^^^^^
 
-**deactivate-disks** [-f] [\--submit] {*instance*}
+**deactivate-disks** [-f] [\--submit] [\--print-job-id] {*instance*}
 
 De-activates the block devices of the given instance. Note that if you
 run this command for an instance with a drbd disk template, while it
@@ -1526,7 +1571,8 @@ options.
 GROW-DISK
 ^^^^^^^^^
 
-| **grow-disk** [\--no-wait-for-sync] [\--submit] [\--absolute]
+| **grow-disk** [\--no-wait-for-sync] [\--submit] [\--print-job-id]
+| [\--absolute]
 | {*instance*} {*disk*} {*amount*}
 
 Grows an instance's disk. This is only possible for instances having a
@@ -1584,9 +1630,9 @@ instance.
 RECREATE-DISKS
 ^^^^^^^^^^^^^^
 
-| **recreate-disks** [\--submit]
+| **recreate-disks** [\--submit] [\--print-job-id]
 | [{-n node1:[node2] \| {-I\|\--iallocator *name*}}]
-| [\--disk=*N*[:[size=*VAL*][,mode=*ro\|rw*]]] {*instance*}
+| [\--disk=*N*[:[size=*VAL*][,spindles=*VAL*][,mode=*ro\|rw*]]] {*instance*}
 
 Recreates all or a subset of disks of the given instance.
 
@@ -1597,10 +1643,10 @@ normal operation and as such the impact of this is low.
 
 If only a subset should be recreated, any number of ``disk`` options can
 be specified. It expects a disk index and an optional list of disk
-parameters to change. Only ``size`` and ``mode`` can be changed while
-recreating disks. To recreate all disks while changing parameters on
-a subset only, a ``--disk`` option must be given for every disk of the
-instance.
+parameters to change. Only ``size``, ``spindles``, and ``mode`` can be
+changed while recreating disks. To recreate all disks while changing
+parameters on a subset only, a ``--disk`` option must be given for every
+disk of the instance.
 
 Optionally the instance's disks can be recreated on different
 nodes. This can be useful if, for example, the original nodes of the
@@ -1628,7 +1674,7 @@ FAILOVER
 | **failover** [-f] [\--ignore-consistency] [\--ignore-ipolicy]
 | [\--shutdown-timeout=*N*]
 | [{-n|\--target-node} *node* \| {-I|\--iallocator} *name*]
-| [\--submit]
+| [\--submit] [\--print-job-id]
 | {*instance*}
 
 Failover will stop the instance (if running), change its primary node,
@@ -1682,10 +1728,10 @@ MIGRATE
 
 | **migrate** [-f] [\--allow-failover] [\--non-live]
 | [\--migration-mode=live\|non-live] [\--ignore-ipolicy]
-| [\--no-runtime-changes] [\--submit]
+| [\--no-runtime-changes] [\--submit] [\--print-job-id]
 | [{-n|\--target-node} *node* \| {-I|\--iallocator} *name*] {*instance*}
 
-| **migrate** [-f] \--cleanup [\--submit] {*instance*}
+| **migrate** [-f] \--cleanup [\--submit] [\--print-job-id] {*instance*}
 
 Migrate will move the instance to its secondary node without shutdown.
 As with failover, it works for instances having the drbd disk template
@@ -1775,7 +1821,8 @@ MOVE
 ^^^^
 
 | **move** [-f] [\--ignore-consistency]
-| [-n *node*] [\--shutdown-timeout=*N*] [\--submit] [\--ignore-ipolicy]
+| [-n *node*] [\--shutdown-timeout=*N*] [\--submit] [\--print-job-id]
+| [\--ignore-ipolicy]
 | {*instance*}
 
 Move will move the instance to an arbitrary node in the cluster. This
@@ -1808,7 +1855,7 @@ Example::
 CHANGE-GROUP
 ^^^^^^^^^^^^
 
-| **change-group** [\--submit]
+| **change-group** [\--submit] [\--print-job-id]
 | [\--iallocator *NAME*] [\--to *GROUP*...] {*instance*}
 
 This command moves an instance to another node group. The move is