Pluggable action engine

Registered by Joshua Harlow

The idea for this is to create a new components used by action_engine, for now called the plug-engine-components that makes it easy for other engines to plug-in there own routines into taskflow's engine concept (which the current default engine being the action_engine impl.)

Certain routines that would be pluggable (to start):

- Compilation (of flows/tasks) -> graph (allowing others to generate new patterns or graph translation techniques)
- Scheduling (allowing others to provide there own techniques for scheduling nodes).
- Completion (allowing others to provider there own techniques for completing nodes/futures).
- The run loop that exists right now in graph_action execute_iter() method.

The existing action_engine would use a standard set of components but allow others to replace attributes or derive from the action_engine to provide there own default sets of plugins (so its interface and usage would still be unaffected).

Blueprint information

Status:
Complete
Approver:
Joshua Harlow
Priority:
Medium
Drafter:
Joshua Harlow
Direction:
Approved
Assignee:
Joshua Harlow
Definition:
Approved
Series goal:
Accepted for 0.4
Implementation:
Implemented
Milestone target:
None
Started by
Joshua Harlow
Completed by
Joshua Harlow

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/94057
    Create and use a new compilation module

Addressed by: https://review.openstack.org/94304
    Rename t_storage to engine_storage

Addressed by: https://review.openstack.org/94461
    Add a runtime module

Gerrit topic: https://review.openstack.org/#q,topic:plug-engine,n,z

Addressed by: https://review.openstack.org/97656
    Make the runner a runtime provided property

Addressed by: https://review.openstack.org/98551
    Make action handlers extensible and pluggable

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.