Provide a more dynamic Actions management solution

Registered by Vincent Mahe on 2015-11-17

In Watcher, an Audit generates a set of actions which aims at achieving a given goal (lower energy consumption, ...). It is possible to configure different strategies in order to achieve each goal. Each strategy is written as a Python class which produces a set of actions.

Today, the set of possible actions is fixed for a given version of Watcher and enables optimization algorithms to include actions such as instance migration, changing hypervisor state, changing power state (ACPI level, ...).

It should be possible to deploy and configure (in watcher.conf) new potential actions and associate each action to a Python class, without the need to redeploy a new version of Watcher.
Each configured action should at least contain the following information:
- a unique id
- the target resource type (instance, compute node, ...) to which the action will apply
- a list of input parameters and for each parameter a type (UUID, Integer, Long, Float, Enum, ...) and a flag indicating whether it is mandatory or optional
- a list of output parameters which are returned by the action and may enable the Watcher Applier to update its current context for an Audit.

Blueprint information

Status:
Complete
Approver:
Antoine Cabot
Priority:
Medium
Drafter:
Vincent Mahe
Direction:
Approved
Assignee:
Jean-Emile DARTOIS
Definition:
Approved
Series goal:
Accepted for mitaka
Implementation:
Implemented
Milestone target:
milestone icon mitaka-2
Started by
Jean-Emile DARTOIS on 2016-01-05
Completed by
Antoine Cabot on 2016-01-25

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/watcher-add-actions-via-conf,n,z

Addressed by: https://review.openstack.org/257494
    Provide a more dynamic Actions management solution

Addressed by: https://review.openstack.org/263715
    Provide a more dynamic Actions management solution

Addressed by: https://review.openstack.org/264142
    Provide a more dynamic Actions management solution

Gerrit topic: https://review.openstack.org/#q,topic:bp/use-taskflow,n,z

Addressed by: https://review.openstack.org/264175
    Provide a more dynamic Actions management solution

Addressed by: https://review.openstack.org/264782
    Provide a more dynamic Actions management solution

Addressed by: https://review.openstack.org/264840
    Provide a more dynamic Actions management solution

Addressed by: https://review.openstack.org/265185
    Provide a more dynamic Actions management solution

Addressed by: https://review.openstack.org/265868
    Add a dynamic loading of the actions

Addressed by: https://review.openstack.org/270642
    Add Voluptuous to validate the action parameters

Gerrit topic: https://review.openstack.org/#q,topic:bug/1536218,n,z

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.