Ganeti automatic instance allocation
====================================
-Documents Ganeti version 2.5
+Documents Ganeti version 2.6
.. contents::
Command line interface changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The node selection options in instanece add and instance replace disks
+The node selection options in instance add and instance replace disks
can be replace by the new ``--iallocator=NAME`` option (shortened to
``-I``), which will cause the auto-assignement of nodes with the
passed iallocator. The selected node(s) will be show as part of the
enabled_hypervisors
the list of enabled hypervisors
+ipolicy
+ the cluster-wide instance policy (for information; the per-node group
+ values take precedence and should be used instead)
+
request
a dictionary containing the details of the request; the keys vary
depending on the type of operation that's being requested, as
alloc_policy
the allocation policy of the node group (consult the semantics of
this attribute in the :manpage:`gnt-group(8)` manpage)
+ ipolicy
+ the instance policy of the node group
instances
a dictionary with the data for the current existing instance on the
cluster, indexed by instance name; the contents are similar to the
instance definitions for the allocate mode, with the addition of:
- admin_up
+ admin_state
if this instance is set to run (but not the actual status of the
instance)
off their node(s). These are described in a separate :ref:`design
document <multi-reloc-detailed-design>`.
+ The ``multi-allocate`` request is used to allocate multiple
+ instances on the cluster. The request is beside of that very
+ similiar to the ``allocate`` one. For more details look at
+ :doc:`Ganeti bulk create <design-bulk-create>`.
+
For both allocate and relocate mode, the following extra keys are needed
in the ``request`` dictionary:
Relocation:
relocate_from
- a list of nodes to move the instance away from (note that with
- Ganeti 2.0, this list will always contain a single node, the
- current secondary of the instance); type *list of strings*
+ a list of nodes to move the instance away from; for DRBD-based
+ instances, this will contain a single node, the current secondary
+ of the instance, whereas for shared-storage instance, this will
+ contain also a single node, the current primary of the instance;
+ type *list of strings*
As for ``node-evacuate``, it needs the following request arguments:
should be considered for relocating instances to; type
*list of strings*
+``multi-allocate`` needs the following request arguments:
+
+ instances
+ a list of request dicts
+
Response message
~~~~~~~~~~~~~~~~
serialized opcodes; see the :ref:`design document
<multi-reloc-result>` for a detailed description
+ for the ``multi-allocate`` mode this is a tuple of 2 lists, the first
+ being element of the tuple is a list of succeeded allocation, with the
+ instance name as first element of each entry and the node placement in
+ the second. The second element of the tuple is the instance list of
+ failed allocations.
+
.. note:: Current Ganeti version accepts either ``result`` or ``nodes``
as a backwards-compatibility measure (older versions only supported
``nodes``)