<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/taskflow.git/taskflow/tests/unit/action_engine, branch master</title>
<subtitle>opendev.org: openstack/taskflow.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/'/>
<entry>
<title>Remove six</title>
<updated>2022-05-18T07:12:37+00:00</updated>
<author>
<name>Takashi Kajinami</name>
<email>tkajinam@redhat.com</email>
</author>
<published>2022-05-17T13:56:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=44f17d005ff53008144ca7c509bcb1307d66b23f'/>
<id>44f17d005ff53008144ca7c509bcb1307d66b23f</id>
<content type='text'>
This library no longer supports Python 2, thus usage of six can be
removed. This also removes workaround about pickle library used in
Python 2 only.

Change-Id: I19d298cf0f402d65f0b142dea0bf35cf992332a9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This library no longer supports Python 2, thus usage of six can be
removed. This also removes workaround about pickle library used in
Python 2 only.

Change-Id: I19d298cf0f402d65f0b142dea0bf35cf992332a9
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch from unittest2 compat methods to Python 3.x methods</title>
<updated>2020-07-05T12:04:04+00:00</updated>
<author>
<name>melissaml</name>
<email>ma.lei@99cloud.net</email>
</author>
<published>2020-07-05T12:04:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=cf327a2e2d4e2c504b5080fbf7bd48421fe7b4c7'/>
<id>cf327a2e2d4e2c504b5080fbf7bd48421fe7b4c7</id>
<content type='text'>
With the removal of Python 2.x we can remove the unittest2 compat
wrappers and switch to assertCountEqual instead of assertItemsEqual

We have been able to use them since then, because
testtools required unittest2, which still included it. With testtools
removing Python 2.7 support [3][4], we will lose support for
assertItemsEqual, so we should switch to use assertCountEqual.

[1] - https://bugs.python.org/issue17866
[2] - https://hg.python.org/cpython/rev/d9921cb6e3cd
[3] - testing-cabal/testtools#286
[4] - testing-cabal/testtools#277

Change-Id: Iaa8251a1e9965a00fe99b7a740a104c011260340
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the removal of Python 2.x we can remove the unittest2 compat
wrappers and switch to assertCountEqual instead of assertItemsEqual

We have been able to use them since then, because
testtools required unittest2, which still included it. With testtools
removing Python 2.7 support [3][4], we will lose support for
assertItemsEqual, so we should switch to use assertCountEqual.

[1] - https://bugs.python.org/issue17866
[2] - https://hg.python.org/cpython/rev/d9921cb6e3cd
[3] - testing-cabal/testtools#286
[4] - testing-cabal/testtools#277

Change-Id: Iaa8251a1e9965a00fe99b7a740a104c011260340
</pre>
</div>
</content>
</entry>
<entry>
<title>Update TaskFlow for networkx 2.x</title>
<updated>2019-10-19T01:11:44+00:00</updated>
<author>
<name>Michael Johnson</name>
<email>johnsomor@gmail.com</email>
</author>
<published>2019-10-19T01:02:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=dc6495cfa1c8e1dc95bad554a55f0b4e8e360abe'/>
<id>dc6495cfa1c8e1dc95bad554a55f0b4e8e360abe</id>
<content type='text'>
The networkx 2.x series has been out for two years now and supports
python 3.6 and greater[1]. This patch updates TaskFlow to require
a minimum of networkx 2.1. It also updates the code to support
recent deprecation expiration introduced in the 2.4 release.

[1] https://networkx.github.io/documentation/stable/news.html

Change-Id: Ife31d353ba80824ebc63c8b21ee90943badc8da3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The networkx 2.x series has been out for two years now and supports
python 3.6 and greater[1]. This patch updates TaskFlow to require
a minimum of networkx 2.1. It also updates the code to support
recent deprecation expiration introduced in the 2.4 release.

[1] https://networkx.github.io/documentation/stable/news.html

