[openstack-dev] [Mistral] Event Subscription

W Chan m4d.coder at gmail.com
Tue Nov 11 20:28:19 UTC 2014


Regarding blueprint to register event listeners to notify client
applications on state changes (
https://blueprints.launchpad.net/mistral/+spec/mistral-event-listeners-http),
I want to propose the following.

1. Refer this feature as event subscription instead of callback
2. Event subscription supports only HTTP web hooks with retry policy in
this first attempt
3. Event subscription can be defined for a list of specific events,
workflows, projects, domains, or any combinations (all if list is empty).
4. Decorator to publish event (similar to logging) and place decorators at
Engine and TaskPolicy methods @
https://github.com/stackforge/mistral/blob/master/mistral/engine1/base.py.
5. Events should be published to a queue and then processed by a worker so
not to disrupt actual workflow/task executions.
6. API controller to register event subscriber
    a. New resource type named EventSubscriber
    b. New REST controller named EventSubscribersController and CRUD
operations
7. DB v2 sqlalchemy model named EventSubscriber and appropriate CRUD methods
8. Operations in python-mistralclient to manage CRUD for subscribers.
9. Operation in python-mistralclient to re-publish events for a given
workflow execution (in case where client applications was downed and need
the data to recover).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141111/bc848f40/attachment.html>


More information about the OpenStack-dev mailing list