watcher.decision_engine.strategy.strategies.workload_stabilization
Module¶watcher.decision_engine.strategy.strategies.workload_stabilization.
WorkloadStabilization
(config, osc=None)[source]¶Bases: watcher.decision_engine.strategy.strategies.base.WorkloadStabilizationBaseStrategy
Workload Stabilization control using live migration
This is workload stabilization strategy based on standard deviation algorithm. The goal is to determine if there is an overload in a cluster and respond to it by migrating VMs to stabilize the cluster.
This strategy has been tested in a small (32 nodes) cluster.
It assumes that live migrations are possible in your cluster.
MEMOIZE
()¶calculate_migration_case
(hosts, instance, src_node, dst_node)[source]¶Calculate migration case
Return list of standard deviation values, that appearing in case of migration of instance from source host to destination host :param hosts: hosts with their workload :param instance: the virtual machine :param src_node: the source node :param dst_node: the destination node :return: list of standard deviation values
create_migration_instance
(mig_instance, mig_source_node, mig_destination_node)[source]¶Create migration VM
do_execute
()[source]¶Strategy execution phase
This phase is where you should put the main logic of your strategy.
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 |
get_instance_load
(**kw)[source]¶Gathering instance load through ceilometer/gnocchi statistic.
Parameters: | instance – instance for which statistic is gathered. |
---|---|
Returns: | dict |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.