The Watcher Planner is part of the Watcher Decision Engine.
This module takes the set of Actions generated by a Strategy and builds the design of a workflow which defines how-to schedule in time those different Actions and for each Action what are the prerequisite conditions.
It is important to schedule Actions in time in order to prevent overload of the Cluster while applying the Action Plan. For example, it is important not to migrate too many instances at the same time in order to avoid a network congestion which may decrease the SLA for Customers.
It is also important to schedule Actions in order to avoid security issues such as denial of service on core OpenStack services.
Some default implementations are provided, but it is possible to develop new implementations which are dynamically loaded by Watcher at launch time.
See System Architecture for more details on this component.
Bases: watcher.common.loader.loadable.Loadable
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 |
The planner receives a solution to schedule
Parameters: |
|
---|---|
Returns: | Action plan with an ordered sequence of actions such that all security, dependency, and performance requirements are met. |
Return type: | watcher.objects.ActionPlan instance |