This broke grenade on stable/juno, here is the fix. https://review.openstack.org/#/c/152333/
On Mon, Feb 2, 2015 at 10:56 AM, Joshua Harlow <[email protected]> wrote: > The Oslo team is pleased to announce the release of: > > TaskFlow 0.7.0: taskflow structured state management library. > > For more details, please see the git log history below and: > > http://launchpad.net/taskflow/+milestone/0.7.0 > > Please report issues through launchpad: > > http://bugs.launchpad.net/taskflow/ > > Noteable changes > ---------------- > > * Using non-deprecated oslo.utils and oslo.serialization imports. > * Added note(s) about publicly consumable types into docs. > * Increase robustness of WBE producer/consumers by supporting and using > the kombu provided feature to retry/ensure on transient/recoverable > failures (such as timeouts). > * Move the jobboard/job bases to a jobboard/base module and > move the persistence base to the parent directory (standardizes how > all pluggable types now have a similiar base module in a similar > location, > making the layout of taskflow's codebase easier to understand/follow). > * Add executor statistics, using taskflow.futures executors now provides a > useful feature to know about the following when using these executors. > -------------------------- > | Statistic | What it is | > ------------------------------------------------------------ > ------------- > | failures | How many submissions ended up raising exceptions | > | executed | How many submissions were executed (failed or not) | > | runtime | Total runtime of all submissions executed (failed or not) | > | cancelled | How many submissions were cancelled before executing | > ------------------------------------------------------------ > ------------- > * The taskflow logger module does not provide a logging adapter [bug] > * Use monotonic time when/if available for stopwatches (py3.3+ natively > supports this) and other time.time usage (where the usage of time.time > only > cares about the duration between two points in time). > * Make all/most usage of type errors follow a similar pattern (exception > cleanup). > > Changes in /homes/harlowja/dev/os/taskflow 0.6.1..0.7.0 > ------------------------------------------------------- > > NOTE: Skipping requirement commits... > > 19f9674 Abstract out the worker finding from the WBE engine > 99b92ae Add and use a nicer kombu message formatter > df6fb03 Remove duplicated 'do' in types documentation > 43d70eb Use the class defined constant instead of raw strings > 344b3f6 Use kombu socket.timeout alias instead of socket.timeout > d5128cf Stopwatch usage cleanup/tweak > 2e43b67 Add note about publicly consumable types > e9226ca Add docstring to wbe proxy to denote not for public use > 80888c6 Use monotonic time when/if available > 7fe2945 Link WBE docs together better (especially around arguments) > f3a1dcb Emit a warning when no routing keys provided on publish() > 802bce9 Center SVG state diagrams > 97797ab Use importutils.try_import for optional eventlet imports > 84d44fa Shrink the WBE request transition SVG image size > ca82e20 Add a thread bundle helper utility + tests > e417914 Make all/most usage of type errors follow a similar pattern > 2f04395 Leave use-cases out of WBE developer documentation > e3e2950 Allow just specifying 'workers' for WBE entrypoint > 66fc2df Add comments to runner state machine reaction functions > 35745c9 Fix coverage environment > fc9cb88 Use explicit WBE worker object arguments (instead of kwargs) > 0672467 WBE documentation tweaks/adjustments > 55ad11f Add a WBE request state diagram + explanation > 45ef595 Tidy up the WBE cache (now WBE types) module > 1469552 Fix leftover/remaining 'oslo.utils' usage > 93d73b8 Show the failure discarded (and the future intention) > 5773fb0 Use a class provided logger before falling back to module > addc286 Use explicit WBE object arguments (instead of kwargs) > 342c59e Fix persistence doc inheritance hierarchy > 072210a The gathered runtime is for failures/not failures > 410efa7 add clarification re parallel engine > cb27080 Increase robustness of WBE producer/consumers > bb38457 Move implementation(s) to there own sections > f14ee9e Move the jobboard/job bases to a jobboard/base module > ac5345e Have the serial task executor shutdown/restart its executor > 426484f Mirror the task executor methods in the retry action > d92c226 Add back a 'eventlet_utils' helper utility module > 1ed0f22 Use constants for runner state machine event names > bfc1136 Remove 'SaveOrderTask' and test state in class variables > 22eef96 Provide the stopwatch elapsed method a maximum > 3968508 Fix unused and conflicting variables > 2280f9a Switch to using 'oslo_serialization' vs 'oslo.serialization' > d748db9 Switch to using 'oslo_utils' vs 'oslo.utils' > 9c15eff Add executor statistics > bf2f205 Use oslo.utils reflection for class name > 9fe99ba Add split time capturing to the stop watch > 42a665d Use platform neutral line separator(s) > eb536da Create and use a multiprocessing sync manager subclass > 4c756ef Use a single sender > 778e210 Include the 'old_state' in all currently provided listeners > c07a96b Update the README.rst with accurate requirements > 2f7d86a Include docstrings for parallel engine types/strings supported > 0d602a8 The taskflow logger module does not provide a logging adapter > 96e6d97 Send in the prior atom state on notification of a state change > a588e48 Pass a string as executor in the example instead of an executor > a18a939 Fix for job consumption example using wrong object > 1d84fdd Add edge labels for engine states > d0edb62 Move the persistence base to the parent directory > 84b387f Rework the in-memory backend > > Diffstat (except docs and test files) > ------------------------------------- > > README.rst | 29 +- > requirements-py2.txt | 4 +- > requirements-py3.txt | 4 +- > setup.cfg | 1 + > taskflow/atom.py | 5 +- > taskflow/engines/action_engine/actions/base.py | 42 + > taskflow/engines/action_engine/actions/retry.py | 80 +- > taskflow/engines/action_engine/actions/task.py | 43 +- > taskflow/engines/action_engine/compiler.py | 2 +- > taskflow/engines/action_engine/engine.py | 45 +- > taskflow/engines/action_engine/executor.py | 60 +- > taskflow/engines/action_engine/runner.py | 143 ++- > taskflow/engines/action_engine/runtime.py | 5 +- > taskflow/engines/action_engine/scheduler.py | 3 +- > taskflow/engines/helpers.py | 4 +- > taskflow/engines/worker_based/cache.py | 48 - > taskflow/engines/worker_based/dispatcher.py | 57 +- > taskflow/engines/worker_based/endpoint.py | 2 +- > taskflow/engines/worker_based/engine.py | 9 +- > taskflow/engines/worker_based/executor.py | 170 +-- > taskflow/engines/worker_based/protocol.py | 48 +- > taskflow/engines/worker_based/proxy.py | 156 ++- > taskflow/engines/worker_based/server.py | 51 +- > taskflow/engines/worker_based/types.py | 234 +++++ > taskflow/engines/worker_based/worker.py | 39 +- > taskflow/examples/alphabet_soup.py | 28 +- > taskflow/examples/build_a_car.py | 17 +- > taskflow/examples/create_parallel_volume.py | 2 +- > taskflow/examples/echo_listener.py | 56 + > taskflow/examples/fake_billing.py | 8 +- > taskflow/examples/hello_world.py | 9 +- > taskflow/examples/parallel_table_multiply.py | 4 +- > taskflow/examples/resume_many_flows.py | 2 +- > taskflow/examples/resume_vm_boot.py | 8 +- > taskflow/examples/simple_linear_listening.py | 7 +- > taskflow/examples/wbe_event_sender.py | 4 +- > taskflow/examples/wbe_mandelbrot.py | 2 +- > taskflow/exceptions.py | 10 +- > taskflow/flow.py | 2 +- > taskflow/jobs/backends/impl_zookeeper.py | 64 +- > taskflow/jobs/base.py | 297 ++++++ > taskflow/jobs/job.py | 111 -- > taskflow/jobs/jobboard.py | 206 ---- > taskflow/listeners/base.py | 21 +- > taskflow/listeners/claims.py | 4 +- > taskflow/listeners/logging.py | 60 +- > taskflow/persistence/backends/base.py | 126 --- > taskflow/persistence/backends/impl_dir.py | 12 +- > taskflow/persistence/backends/impl_memory.py | 223 ++-- > taskflow/persistence/backends/impl_sqlalchemy.py | 16 +- > taskflow/persistence/backends/impl_zookeeper.py | 14 +- > taskflow/persistence/backends/sqlalchemy/models.py | 6 +- > taskflow/persistence/base.py | 126 +++ > taskflow/persistence/logbook.py | 66 +- > taskflow/storage.py | 8 +- > taskflow/task.py | 2 +- > taskflow/types/cache.py | 17 +- > taskflow/types/failure.py | 15 +- > taskflow/types/fsm.py | 2 +- > taskflow/types/futures.py | 213 +++- > taskflow/types/graph.py | 3 +- > taskflow/types/latch.py | 15 +- > taskflow/types/notifier.py | 2 +- > taskflow/types/periodic.py | 179 ++++ > taskflow/types/table.py | 12 +- > taskflow/types/timing.py | 187 +++- > taskflow/types/tree.py | 4 +- > taskflow/utils/async_utils.py | 11 +- > taskflow/utils/deprecation.py | 2 +- > taskflow/utils/eventlet_utils.py | 34 + > taskflow/utils/kazoo_utils.py | 5 +- > taskflow/utils/kombu_utils.py | 73 ++ > taskflow/utils/misc.py | 83 +- > taskflow/utils/persistence_utils.py | 11 +- > taskflow/utils/threading_utils.py | 104 ++ > test-requirements.txt | 2 +- > tools/generate_states.sh | 4 + > tools/state_graph.py | 43 +- > tox.ini | 1 + > 122 files changed, 4704 insertions(+), 2295 deletions(-) > > Requirements updates > -------------------- > > diff --git a/requirements-py2.txt b/requirements-py2.txt > index e142007..083caec 100644 > --- a/requirements-py2.txt > +++ b/requirements-py2.txt > @@ -29,2 +29,2 @@ jsonschema>=2.0.0,<3.0.0 > -oslo.utils>=1.1.0 # Apache-2.0 > -oslo.serialization>=1.0.0 # Apache-2.0 > +oslo.utils>=1.2.0 # Apache-2.0 > +oslo.serialization>=1.2.0 # Apache-2.0 > diff --git a/requirements-py3.txt b/requirements-py3.txt > index d827a17..b04fc0a 100644 > --- a/requirements-py3.txt > +++ b/requirements-py3.txt > @@ -23,2 +23,2 @@ jsonschema>=2.0.0,<3.0.0 > -oslo.utils>=1.1.0 # Apache-2.0 > -oslo.serialization>=1.0.0 # Apache-2.0 > +oslo.utils>=1.2.0 # Apache-2.0 > +oslo.serialization>=1.2.0 # Apache-2.0 > diff --git a/test-requirements.txt b/test-requirements.txt > index 96ab944..293ec5d 100644 > --- a/test-requirements.txt > +++ b/test-requirements.txt > @@ -27 +27 @@ kazoo>=1.3.1 > -alembic>=0.7.1 > +alembic>=0.7.2 > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: [email protected]?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
