Re: [openstack-dev] [Oslo][TaskFlow] Proposal for new core reviewer (pranesh pandurangan)

2014-07-01 Thread Ivan Melnikov
On 01.07.2014 04:05, Joshua Harlow wrote:
 Greetings all stackers,
 
 I propose that we add Pranesh Pandurangan[1] to the taskflow-core team[2].
 
 Pranesh has been actively contributing to taskflow for a while now, both
 in helping develop code and helping with the review load. He has provided
 quality reviews and is doing an awesome job with the various taskflow
 concepts
 and helping make taskflow the best library it can be!
 
 Overall I think he would make a great addition to the core review team.
 
 Please respond with +1/-1.

+1

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Mistral] How Mistral handling long running delegate tasks

2014-04-03 Thread Ivan Melnikov

I'm trying to catch up this rather long and interesting discussion,
sorry for somewhat late reply.

I can see aspects of 'lazy model' support in TaskFlow:
- how tasks are executed and reverted
- how flows are run
- how engine works internally

Let me address those aspects separately.

== Executing and reverting tasks ==

I think that should be done via different interface then running a flow
(or scheduling it to run), as it is completely different thing. In
current TaskFlow this interface is called task executor:
https://github.com/openstack/taskflow/blob/master/taskflow/engines/action_engine/executor.py#L57

That is actually how our WorkerBasedEngine was implemented: it's the
same engine with special task executor that schedules tasks on worker
instead of running task code locally.

Task executors are not aware of flows by design, all they do is
executing and reverting tasks. That means that task executors can be
easily shared between engines if that's wanted.

Current TaskExecutorBase interface uses futures (PEP 3148-like). When I
proposed it, futures looked like good tool for the task at hand (see
e.g. async task etherpad
https://etherpad.openstack.org/p/async-taskflow-tasks)

Now it may be time to reconsider that: having one future object per
running task may become a scalability issue. It may be worth to use
callbacks instead. It should not be too hard to refactor current engine
for that. Also, as TaskExecutorBase is an internal API, there should not
be any compatibility issues.

Then, we can make task executor interface public and allow clients to
provide their own task executors. It will be possible then for Mistral
to implement its own task executor, or several, and share the
executors between all the engine instances.

You can call it a plan;)

== Running flows ==

To run the flow TaskFlow client uses engine interface; also, there are
few of helper functions provided for convenience:

http://docs.openstack.org/developer/taskflow/engines.html#module-taskflow.engines.base
http://docs.openstack.org/developer/taskflow/engines.html#creating-engines

That is part of our public API, it is stable and good enough. Basically,
I don't think this API needs any major change.

Maybe it worth to add function or method to schedule running flow
without actually waiting for flow completion (at least, it was on my top
secret TODO list for quite a long time).

== Engine internals ==

Each engine eats resources, like thread it runs on; using these
resources to run one flow only is somewhat wasteful. Some work is
already planned to address this situation (see e.g.
https://blueprints.launchpad.net/taskflow/+spec/share-engine-thread).
Also, it might be good idea to implement different 'type' of engine to
support 'lazy' model, as Joshua suggests.

But whatever should and will be done about it, I daresay all that work
can be done without affecting API more then I described above.

-- 
WBR,
Ivan A. Melnikov

... tasks must flow ...


On 02.04.2014 01:51, Dmitri Zimine wrote:
 Even more responses inline :)
[...]

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [State-Management] Agenda for meeting (tommorow) at 2000 UTC

2014-03-06 Thread Ivan Melnikov
On 06.03.2014 04:00, Joshua Harlow wrote:
 Hi all,
 
 The [state-management] project team holds a weekly meeting in
 #openstack-meeting on thursdays, 2000 UTC. The next meeting is tommorow,
 2014-03-06!!! 

[...]

 Any other topics are welcome :-)

I dared to add item on documentation improvements.

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [all] Lots of gating failures because of testtools

2014-01-29 Thread Ivan Melnikov
Hi there,

I see lots of unit tests jobs on gate fail with errors like

2014-01-29 10:48:44.933 | File
/home/jenkins/workspace/gate-taskflow-python26/.tox/py26/lib/python2.6/site-packages/subunit/test_results.py,
line 23, in module
2014-01-29 10:48:44.934 | from testtools.compat import all
2014-01-29 10:48:44.935 | ImportError: cannot import name all
2014-01-29 10:48:44.992 | ERROR: InvocationError:
'/home/jenkins/workspace/gate-taskflow-python26/.tox/py26/bin/python
setup.py testr --slowest --testr-args='

Looks like subunit is not compatible with just-released testtools
0.9.35. I guess we will need to pin testtools to 0.9.34 in
test-requirements.txt. Or there are better solution?

I filed a bug to subunit upstream:
https://bugs.launchpad.net/subunit/+bug/1274056

