<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/taskflow.git/taskflow/patterns/graph_flow.py, branch 0.6.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 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 graph flow symbol constraints</title>
<updated>2014-09-08T20:55:45+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-07-18T19:58:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=d6ef68762e847373be0584820fa0557fcbd5003f'/>
<id>d6ef68762e847373be0584820fa0557fcbd5003f</id>
<content type='text'>
In order to make it possible to have a symbol
tree we need to relax the constraints that are
being imposed by the graph flow.

Part of blueprint taskflow-improved-scoping

Change-Id: I2e14de2131c3ba4e3e4eb3108477583d0f02dae2
</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 the constraints that are
being imposed by the graph flow.

Part of blueprint taskflow-improved-scoping

Change-Id: I2e14de2131c3ba4e3e4eb3108477583d0f02dae2
</pre>
</div>
</content>
</entry>
<entry>
<title>Revamp the symbol lookup mechanism</title>
<updated>2014-09-08T20:00:25+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-07-22T01:25:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=fa077c953fac48cf8fcb8ef4d178017b93d4ffce'/>
<id>fa077c953fac48cf8fcb8ef4d178017b93d4ffce</id>
<content type='text'>
To complement the future changes in patterns we also want
to allow the execution of patterns to be affected in a similar
manner so that symbol lookup is no longer as confined as it was.

This change adds in the following:

- Symbol lookup by walking through an atoms contained scope/s.
- Better error messaging when symbols are not found.
- Adjusted &amp; new tests (existing ones work).
- Better logging of the symbol lookup mechanism (helpful
  during debugging, although it is very verbose...)

Part of blueprint taskflow-improved-scoping

Change-Id: Id921a4abd9bf2b7b5c5a762337f8e90e8f1fe194
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To complement the future changes in patterns we also want
to allow the execution of patterns to be affected in a similar
manner so that symbol lookup is no longer as confined as it was.

This change adds in the following:

- Symbol lookup by walking through an atoms contained scope/s.
- Better error messaging when symbols are not found.
- Adjusted &amp; new tests (existing ones work).
- Better logging of the symbol lookup mechanism (helpful
  during debugging, although it is very verbose...)

Part of blueprint taskflow-improved-scoping

Change-Id: Id921a4abd9bf2b7b5c5a762337f8e90e8f1fe194
</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>Upgrade hacking version and fix some of the issues</title>
<updated>2014-06-14T02:27:17+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-06-11T00:04:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=c558da07b65bebdc6940be72348d126fa1eccda6'/>
<id>c558da07b65bebdc6940be72348d126fa1eccda6</id>
<content type='text'>
Update hacking to the new requirements version and
fix about half of the new reported issues. The other
hacking issues are for now ignored until fixed by
adjusting our tox.ini file.

This commit fixes the following new hacking errors:

H405 - multi line docstring summary not separated
       with an empty line
E265 - block comment should start with '# '
F402 - import 'endpoint' from line 21 shadowed by
       loop variable

Change-Id: I6bae61591fb988cc17fa79e21cb5f1508d22781c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update hacking to the new requirements version and
fix about half of the new reported issues. The other
hacking issues are for now ignored until fixed by
adjusting our tox.ini file.

This commit fixes the following new hacking errors:

H405 - multi line docstring summary not separated
       with an empty line
E265 - block comment should start with '# '
F402 - import 'endpoint' from line 21 shadowed by
       loop variable

Change-Id: I6bae61591fb988cc17fa79e21cb5f1508d22781c
</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>Add a directed graph type (new types module)</title>
<updated>2014-04-21T00:28:27+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-04-13T04:35:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=5ca61f956e588d8a088d78bc9a58b2904acfb416'/>
<id>5ca61f956e588d8a088d78bc9a58b2904acfb416</id>
<content type='text'>
Most of the utility graph functions we have can
be connected to a directed graph class that itself
derives (and adds on to) the networkx base class.

Doing this allows for functionality that isn't exposed
in networkx to be exposed in our subclass (which is a
useful pattern to have).

It also makes it possible (if ever needed) to replace
the networkx usage in taskflow with something else if
this ever becomes a major request.

Change-Id: I0a825d5637236d7b5dbdbda0d426adb0183d5ba3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most of the utility graph functions we have can
be connected to a directed graph class that itself
derives (and adds on to) the networkx base class.

Doing this allows for functionality that isn't exposed
in networkx to be exposed in our subclass (which is a
useful pattern to have).

It also makes it possible (if ever needed) to replace
the networkx usage in taskflow with something else if
this ever becomes a major request.

Change-Id: I0a825d5637236d7b5dbdbda0d426adb0183d5ba3
</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>Rework graph flow unit tests</title>
<updated>2014-03-22T15:22:00+00:00</updated>
<author>
<name>Ivan A. Melnikov</name>
<email>imelnikov@griddynamics.com</email>
</author>
<published>2014-03-21T13:07:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=261d69a75915f869b2e7bf351c47f202c725837c'/>
<id>261d69a75915f869b2e7bf351c47f202c725837c</id>
<content type='text'>
This commit adds unit tests that check graph flow methods without
executing or flattening it. Now-redundant tests from other test
suites are deleted.

Change-Id: I8dafe0f9b295428831eddb3f9fd48f042d2f1ffc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds unit tests that check graph flow methods without
executing or flattening it. Now-redundant tests from other test
suites are deleted.

Change-Id: I8dafe0f9b295428831eddb3f9fd48f042d2f1ffc
</pre>
</div>
</content>
</entry>
<entry>
<title>Iteration over links in flow interface</title>
<updated>2014-03-21T07:11:15+00:00</updated>
<author>
<name>Ivan A. Melnikov</name>
<email>imelnikov@griddynamics.com</email>
</author>
<published>2014-03-17T10:15:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=1011df951eda7481a3e16b14baf9fdc6089ffe9c'/>
<id>1011df951eda7481a3e16b14baf9fdc6089ffe9c</id>
<content type='text'>
In addition to iteration over its children (atoms or subflows) each
pattern now provides iter_links() method that iterates over
dependency links. This allows engines to treat all patterns
in the same way instead knowing what structure each pattern expresses.

Change-Id: I52cb5b0b501eefc8eb56a9ef5303aeb318013e11
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In addition to iteration over its children (atoms or subflows) each
pattern now provides iter_links() method that iterates over
dependency links. This allows engines to treat all patterns
in the same way instead knowing what structure each pattern expresses.

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