[openstack-dev] [taskflow] Returning information from reverted flow

Joshua Harlow harlowja at outlook.com
Tue Jun 16 14:51:41 UTC 2015


Dulko, Michal wrote:
>> -----Original Message-----
>> From: Joshua Harlow [mailto:harlowja at outlook.com]
>> Sent: Friday, June 12, 2015 5:49 PM
>> To: OpenStack Development Mailing List (not for usage questions)
>> Subject: Re: [openstack-dev] [taskflow] Returning information from reverted
>> flow
>>
>> Dulko, Michal wrote:
>>> Hi,
>>>
>>> In Cinder we had merged a complicated piece of code[1] to be able to
>>> return something from flow that was reverted. Basically outside we
>>> needed an information if volume was rescheduled or not. Right now this
>>> is done by injecting information needed into exception thrown from the
>>> flow. Another idea was to use notifications mechanism of TaskFlow.
>>> Both ways are rather workarounds than real solutions.
>> Unsure about notifications being a workaround (basically u are notifying to
>> some other entities that rescheduling happened, which seems like exactly
>> what it was made for) but I get the point ;)
>
> Please take a look at this review - https://review.openstack.org/#/c/185545/. Notifications cannot help if some further revert decision needs to be based on something that happened earlier.

That sounds like conditional reverting, which seems like it should be 
handled differently anyway, or am I misunderstanding something?

>>> I wonder if TaskFlow couldn't provide a mechanism to mark stored element
>>> to not be removed when revert occurs. Or maybe another way of returning
>>> something from reverted flow?
>>>
>>> Any thoughts/ideas?
>> I have a couple, I'll make some paste(s) and see what people think,
>>
>> How would this look (as pseudo-code or other) to you, what would be your
>> ideal, and maybe we can work from there (maybe u could do some paste(s)
>> to and we can prototype it), just storing information that is returned
>> from revert() somewhere? Or something else? There has been talk about
>> task 'local storage' (or something like that/along those lines) that
>> could also be used for this similar purpose.
>
> I think that the easiest idea from the perspective of an end user would be to save items returned from revert into flow engine's storage *and* do not remove it from storage when whole flow gets reverted. This is completely backward compatible, because currently revert doesn't return anything. And if revert has to record some information for further processing - this will also work.
>

Ok, let me see what this looks like and maybe I can have a POC in the 
next few days, I don't think its impossible to do (obviously) and 
hopefully will be useful for this.

>>> [1] https://review.openstack.org/#/c/154920/
>>>
>>>
>> __________________________________________________________
>> ________________
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe: OpenStack-dev-
>> request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> __________________________________________________________
>> ________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-
>> request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list