Dulko, Michal wrote:
-----Original Message-----
From: Joshua Harlow [mailto:harlo...@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-
requ...@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-
requ...@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-requ...@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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to