<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/taskflow.git/taskflow/patterns/linear_flow.py, branch 2.9.0</title>
<subtitle>opendev.org: openstack/taskflow.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/'/>
<entry>
<title>Use graphs as the underlying structure of patterns</title>
<updated>2015-09-18T17:39:04+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2015-08-07T00:18:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=64583e075f41a5a239de15d6d521ce4bfde69a7d'/>
<id>64583e075f41a5a239de15d6d521ce4bfde69a7d</id>
<content type='text'>
This unifies all the patterns to be graph based so
that they are more uniform and there underlying constraints
are more easy to understand (taskflow basically processes
graphs).

Change-Id: Ib2ab07c1c87165cf40a06508128010887f658391
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This unifies all the patterns to be graph based so
that they are more uniform and there underlying constraints
are more easy to understand (taskflow basically processes
graphs).

Change-Id: Ib2ab07c1c87165cf40a06508128010887f658391
</pre>
</div>
</content>
</entry>
<entry>
<title>iter_nodes method added to flows</title>
<updated>2015-08-28T14:54:25+00:00</updated>
<author>
<name>Timofey Durakov</name>
<email>tdurakov@mirantis.com</email>
</author>
<published>2015-08-13T11:30:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=60a9e6a817dbcf803ef22066fea0e8034b0a9145'/>
<id>60a9e6a817dbcf803ef22066fea0e8034b0a9145</id>
<content type='text'>
New method allows to iterate over flow node and
get access to node metadata during iteration.

Change-Id: Ib0fc77f0597961602fbc3b49ba09e4df815d8230
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New method allows to iterate over flow node and
get access to node metadata during iteration.

Change-Id: Ib0fc77f0597961602fbc3b49ba09e4df815d8230
</pre>
</div>
</content>
</entry>
<entry>
<title>Use constants for link metadata keys</title>
<updated>2014-10-18T20:24:12+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-07-19T23:52:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=3a8a78ee647e43fa0386d4310a384e374d4ce0fa'/>
<id>3a8a78ee647e43fa0386d4310a384e374d4ce0fa</id>
<content type='text'>
Instead of using strings (which can be easy to
mistype and get wrong), provide a set of constants
that can be used to attach and use these keys in
flows and at compilation.

This also helps make it more clear what the keys
do and where they are used.

Change-Id: I5283b27617961136a4582bbcfce4617f05e8dd1d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of using strings (which can be easy to
mistype and get wrong), provide a set of constants
that can be used to attach and use these keys in
flows and at compilation.

This also helps make it more clear what the keys
do and where they are used.

Change-Id: I5283b27617961136a4582bbcfce4617f05e8dd1d
</pre>
</div>
</content>
</entry>
<entry>
<title>Relax the linear flow symbol constraints</title>
<updated>2014-09-08T20:55:26+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-07-18T19:49:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=2339bacaf7edd9a781267cf8ca38b8639f34137b'/>
<id>2339bacaf7edd9a781267cf8ca38b8639f34137b</id>
<content type='text'>
In order to make it possible to have a symbol
tree we need to relax and remove the constraints
that are being imposed by the linear constraints
and later move those constraint checks and validations
into the engines compilation stage.

Part of blueprint taskflow-improved-scoping

Change-Id: I6efdc821ff991e83572d89f56be5c678d007f9f8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to make it possible to have a symbol
tree we need to relax and remove the constraints
that are being imposed by the linear constraints
and later move those constraint checks and validations
into the engines compilation stage.

Part of blueprint taskflow-improved-scoping

Change-Id: I6efdc821ff991e83572d89f56be5c678d007f9f8
</pre>
</div>
</content>
</entry>
<entry>
<title>Be smarter about required flow symbols</title>
<updated>2014-09-08T19:14:51+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-07-18T19:22:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=e68d72f66e387f5b9f9a543d8ac3000ef5cfbbdc'/>
<id>e68d72f66e387f5b9f9a543d8ac3000ef5cfbbdc</id>
<content type='text'>
Instead of blindly assuming all the symbols that
are provided automatically work for all flows even
if the flow has ordering constraints we should set
the base flow class requires property to be abstract
and provide flow specific properties that can do the
appropriate analysis to determine what the flows
unsatisfied symbol requirements actually are.

Part of blueprint taskflow-improved-scoping

Change-Id: Ie149c05b3305c5bfff9d9f2c05e7e064c3a6d0c7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of blindly assuming all the symbols that
are provided automatically work for all flows even
if the flow has ordering constraints we should set
the base flow class requires property to be abstract
and provide flow specific properties that can do the
appropriate analysis to determine what the flows
unsatisfied symbol requirements actually are.

Part of blueprint taskflow-improved-scoping

