Add doc clarifications for Zone Migration
Adds documation clarifications on how the strategy and associated parameters as used. Closes-Bug: #2112480 Change-Id: Id42c280fc5744bebb01d50b52b834e5b3b76af73
This commit is contained in:
@@ -11,6 +11,13 @@ Synopsis
|
|||||||
|
|
||||||
.. watcher-term:: watcher.decision_engine.strategy.strategies.zone_migration.ZoneMigration
|
.. watcher-term:: watcher.decision_engine.strategy.strategies.zone_migration.ZoneMigration
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The term ``Zone`` in the strategy name is not a reference to
|
||||||
|
`Openstack availability zones <https://docs.openstack.org/nova/latest/admin/availability-zones.html>`_
|
||||||
|
but rather a user-defined set of Compute nodes and storage pools.
|
||||||
|
Currently, migrations across actual availability zones is not fully tested
|
||||||
|
and might not work in all cluster configurations.
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
@@ -60,65 +67,79 @@ Configuration
|
|||||||
Strategy parameters are:
|
Strategy parameters are:
|
||||||
|
|
||||||
======================== ======== ======== ========= ==========================
|
======================== ======== ======== ========= ==========================
|
||||||
parameter type default Value description
|
parameter type default required description
|
||||||
======================== ======== ======== ========= ==========================
|
======================== ======== ======== ========= ==========================
|
||||||
``compute_nodes`` array None Compute nodes to migrate.
|
``compute_nodes`` array None Optional Compute nodes to migrate.
|
||||||
``storage_pools`` array None Storage pools to migrate.
|
``storage_pools`` array None Optional Storage pools to migrate.
|
||||||
``parallel_total`` integer 6 The number of actions to be
|
``parallel_total`` integer 6 Optional The number of actions to
|
||||||
run in parallel in total.
|
be run in parallel in
|
||||||
``parallel_per_node`` integer 2 The number of actions to be
|
total.
|
||||||
run in parallel per compute
|
``parallel_per_node`` integer 2 Optional The number of actions to
|
||||||
node.
|
be run in parallel per
|
||||||
``parallel_per_pool`` integer 2 The number of actions to be
|
compute node in one
|
||||||
run in parallel per storage
|
action plan.
|
||||||
pool.
|
``parallel_per_pool`` integer 2 Optional The number of actions to
|
||||||
``priority`` object None List prioritizes instances
|
be run in parallel per
|
||||||
|
storage pool.
|
||||||
|
``priority`` object None Optional List prioritizes instances
|
||||||
and volumes.
|
and volumes.
|
||||||
``with_attached_volume`` boolean False False: Instances will migrate
|
``with_attached_volume`` boolean False Optional False: Instances will
|
||||||
after all volumes migrate.
|
migrate after all volumes
|
||||||
True: An instance will migrate
|
|
||||||
after the attached volumes
|
|
||||||
migrate.
|
migrate.
|
||||||
|
True: An instance will
|
||||||
|
migrate after the
|
||||||
|
attached volumes migrate.
|
||||||
======================== ======== ======== ========= ==========================
|
======================== ======== ======== ========= ==========================
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
* All parameters in the table above have defaults and therefore the
|
||||||
|
user can create an audit without specifying a value. However,
|
||||||
|
if **only** defaults parameters are used, there will be nothing
|
||||||
|
actionable for the audit.
|
||||||
|
* ``parallel_*`` parameters are not in reference to concurrency,
|
||||||
|
but rather on limiting the amount of actions to be added to the action
|
||||||
|
plan
|
||||||
|
* ``compute_nodes``, ``storage_pools``, and ``priority`` are optional
|
||||||
|
parameters, however, if they are passed they **require** the parameters
|
||||||
|
in the tables below:
|
||||||
|
|
||||||
The elements of compute_nodes array are:
|
The elements of compute_nodes array are:
|
||||||
|
|
||||||
============= ======= =============== =============================
|
============= ======= ======== ========= ========================
|
||||||
parameter type default Value description
|
parameter type default required description
|
||||||
============= ======= =============== =============================
|
============= ======= ======== ========= ========================
|
||||||
``src_node`` string None Compute node from which
|
``src_node`` string None Required Compute node from which
|
||||||
instances migrate(mandatory).
|
|
||||||
``dst_node`` string None Compute node to which
|
|
||||||
instances migrate.
|
instances migrate.
|
||||||
============= ======= =============== =============================
|
``dst_node`` string None Optional Compute node to which
|
||||||
|
instances migrate.
|
||||||
|
============= ======= ======== ========= ========================
|
||||||
|
|
||||||
The elements of storage_pools array are:
|
The elements of storage_pools array are:
|
||||||
|
|
||||||
============= ======= =============== ==============================
|
============= ======= ======== ========= ========================
|
||||||
parameter type default Value description
|
parameter type default required description
|
||||||
============= ======= =============== ==============================
|
============= ======= ======== ========= ========================
|
||||||
``src_pool`` string None Storage pool from which
|
``src_pool`` string None Required Storage pool from which
|
||||||
volumes migrate(mandatory).
|
|
||||||
``dst_pool`` string None Storage pool to which
|
|
||||||
volumes migrate.
|
volumes migrate.
|
||||||
``src_type`` string None Source volume type(mandatory).
|
``dst_pool`` string None Optional Storage pool to which
|
||||||
``dst_type`` string None Destination volume type
|
volumes migrate.
|
||||||
(mandatory).
|
``src_type`` string None Required Source volume type.
|
||||||
============= ======= =============== ==============================
|
``dst_type`` string None Required Destination volume type
|
||||||
|
============= ======= ======== ========= ========================
|
||||||
|
|
||||||
The elements of priority object are:
|
The elements of priority object are:
|
||||||
|
|
||||||
================ ======= =============== ======================
|
================ ======= ======== ========= =====================
|
||||||
parameter type default Value description
|
parameter type default Required description
|
||||||
================ ======= =============== ======================
|
================ ======= ======== ========= =====================
|
||||||
``project`` array None Project names.
|
``project`` array None Optional Project names.
|
||||||
``compute_node`` array None Compute node names.
|
``compute_node`` array None Optional Compute node names.
|
||||||
``storage_pool`` array None Storage pool names.
|
``storage_pool`` array None Optional Storage pool names.
|
||||||
``compute`` enum None Instance attributes.
|
``compute`` enum None Optional Instance attributes.
|
||||||
|compute|
|
|compute|
|
||||||
``storage`` enum None Volume attributes.
|
``storage`` enum None Optional Volume attributes.
|
||||||
|storage|
|
|storage|
|
||||||
================ ======= =============== ======================
|
================ ======= ======== ========= =====================
|
||||||
|
|
||||||
.. |compute| replace:: ["vcpu_num", "mem_size", "disk_size", "created_at"]
|
.. |compute| replace:: ["vcpu_num", "mem_size", "disk_size", "created_at"]
|
||||||
.. |storage| replace:: ["size", "created_at"]
|
.. |storage| replace:: ["size", "created_at"]
|
||||||
@@ -126,11 +147,26 @@ parameter type default Value description
|
|||||||
Efficacy Indicator
|
Efficacy Indicator
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
The efficacy indicators for action plans built from the command line
|
||||||
|
are:
|
||||||
|
|
||||||
.. watcher-func::
|
.. watcher-func::
|
||||||
:format: literal_block
|
:format: literal_block
|
||||||
|
|
||||||
watcher.decision_engine.goal.efficacy.specs.HardwareMaintenance.get_global_efficacy_indicator
|
watcher.decision_engine.goal.efficacy.specs.HardwareMaintenance.get_global_efficacy_indicator
|
||||||
|
|
||||||
|
In **Horizon**, these indictors are shown with alternative text.
|
||||||
|
|
||||||
|
* ``live_migrate_instance_count`` is shown as
|
||||||
|
``The number of instances actually live migrated`` in Horizon
|
||||||
|
* ``planned_live_migrate_instance_count`` is shown as
|
||||||
|
``The number of instances planned to live migrate`` in Horizon
|
||||||
|
* ``planned_live_migration_instance_count`` refers to the instances planned
|
||||||
|
to live migrate in the action plan.
|
||||||
|
* ``live_migrate_instance_count`` tracks all the instances that could be
|
||||||
|
migrated according to the audit input.
|
||||||
|
|
||||||
|
|
||||||
Algorithm
|
Algorithm
|
||||||
---------
|
---------
|
||||||
|
|
||||||
@@ -148,6 +184,22 @@ How to use it ?
|
|||||||
$ openstack optimize audit create -a at1 \
|
$ openstack optimize audit create -a at1 \
|
||||||
-p compute_nodes='[{"src_node": "s01", "dst_node": "d01"}]'
|
-p compute_nodes='[{"src_node": "s01", "dst_node": "d01"}]'
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
* Currently, the strategy will not generate both volume migration and
|
||||||
|
instance migrations in the same audit. If both are requested,
|
||||||
|
only volume migrations will be included in the action plan.
|
||||||
|
* The Cinder model collector is not enabled by default.
|
||||||
|
If the Cinder model collector is not enabled while deploying Watcher,
|
||||||
|
the model will become outdated and cause errors eventually.
|
||||||
|
See the `Configuration option to enable the storage collector <https://docs.openstack.org/watcher/latest/configuration/watcher.html#collector.collector_plugins>`_ documentation.
|
||||||
|
|
||||||
|
Support caveats
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This strategy offers the option to perform both Instance migrations and
|
||||||
|
Volume migrations. Currently, Instance migrations are ready for production
|
||||||
|
use while Volume migrations remain experimental.
|
||||||
|
|
||||||
External Links
|
External Links
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user