The watcher.decision_engine.strategy.strategies.noisy_neighbor Module

The watcher.decision_engine.strategy.strategies.noisy_neighbor Module

class watcher.decision_engine.strategy.strategies.noisy_neighbor.NoisyNeighbor(config, osc=None)[source]

Bases: watcher.decision_engine.strategy.strategies.base.NoisyNeighborBaseStrategy

Noisy Neighbor strategy using live migration

Description

This strategy can identify and migrate a Noisy Neighbor - a low priority VM that negatively affects performance of a high priority VM in terms of IPC by over utilizing Last Level Cache.

Requirements

To enable LLC metric, latest Intel server with CMT support is required.

Limitations

This is a proof of concept that is not meant to be used in production

Spec URL

http://specs.openstack.org/openstack/watcher-specs/specs/pike/implemented/noisy_neighbor_strategy.html

calc_used_resource(node)[source]

Calculate the used vcpus, memory and disk based on VM flavors

do_execute()[source]

Strategy execution phase

This phase is where you should put the main logic of your strategy.

filter_dest_servers(hosts, instance_to_migrate)[source]
find_noisy_instance(instance)[source]
find_priority_instance(instance)[source]
classmethod 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_current_and_previous_cache(instance)[source]
classmethod get_display_name()[source]

The goal display name for the strategy

classmethod get_name()[source]

The name of the strategy

classmethod get_schema()[source]

Defines a Schema that the input parameters shall comply to

Returns:A jsonschema format (mandatory default setting)
Return type:dict
classmethod get_translatable_display_name()[source]

The translatable msgid of the strategy

group_hosts()[source]
post_execute()[source]

Post-execution phase

This can be used to compute the global efficacy

pre_execute()[source]

Pre-execution phase

This can be used to fetch some pre-requisites or data.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.