watcher.decision_engine.strategy.strategies.uniform_airflow
Module¶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)[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 |
---|
do_execute
()[source]¶Strategy execution phase
This phase is where you should put the main logic of your strategy.
filter_destination_hosts
(hosts, instances_to_migrate)[source]¶Find instance and host with sufficient available resources
get_config_opts
()[source]¶Defines the configuration options to be associated to this loadable
Returns: | A list of configuration options relative to this Loadable |
---|---|
Return type: | list of oslo_config.cfg.Opt instances |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.