I also filed a bug for taskflow, feel free to add your projects there if
it's affected, too: https://bugs.launchpad.net/taskflow/+bug/1274050

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [State-Management] Proposal to add Changbin Liu to taskflow-core

2014-01-16 Thread Ivan Melnikov
On Jan 17, 2014 2:27 AM, Joshua Harlow harlo...@yahoo-inc.com wrote:

 Greetings all stackers,

 I propose that we add Changbin Liu[1] to the taskflow-core team[2].

+1

-- 
WBR,
Ivan A. Melnikov
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [infra] Unit tests, gating, and real databases

2014-01-03 Thread Ivan Melnikov
Hi there,

As far as I understand, slaves that run gate-*-python27 and python26
jobs have MySQL and Postgres servers installed and running so we can
test migrations and do functional testing for database-related code.
I wanted to use this to improve TaskFlow gating, but I failed to find
docs about it and to derive how this database instances should be
used from nova and oslo.db tests code.

Can anyone give some hints or pointers on where should I get
connection config and what can I do with those database servers in
unit and functional tests?

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [requirements] - taskflow preventing sqla 0.8 upgrade

2014-01-03 Thread Ivan Melnikov
On 04.01.2014 01:29, Sean Dague wrote:
 On 01/03/2014 04:17 PM, Doug Hellmann wrote:
[...]
 That's what made me think of the solution. But isn't setuptools in fact
 telling us that somehow the versions of things we expected to have
 installed are no longer installed and so something *is* broken (even if
 the versions of the installed libraries work together).
 
 It actually tells us that a human, somewhere, decided that their
 software did not work with some combination of other software, and that
 we are no longer able to correct their mistaken assumptions.
[...]

But sometimes humans are not wrong. For example, no released TaskFlow
version really works with SQLAlchemy = 0.8 -- that was fixed only
recently (https://review.openstack.org/#/c/62661/).

I consider requirements to be part of the code, so if they are too
strict (or too broad), that must be fixed, in a usual opensource way:
via filing bug report, suggesting patch and so on.

Requirements should reflect reality, especially for libraries that are
intended to be useful outside of OpenStack, too. For example, current
TaskFlow requirement for SQLAlchemy is too strict, so we'll fix that,
and release new version with that fix.

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Solum] Unicode strings in Python3

2013-12-05 Thread Ivan Melnikov
On 05.12.2013 20:42, Georgy Okrokvertskhov wrote:
 On Thu, Dec 5, 2013 at 8:32 AM, Christopher Armstrong 
 chris.armstr...@rackspace.com wrote:
 
 On Thu, Dec 5, 2013 at 3:26 AM, Julien Danjou jul...@danjou.info wrote:

 On Wed, Dec 04 2013, Georgy Okrokvertskhov wrote:

 Quick summary: you can't use unicode() function and u' ' strings in
 Pyhton3.

 Not that it's advised, but you can use u' ' back again with Python 3.3.


 And this is a very useful feature for projects that want to have a single
 codebase that runs on both python 2 and python 3, so it's worth taking
 advantage of.

 
 You are right. PEP 414 introduces u literals in Python3.3. Unicode()
 function still does not work and should be avoided in the code, though.

Also let me remind that there is always six.text_type for those who
really need it.

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Cinder] TaskFlow 0.1 integration

2013-11-19 Thread Ivan Melnikov
On 19.11.2013 10:38, Kekane, Abhishek wrote:
 Hi All,
 
 Greetings!!!

Hi there!

And thanks for your interest in cinder and taskflow!

 We are in process of implementing the TaskFlow 0.1 in Cinder for copy
 volume to image and delete volume.
 
 I have added two blueprints for the same.
 1. 
 https://blueprints.launchpad.net/cinder/+spec/copy-volume-to-image-task-flow
 2. https://blueprints.launchpad.net/cinder/+spec/delete-volume-task-flow
 
 I would like to know if any other developers/teams are working or
 planning to work on any cinder api apart from above two api's.
 
 Your help is appreciated.

Anastasia Karpinska works on updating existing flows to use released
TaskFlow 0.1.1 instead of internal copy:

https://review.openstack.org/53922

It was blocked because taskflow was not in openstack/requirements, but
now we're there, and Anastasia promised to finish the work and submit
updated changeset for review in couple of days.

There are also two changesets that convert cinder APIs to use TaskFlow:
- https://review.openstack.org/53480 for create_backup by Victor
  Rodionov
- https://review.openstack.org/55134 for create_snapshot by Stanislav
  Kudriashev

As far as I know both Stanislav and Victor suspended their work unitil
Anastasia's change lands.

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [State-Management] Proposal to add Anastasia Karpinska to taskflow-core

2013-11-18 Thread Ivan Melnikov
On 18.11.2013 22:05, Joshua Harlow wrote:
 Greetings all stackers,
 
 I propose that we add Anastasia Karpinska to the taskflow-core team [1].
[...]

+1

-- 
WBR,
Ivan A. Melnikov

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev