Add options to disable migration in host maintenance
This change enhances the Host Maintenance strategy by introducing two new input parameters: `disable_live_migration` and `disable_cold_migration`. These parameters allow cloud administrators to control whether live or cold migration should be considered during host maintenance operations. If `disable_live_migration` is set, active instances will be cold migrated if `disable_cold_migration` is not set, otherwise active instances will be stopped. If `disable_cold_migration` is set, inactive instances will not be cold migrated. If both are set, only stop actions will be performed on instances. The strategy logic and action plan generation have been updated to reflect these behaviors. A new "stop" action is introduced and registered, and the weight planner is updated to handle new action. Documentation for the Host Maintenance strategy is updated to describe the new parameters and their effects. Test Plan: - Unit tests for HostMaintenance strategy with new parameters - Integration tests for action plan generation with stop action This implements the specification: Spec: https://review.opendev.org/c/openstack/watcher-specs/+/943873 Change-Id: I201b8e5c52e1bc1a74f3886a0e301e3c0fa5d351 Signed-off-by: Quang Ngo <quang.ngo@canonical.com>
This commit is contained in:
@@ -52,15 +52,29 @@ Configuration
|
||||
|
||||
Strategy parameters are:
|
||||
|
||||
==================== ====== ================================ ==================
|
||||
parameter type description required/optional
|
||||
==================== ====== ================================ ==================
|
||||
``maintenance_node`` String The name of the compute node Required
|
||||
which needs maintenance.
|
||||
``backup_node`` String The name of the compute node Optional
|
||||
which will backup the
|
||||
maintenance node.
|
||||
==================== ====== ================================ ==================
|
||||
========================== ======== ========================== ==========
|
||||
parameter type description required
|
||||
========================== ======== ========================== ==========
|
||||
``maintenance_node`` String The name of the Required
|
||||
compute node
|
||||
which needs maintenance.
|
||||
``backup_node`` String The name of the compute Optional
|
||||
node which will backup
|
||||
the maintenance node.
|
||||
``disable_live_migration`` Boolean False: Active instances Optional
|
||||
will be live migrated.
|
||||
True: Active instances
|
||||
will be cold migrated
|
||||
if cold migration is
|
||||
not disabled. Otherwise,
|
||||
they will be stopped.
|
||||
False by default.
|
||||
``disable_cold_migration`` Boolean False: Inactive instances Optional
|
||||
will be cold migrated.
|
||||
True: Inactive instances
|
||||
will not be cold migrated.
|
||||
False by default.
|
||||
========================== ======== ========================== ==========
|
||||
|
||||
Efficacy Indicator
|
||||
------------------
|
||||
@@ -97,6 +111,18 @@ to compute02 host.
|
||||
-p maintenance_node=compute01 \
|
||||
-p backup_node=compute02
|
||||
|
||||
Run an audit using Host Maintenance strategy with migration disabled.
|
||||
This will only stop active instances on compute01, useful for maintenance
|
||||
scenarios where operators do not want to migrate workloads to other hosts.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
$ openstack optimize audit create \
|
||||
-g cluster_maintaining -s host_maintenance \
|
||||
-p maintenance_node=compute01 \
|
||||
-p disable_live_migration=True \
|
||||
-p disable_cold_migration=True
|
||||
|
||||
Note that after executing this strategy, the *maintenance_node* will be
|
||||
marked as disabled, with the reason set to ``watcher_maintaining``.
|
||||
To enable the node again:
|
||||
|
||||
Reference in New Issue
Block a user