The watcher.decision_engine.strategy.strategies.uniform_airflow Module¶
[PoC]Uniform Airflow using live migration
Description
It is a migration strategy based on the airflow of physical servers. It generates solutions to move VM whenever a server’s airflow is higher than the specified threshold.
Requirements
- Hardware: compute node with NodeManager 3.0 support
 - Software: Ceilometer component ceilometer-agent-compute running in each compute node, and Ceilometer API can report such telemetry “airflow, system power, inlet temperature” successfully.
 - You must have at least 2 physical compute nodes to run this strategy
 
Limitations
- This is a proof of concept that is not meant to be used in production.
 - We cannot forecast how many servers should be migrated. This is the reason why we only plan a single virtual machine migration at a time. So it’s better to use this algorithm with CONTINUOUS audits.
 - It assumes that live migrations are possible.
 
- 
class 
watcher.decision_engine.strategy.strategies.uniform_airflow.UniformAirflow(config, osc=None)[source]¶ Bases:
watcher.decision_engine.strategy.strategies.base.BaseStrategy[PoC]Uniform Airflow using live migration
Description
It is a migration strategy based on the airflow of physical servers. It generates solutions to move VM whenever a server’s airflow is higher than the specified threshold.Requirements
- Hardware: compute node with NodeManager 3.0 support
 - Software: Ceilometer component ceilometer-agent-compute running in each compute node, and Ceilometer API can report such telemetry “airflow, system power, inlet temperature” successfully.
 - You must have at least 2 physical compute nodes to run this strategy
 
Limitations
- This is a proof of concept that is not meant to be used in production.
 - We cannot forecast how many servers should be migrated. This is the reason why we only plan a single virtual machine migration at a time. So it’s better to use this algorithm with CONTINUOUS audits.
 - It assumes that live migrations are possible.
 
- 
calculate_used_resource(node, cap_cores, cap_mem, cap_disk)[source]¶ Compute the used vcpus, memory and disk based on instance flavors
- 
choose_instance_to_migrate(hosts)[source]¶ Pick up an active instance instance to migrate from provided hosts
Parameters: hosts – the array of dict which contains node object