424e9a76af
The "vm workload consolidation" strategy is summing up instance usage in order to estimate host usage. The problem is that some infrastructure services (e.g. OVS or Ceph clients) may also use a significant amount of resources, which would be ignored. This can impact Watcher's ability to detect overloaded nodes and correctly rebalance the workload. This commit will use the host metrics, if available. The proposed implementation uses the maximum value between the host metric and the sum of the instance metrics. Note that we're holding a dict of host metric deltas in order to account for planned migrations. Change-Id: I82f474ee613f6c9a7c0a9d24a05cba41d2f68edb
113 lines
3.4 KiB
ReStructuredText
113 lines
3.4 KiB
ReStructuredText
==================================
|
|
VM Workload Consolidation Strategy
|
|
==================================
|
|
|
|
Synopsis
|
|
--------
|
|
|
|
**display name**: ``VM Workload Consolidation Strategy``
|
|
|
|
**goal**: ``vm_consolidation``
|
|
|
|
.. watcher-term:: watcher.decision_engine.strategy.strategies.vm_workload_consolidation.VMWorkloadConsolidation
|
|
|
|
Requirements
|
|
------------
|
|
|
|
Metrics
|
|
*******
|
|
|
|
The *vm_workload_consolidation* strategy requires the following metrics:
|
|
|
|
============================ ============ ======= =========================
|
|
metric service name plugins comment
|
|
============================ ============ ======= =========================
|
|
``cpu`` ceilometer_ none
|
|
``memory.resident`` ceilometer_ none
|
|
``memory`` ceilometer_ none
|
|
``disk.root.size`` ceilometer_ none
|
|
``compute.node.cpu.percent`` ceilometer_ none (optional) need to set the
|
|
``compute_monitors`` option
|
|
to ``cpu.virt_driver`` in the
|
|
nova.conf.
|
|
``hardware.memory.used`` ceilometer_ SNMP_ (optional)
|
|
============================ ============ ======= =========================
|
|
|
|
.. _ceilometer: https://docs.openstack.org/ceilometer/latest/admin/telemetry-measurements.html#openstack-compute
|
|
.. _SNMP: https://docs.openstack.org/ceilometer/latest/admin/telemetry-measurements.html#snmp-based-meters
|
|
|
|
Cluster data model
|
|
******************
|
|
|
|
Default Watcher's Compute cluster data model:
|
|
|
|
.. watcher-term:: watcher.decision_engine.model.collector.nova.NovaClusterDataModelCollector
|
|
|
|
Actions
|
|
*******
|
|
|
|
Default Watcher's actions:
|
|
|
|
|
|
.. list-table::
|
|
:widths: 30 30
|
|
:header-rows: 1
|
|
|
|
* - action
|
|
- description
|
|
* - ``migration``
|
|
- .. watcher-term:: watcher.applier.actions.migration.Migrate
|
|
* - ``change_nova_service_state``
|
|
- .. watcher-term:: watcher.applier.actions.change_nova_service_state.ChangeNovaServiceState
|
|
|
|
Planner
|
|
*******
|
|
|
|
Default Watcher's planner:
|
|
|
|
.. watcher-term:: watcher.decision_engine.planner.weight.WeightPlanner
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Strategy parameter is:
|
|
|
|
====================== ====== ============= ===================================
|
|
parameter type default Value description
|
|
====================== ====== ============= ===================================
|
|
``period`` Number 3600 The time interval in seconds
|
|
for getting statistic aggregation
|
|
from metric data source
|
|
====================== ====== ============= ===================================
|
|
|
|
|
|
Efficacy Indicator
|
|
------------------
|
|
|
|
.. watcher-func::
|
|
:format: literal_block
|
|
|
|
watcher.decision_engine.goal.efficacy.specs.ServerConsolidation.get_global_efficacy_indicator
|
|
|
|
Algorithm
|
|
---------
|
|
|
|
For more information on the VM Workload consolidation strategy please refer to: https://specs.openstack.org/openstack/watcher-specs/specs/mitaka/implemented/zhaw-load-consolidation.html
|
|
|
|
How to use it ?
|
|
---------------
|
|
|
|
.. code-block:: shell
|
|
|
|
$ openstack optimize audittemplate create \
|
|
at1 server_consolidation --strategy vm_workload_consolidation
|
|
|
|
$ openstack optimize audit create -a at1
|
|
|
|
External Links
|
|
--------------
|
|
|
|
*Spec URL*
|
|
https://specs.openstack.org/openstack/watcher-specs/specs/mitaka/implemented/zhaw-load-consolidation.html
|