The watcher.decision_engine.planner.workload_stabilization Module

class watcher.decision_engine.planner.workload_stabilization.BaseActionValidator[source]

Bases: object

validate_parents(resource_action_map, action)[source]
class watcher.decision_engine.planner.workload_stabilization.ChangeNovaServiceStateActionValidator[source]

Bases: watcher.decision_engine.planner.workload_stabilization.BaseActionValidator

validate_parents(resource_action_map, action)[source]
class watcher.decision_engine.planner.workload_stabilization.MigrationActionValidator[source]

Bases: watcher.decision_engine.planner.workload_stabilization.BaseActionValidator

validate_parents(resource_action_map, action)[source]
class watcher.decision_engine.planner.workload_stabilization.NOPActionValidator[source]

Bases: watcher.decision_engine.planner.workload_stabilization.BaseActionValidator

validate_parents(resource_action_map, action)[source]
class watcher.decision_engine.planner.workload_stabilization.ResizeActionValidator[source]

Bases: watcher.decision_engine.planner.workload_stabilization.BaseActionValidator

validate_parents(resource_action_map, action)[source]
class watcher.decision_engine.planner.workload_stabilization.SleepActionValidator[source]

Bases: watcher.decision_engine.planner.workload_stabilization.BaseActionValidator

validate_parents(resource_action_map, action)[source]
class watcher.decision_engine.planner.workload_stabilization.WorkloadStabilizationPlanner(config)[source]

Bases: watcher.decision_engine.planner.base.BasePlanner

Workload Stabilization planner implementation

This implementation comes with basic rules with a set of action types that are weighted. An action having a lower weight will be scheduled before the other ones. The set of action types can be specified by ‘weights’ in the watcher.conf. You need to associate a different weight to all available actions into the configuration file, otherwise you will get an error when the new action will be referenced in the solution produced by a strategy.

Limitations

  • This is a proof of concept that is not meant to be used in production
create_action(action_plan_id, action_type, input_parameters=None)[source]
classmethod get_config_opts()[source]
load_child_class(child_name)[source]
schedule(context, audit_id, solution)[source]