Skip to main content

Overview

Strategies are the algorithm plugins used by the Decision Engine to analyze the cluster and generate migration recommendations. Each strategy is tied to one or more optimization goals and accepts tuning parameters that control sensitivity thresholds, look-back periods, and metric selection. This page documents all available strategies and their configuration parameters.

Available Strategies

StrategyGoalAlgorithmData Source Required
server_consolidationServer ConsolidationBin-packing — fill hosts before activating new onesCompute API
outlet_temperatureThermal OptimizationHeatmap — migrate from hot racks based on inlet temperaturePrometheus (temperature)
workload_stabilizationWorkload StabilizationStatistical variance analysis per instanceTelemetry time-series
saving_energyEnergy SavingsConsolidate + flag empty hosts for power-offCompute API
zone_migrationZone RebalancingEven distribution across availability zonesCompute API
noisy_neighborNoisy NeighborCPU steal contention detection between co-located instancesTelemetry
basic_consolidationConsolidation (basic)Threshold-based: migrate from hosts below utilization thresholdCompute API only

Configure Strategy Parameters

Per-Audit Parameters

Override defaults at audit creation time without changing the service configuration:
Create audit with custom parameters
openstack watcher audit create \
  --goal server_consolidation \
  --parameter threshold=0.15 \
  --parameter period=7200 \
  --name custom-threshold-audit

Service-Wide Defaults

Set platform defaults that apply to all audits which do not override specific parameters.

Enable Dynamic Cluster Optimization

Open XDeploy and navigate to Configuration. Select the Advance Features tab and toggle Enable Dynamic Cluster Optimization to Yes. Click Save Configuration.

Configure Strategy Defaults

Navigate to Advanced Configuration. In the Service Tree (left panel), select watcher. Click New File or select an existing watcher.conf from the File Browser (right panel).Add the following in the Code Editor (center panel):
/etc/xavs/config/watcher/watcher.conf
[watcher_strategies.server_consolidation]
threshold = 0.2
period = 3600

[watcher_strategies.workload_stabilization]
metric = cpu_util
granularity = 300
period = 7200

[watcher_strategies.outlet_temperature]
threshold = 35.0
period = 3600

Save and Apply

Click Save Current File. Return to Operations and run reconfigure to apply the strategy defaults to the Decision Engine.
Strategy defaults configured and applied via XDeploy.

Parameter Reference

ParameterStrategyDefaultDescription
thresholdserver_consolidation, basic_consolidation0.2Fraction below which a host is underutilized
periodAll3600Look-back window in seconds for metric aggregation
granularityTelemetry-backed300Metric sample granularity in seconds
metricworkload_stabilizationcpu_utilMetric used for stability scoring
thresholdoutlet_temperature35.0Inlet temperature (°C) above which to evacuate racks

Verify Strategy Loading

Verify strategy plugins are loaded
docker exec watcher_decision_engine python3 -c "
from stevedore import driver
drv = driver.DriverManager(
    namespace='watcher_strategies',
    name='server_consolidation',
    invoke_on_load=False
)
print('Strategy loaded:', drv.driver)
"
List all registered strategies
openstack watcher strategy list

Xloud Production Enhancements

Xloud-Developed — These enhancements ship with XAVS and are active on all Resource Optimizer strategies.

Server Group Awareness

All 14 strategies automatically respect server group affinity and anti-affinity constraints during automated migrations. Hard policies (affinity, anti-affinity) block invalid migrations. Soft policies adjust destination scoring weights. See Server Groups for configuration.

DRS Safety Checks

The workload balancing strategy includes production safety guardrails:
CheckDescription
Max iterationsConfigurable limit on migrations per audit cycle
Capacity validationPre-migration check ensures destination has sufficient resources
Concurrent migration limitPrevents overloading the cluster with simultaneous migrations
Server group weightDestination scoring adjusts based on soft-affinity/anti-affinity group membership

Automated Storage Tiering

The storage tier balance strategy automatically moves volumes between NVMe, SSD, and HDD pools based on IOPS activity and volume age. Configurable promotion and demotion thresholds. See Storage Tiers.

Next Steps

Data Sources

Connect the data sources required by each strategy.

Custom Strategies

Implement and deploy custom optimization strategy plugins.

Scheduling

Schedule recurring audits using the configured strategies.

Architecture

Review how strategies fit into the Decision Engine pipeline.