Change-Id: Ife31d353ba80824ebc63c8b21ee90943badc8da3
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix code to support networkx &gt; 1.0</title>
<updated>2018-07-11T11:11:51+00:00</updated>
<author>
<name>Michal Arbet</name>
<email>michal.arbet@ultimum.io</email>
</author>
<published>2018-06-25T14:06:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=d985c5a256bcf8f67e80235ba387599f448f2c49'/>
<id>d985c5a256bcf8f67e80235ba387599f448f2c49</id>
<content type='text'>
With the release of NetworkX 2.0 the reporting API was
moved to view/iterator model. Many methods were moved from
reporting lists or dicts to iterating over the information.
Methods that used to return containers now return views and
methods that returned iterators have been removed in networkx.
Because of this change in NetworkX 2.0 , taskflow code
have to be changed also to support networkx &gt; 2.0

Change-Id: I23c226f37bd85c1e38039fbcb302a2d0de49f333
Closes-Bug: #1778115
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the release of NetworkX 2.0 the reporting API was
moved to view/iterator model. Many methods were moved from
reporting lists or dicts to iterating over the information.
Methods that used to return containers now return views and
methods that returned iterators have been removed in networkx.
Because of this change in NetworkX 2.0 , taskflow code
have to be changed also to support networkx &gt; 2.0

Change-Id: I23c226f37bd85c1e38039fbcb302a2d0de49f333
Closes-Bug: #1778115
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace assertRaisesRegexp with assertRaisesRegex</title>
<updated>2017-06-03T06:40:12+00:00</updated>
<author>
<name>Vu Cong Tuan</name>
<email>tuanvc@vn.fujitsu.com</email>
</author>
<published>2017-06-03T05:28:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=db61fad6b237934f410e9ccbd1c24cf13e6c53fb'/>
<id>db61fad6b237934f410e9ccbd1c24cf13e6c53fb</id>
<content type='text'>
assertRaisesRegexp was renamed to assertRaisesRegex in Py3.2
For more details, please check:
https://docs.python.org/3/library/
unittest.html#unittest.TestCase.assertRaisesRegex

Change-Id: I89cce19e80b04074aab9f49a76c7652acace78b3
Closes-Bug: #1436957
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
assertRaisesRegexp was renamed to assertRaisesRegex in Py3.2
For more details, please check:
https://docs.python.org/3/library/
unittest.html#unittest.TestCase.assertRaisesRegex

Change-Id: I89cce19e80b04074aab9f49a76c7652acace78b3
Closes-Bug: #1436957
</pre>
</div>
</content>
</entry>
<entry>
<title>Using assertIsNone() instead of assertIs(None, ..)</title>
<updated>2016-10-10T08:50:21+00:00</updated>
<author>
<name>qinchunhua</name>
<email>qin.chunhua@zte.com.cn</email>
</author>
<published>2016-10-10T08:43:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=e68032929cd241baab782a5bbaa45fe46df70b05'/>
<id>e68032929cd241baab782a5bbaa45fe46df70b05</id>
<content type='text'>
Following OpenStack Style Guidelines[1]:
http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
[H203] Unit test assertions tend to give better messages for more
specific assertions. As a result, assertIsNone(...) is preferred
over assertEqual(None, ...) and assertIs(..,None).

Change-Id: I52ecf3f4945c4cb99f6350afca1c51d88b16bb8d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following OpenStack Style Guidelines[1]:
http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
[H203] Unit test assertions tend to give better messages for more
specific assertions. As a result, assertIsNone(...) is preferred
over assertEqual(None, ...) and assertIs(..,None).

Change-Id: I52ecf3f4945c4cb99f6350afca1c51d88b16bb8d
</pre>
</div>
</content>
</entry>
<entry>
<title>Instead of a multiprocessing queue use sockets via asyncore</title>
<updated>2016-05-24T23:16:56+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2015-11-12T00:33:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=c5e9cf28df9dda763d146859b1472d8bbcf85665'/>
<id>c5e9cf28df9dda763d146859b1472d8bbcf85665</id>
<content type='text'>
For a local process based executor usage currently to ensure
that task emitted notifications are proxied we use the multi
processing library and use its queue concept. This sadly creates
a proxy process that gets associated, and this proxy process
handles the queue and messages sent to and from it. Instead of
doing this we can instead just create a temporary local socket
using a random socket and have tasks (which are running in
different processes) use that to communicate back any emitted
notifications instead (and we can use the asyncore module to handle
the emitted notifications since it handles the lower level socket
reading, polling and dispatching).

