[openstack-dev] [Mistral] Actions design BP

Dmitri Zimine dz at stackstorm.com
Thu Mar 13 22:00:54 UTC 2014

Thanks Renat for a clear design summary, 
thanks Joshua for the questions, 
+1 to "let's move TaskFlow vs Mistral" discussion to separate thread, 
and my questions/comments on https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign below: 

- Async actions: how do results of async action communicates back? 
My understanding it it assumes that the remote system will call back to mistral with action execution id, it's on the engine to call-back, and action needs to let the engine know to expect call-back. Let's put the explanation here. 

	- is_sync() - consider using an attribute instead -  @mistral.async
	- can we think of a way to unify sync and async actions from engine's standpoint? So that we don't special-case it in the engine? @ Joshua - does something similar exists in TaskFlow already?

- def dry_run() - maybe name "test", let's stress that this method should return a representative sample output. 

- Input - need a facility to declare, validate and list input parameters. Like VALID_KEYS=['url', 'parameters''] , def validate(): 

- class HTTPAction(object):
    def __init__(self, url, params, method, headers, body):
Not happy about declaring parameters explicitly. How about using * args **kvargs, or 'parameters' dictionary? 

- DSL In-Place Declaration - I did minor edits in the section, please check. 

On Mar 12, 2014, at 6:54 PM, Joshua Harlow <harlowja at yahoo-inc.com> wrote:

> So taskflow has tasks, which seems comparable to actions?
> I guess I should get tired of asking but why recreate the same stuff ;)
> The questions listed:
> - Does action need to have revert() method along with run() method?
> - How does action expose errors occurring during it's work?
> - In what form does action return a result?
> And more @ https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign
> And quite a few others that haven't been mentioned (how does a action
> retry? How does a action report partial progress? What's the
> intertask/state persistence mechanism?) have been worked on by the
> taskflow team for a while now...
> https://github.com/openstack/taskflow/blob/master/taskflow/task.py#L31
> (and others...)
> Anyways, I know mistral is still POC/pilot/prototype... but seems like
> more duplicate worked that could just be avoided ;)
> -Josh
> -----Original Message-----
> From: Renat Akhmerov <rakhmerov at mirantis.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)"
> <openstack-dev at lists.openstack.org>
> Date: Tuesday, March 11, 2014 at 11:32 PM
> To: "OpenStack Development Mailing List (not for usage questions)"
> <openstack-dev at lists.openstack.org>
> Subject: [openstack-dev] [Mistral] Actions design BP
>> Team,
>> I started summarizing all the thoughts and ideas that we¹ve been
>> discussing for a while regarding actions. The main driver for this work
>> is that the system keeps evolving and we still don¹t have a comprehensive
>> understanding of that part. Additionally, we keep getting a lot of
>> requests and questions from our potential users which are related to
>> actions (Œwill they be extensible?¹, Œwill they have dry-run feature?¹,
>> Œwhat are the ways to configure and group them?¹ and so on and so forth).
>> So although we¹re still in a Pilot phase we need to start this work in
>> parallel. Even now lack of solid understanding of it creates a lot of
>> problems in pilot development.
>> I created a BP at launchpad [0] which has a reference to detailed
>> specification [1]. It¹s still in progress but you could already leave
>> your early feedback so that I don¹t go in a wrong direction too far.
>> The highest priority now is still finishing the pilot so we shouldn¹t
>> start implementing everything described in BP right now. However, some of
>> the things have to be adjusted asap (like Action interface and the main
>> implementation principles).
>> [0]: 
>> https://blueprints.launchpad.net/mistral/+spec/mistral-actions-design
>> [1]: https://wiki.openstack.org/wiki/Mistral/Blueprints/ActionsDesign
>> Renat Akhmerov
>> @ Mirantis Inc.
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140313/f0c11129/attachment.html>

More information about the OpenStack-dev mailing list