Change-Id: Ie149c05b3305c5bfff9d9f2c05e7e064c3a6d0c7
</pre>
</div>
</content>
</entry>
<entry>
<title>Put provides and requires code to basic Flow</title>
<updated>2014-05-07T07:17:50+00:00</updated>
<author>
<name>Ivan A. Melnikov</name>
<email>imelnikov@griddynamics.com</email>
</author>
<published>2014-05-06T11:26:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=095650653d53d4a2f431bea20fabc440263d38e7'/>
<id>095650653d53d4a2f431bea20fabc440263d38e7</id>
<content type='text'>
Code that calculates provides and requires for flow is almost
identical for all patterns, so this change makes it completely
identical and puts it to the base class. Other patterns are
still allowed to override these properties for sake of customization
or optimization.

Change-Id: I6e875e863047b5287ec727fc9a491f252f144ecf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Code that calculates provides and requires for flow is almost
identical for all patterns, so this change makes it completely
identical and puts it to the base class. Other patterns are
still allowed to override these properties for sake of customization
or optimization.

Change-Id: I6e875e863047b5287ec727fc9a491f252f144ecf
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust the exception hierachy</title>
<updated>2014-03-25T03:42:30+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-03-24T19:32:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=a570aead532bb2c247ad53896a3e66d644a58489'/>
<id>a570aead532bb2c247ad53896a3e66d644a58489</id>
<content type='text'>
Group the exceptions into the following groups
  * Storage
  * Jobs
  * Execution
  * Other (wrapped failure here)

This grouping makes it easier to understand where
one type of exception should be used vs using another
type of exception.

Backwards incompatible changes:
  * StorageError -&gt; StorageFailure
  * AlreadyExists -&gt; Duplicate
  * WrappedFailure now inherits from Exception
    and not directly from TaskFlowException since it
    wraps arbitrary other exceptions and is not
    specific to taskflow.

Cleanups:
  * JobNotFound -&gt; NotFound
  * EmptyFlow -&gt; Empty
  * JobAlreadyExists -&gt; AlreadyExists
  * InvariantViolation (X)
  * ConnectionFailure (X)

Change-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Group the exceptions into the following groups
  * Storage
  * Jobs
  * Execution
  * Other (wrapped failure here)

This grouping makes it easier to understand where
one type of exception should be used vs using another
type of exception.

Backwards incompatible changes:
  * StorageError -&gt; StorageFailure
  * AlreadyExists -&gt; Duplicate
  * WrappedFailure now inherits from Exception
    and not directly from TaskFlowException since it
    wraps arbitrary other exceptions and is not
    specific to taskflow.

Cleanups:
  * JobNotFound -&gt; NotFound
  * EmptyFlow -&gt; Empty
  * JobAlreadyExists -&gt; AlreadyExists
  * InvariantViolation (X)
  * ConnectionFailure (X)

Change-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Linear flow: mark links and rework unit tests"</title>
<updated>2014-03-24T11:00:33+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2014-03-24T11:00:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=27f866e3815e8bdf183442846fba99fa053c8f07'/>
<id>27f866e3815e8bdf183442846fba99fa053c8f07</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Linear flow: mark links and rework unit tests</title>
<updated>2014-03-21T10:26:24+00:00</updated>
<author>
<name>Ivan A. Melnikov</name>
<email>imelnikov@griddynamics.com</email>
</author>
<published>2014-03-21T10:26:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=3c18637399fb504a8bc8d2f1281a8f0f066132d8'/>
<id>3c18637399fb504a8bc8d2f1281a8f0f066132d8</id>
<content type='text'>
- add 'invariant': True to all links produced by linear flow;
- write new unit tests for basic functionality of linear flow
  pattern;
- remove some simple now-redundant unit tests from
  test_flow_dependencies.

Change-Id: I1f4fa8a1dfc61485555a10e8d0629a67aab1997f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- add 'invariant': True to all links produced by linear flow;
- write new unit tests for basic functionality of linear flow
  pattern;
- remove some simple now-redundant unit tests from
  test_flow_dependencies.

Change-Id: I1f4fa8a1dfc61485555a10e8d0629a67aab1997f
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop indexing operator from linear flow</title>
<updated>2014-03-21T09:06:36+00:00</updated>
<author>
<name>Ivan A. Melnikov</name>
<email>imelnikov@griddynamics.com</email>
</author>
<published>2014-03-21T09:04:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=63d01d9a196723a69c59c9a6b5ebc7f1db6f9e73'/>
<id>63d01d9a196723a69c59c9a6b5ebc7f1db6f9e73</id>
<content type='text'>
It is not needed. Also, using it complicates transitioning
to another pattern (e.g. graph flow) and encourages bad
programming practices.

Change-Id: I9d0a4646a27df1a11ed436f26a0cb074b717647e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is not needed. Also, using it complicates transitioning
to another pattern (e.g. graph flow) and encourages bad
programming practices.

Change-Id: I9d0a4646a27df1a11ed436f26a0cb074b717647e
</pre>
</div>
</content>
</entry>
</feed>