To ensure that the socket created is somewhat secure we use a
similar process as the multi-processing library uses where we
sign all messages with a hmac that uses a one time key that only
the main process and the child process know about (and reject
any messages that do not validate using this key).

Change-Id: Iff9180054bf14495e5667af00ae2fafbdbc23791
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For a local process based executor usage currently to ensure
that task emitted notifications are proxied we use the multi
processing library and use its queue concept. This sadly creates
a proxy process that gets associated, and this proxy process
handles the queue and messages sent to and from it. Instead of
doing this we can instead just create a temporary local socket
using a random socket and have tasks (which are running in
different processes) use that to communicate back any emitted
notifications instead (and we can use the asyncore module to handle
the emitted notifications since it handles the lower level socket
reading, polling and dispatching).

To ensure that the socket created is somewhat secure we use a
similar process as the multi-processing library uses where we
sign all messages with a hmac that uses a one time key that only
the main process and the child process know about (and reject
any messages that do not validate using this key).

Change-Id: Iff9180054bf14495e5667af00ae2fafbdbc23791
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some basic/initial engine statistics</title>
<updated>2016-02-02T01:37:49+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2016-01-27T23:40:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=97fd6660c6842df9c18617f1efc7832f89476bf6'/>
<id>97fd6660c6842df9c18617f1efc7832f89476bf6</id>
<content type='text'>
It can be quite nice to expose a basic set of metrics
about the internals of an engine, including the time
in each state, and how long the engine is active for
and likely more in the future.

To start add a engine statistics property and gather
some basic timing data and place this data into this
property for access (and/or introspection) by users.

Part of blueprint gather-engine-statistics

Change-Id: Ibc3c78755bd8ae779b52fc4772519f243a521576
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It can be quite nice to expose a basic set of metrics
about the internals of an engine, including the time
in each state, and how long the engine is active for
and likely more in the future.

To start add a engine statistics property and gather
some basic timing data and place this data into this
property for access (and/or introspection) by users.

Part of blueprint gather-engine-statistics

Change-Id: Ibc3c78755bd8ae779b52fc4772519f243a521576
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow for alterations in decider 'area of influence'</title>
<updated>2016-01-10T06:42:17+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2015-11-17T00:27:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=8e8156c488dea8ae876b112c30e41e60da4f5be7'/>
<id>8e8156c488dea8ae876b112c30e41e60da4f5be7</id>
<content type='text'>
Christmas came early.

Closes-Bug: #1479466

Change-Id: I931d826690c925f022dbfffe9afb7bf41345b1d0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Christmas came early.

Closes-Bug: #1479466

Change-Id: I931d826690c925f022dbfffe9afb7bf41345b1d0
</pre>
</div>
</content>
</entry>
<entry>
<title>Move validation of compiled unit out of compiler</title>
<updated>2015-11-20T21:16:42+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2015-10-07T18:56:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/taskflow.git/commit/?id=0b034d611f56d8d6d855cf147caeb3d0f8d6068f'/>
<id>0b034d611f56d8d6d855cf147caeb3d0f8d6068f</id>
<content type='text'>
Instead of having the compiler do any validation on the
graph it has created instead have the compiler just compile
and have the engine that uses that compiled result do any
post compilation validation instead.

This makes it more clear that the compiler just compiles a
flow (and tasks and nested flows) into a graph, and that is
all that it does.

Change-Id: I96a35d732dc2be9fc8bc8dc6466256a19ac2df6d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of having the compiler do any validation on the
graph it has created instead have the compiler just compile
and have the engine that uses that compiled result do any
post compilation validation instead.

This makes it more clear that the compiler just compiles a
flow (and tasks and nested flows) into a graph, and that is
all that it does.

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