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

Joshua Harlow harlowja at outlook.com
Thu Jun 18 00:17:48 UTC 2015


Ok, so https://review.openstack.org/#/c/192942/ is a WIP of this.

Seems to mostly work, just need to tweak a few more engine unit tests...

-Josh

Dulko, Michal wrote:
>
>> -----Original Message-----
>> From: Joshua Harlow [mailto:harlowja at outlook.com]
>> Sent: Tuesday, June 16, 2015 4:52 PM
>> To: OpenStack Development Mailing List (not for usage questions)
>> Subject: Re: [openstack-dev] [taskflow] Returning information from reverted
>> flow
>>
>> 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?
>
> Current version of the patch takes another approach which I think handles it correctly. So you were probably right. :)
>
>>>>> 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.
>
> Great!
>>>>> [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
>> __________________________________________________________
>> ________________
>> 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