watcher/doc/source/strategies/vm_workload_consolidation.rst
Lucian Petrut 424e9a76af vm workload consolidation: use actual host metrics
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
2023-10-27 21:54:42 +03:00

3.4 KiB

VM Workload Consolidation Strategy

Synopsis

display name: VM Workload Consolidation Strategy

goal: vm_consolidation

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 memory.resident memory disk.root.size

ceilometer ceilometer ceilometer ceilometer

none none none 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)

Cluster data model

Default Watcher's Compute cluster data model:

watcher.decision_engine.model.collector.nova.NovaClusterDataModelCollector

Actions

Default Watcher's actions:

action description
migration

watcher.applier.actions.migration.Migrate

change_nova_service_state

watcher.applier.actions.change_nova_service_state.ChangeNovaServiceState

Planner

Default Watcher's planner:

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.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 ?

$ openstack optimize audittemplate create \
  at1 server_consolidation --strategy vm_workload_consolidation

$ openstack optimize audit create -a at1

Spec URL https://specs.openstack.org/openstack/watcher-specs/specs/mitaka/implemented/zhaw-load-consolidation.html