commit 359ce523f442e3c3c5f762a966e92d44c9b700ab
Merge: 1b4c72d 83b7e3d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 15 20:44:05 2013 +0000

    Merge "Pass flow failures to task's revert method"

commit 1b4c72d622d27de0e91ba950504970889be44276
Merge: 862fb1f 19f19f2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 15 20:41:43 2013 +0000

    Merge "Storage: add methods to get all flow failures"

commit 862fb1f6a2dc2b807481da2b39312696a01afdfa
Merge: 20a8763 dd4ae27
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 15 20:28:31 2013 +0000

    Merge "Pbr requirement went missing"

commit 83b7e3d727cdad8231cea5dbe939aab94e38e2be
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 31 17:19:57 2013 +0400

    Pass flow failures to task's revert method
    
    Now when tasks are reverted, all flows failures seen so far are passed
    to revert method as 'flow_failures' keyword argument, as a dictionary
    task name => misc.Failure.
    
    Closes-bug: #1246616
    Change-Id: I81f8c10684d54aaf5c31bb3badb6afe4c949f680

commit 19f19f224b455a8866eb0ce588ec9fdf9cfba8f7
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 31 16:35:12 2013 +0400

    Storage: add methods to get all flow failures
    
    Instead of caching all failures in engine we cache them in storage,
    which is cleaner and more transparent.
    
    Behavior change: if task failed, then flow was suspended, then
    loaded again but without task with such name, such flow would be
    reverted now in engine.run(). Previously, such flow could be run
    normally as all data from not present tasks were ignored.
    
    Closes-bug: #1251736
    Change-Id: I64e99ca98cc7fd28957ac2468577d677641aebdc

commit dd4ae2763bdde085035fdc2686fe9823fc74130f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Nov 15 10:05:04 2013 -0800

    Pbr requirement went missing
    
    Not really sure where the pbr requirement
    went but making sure its defined in the
    requirements file so that it gets included
    when building.
    
    Change-Id: Ie332fc0c9ad39e303b18812500bb07086d78f4ab

commit 20a87636a36921b6ec091d17fedd22a0c13e31c6
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Fri Nov 8 13:43:42 2013 +0400

    Update code to comply with hacking 0.8.0
    
    Replace assertEquals and assertNotEquals with assertEqual and
    assertNotEqual (new rule, H234), and fix indentation.
    
    Change-Id: I86177325dee3aa00af5df8b3085acd478994ee34

commit 31d25f25b8af2b07f1f41e98bcfb83c89b88dfd9
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Wed Oct 30 17:46:28 2013 +0400

    Don't reset tasks to PENDING state while reverting
    
    While flow is in REVERTING or REVERTED state, reverted tasks are now
    left in REVERTED state. They are then reset to PENDING state when flow
    is run again. With this change:
    
    - when task is in REVERTED state, its result (if task were
      successfully executed before) is removed, but its failure (if its
      execution or reversion failed) is still available from storage;
    - when flow is in REVERTED or FAILURE states, you can get all task
      failures from storage;
    - if flow is in REVERTED or REVERTING state, but task is in PENDING
      state, it means this task was never executed;
    - flow cannot transition from REVERTED to RUNNING state any more -- it
      should go through PENDING state; on REVERTED -> PENDING transition
      tasks of the flow are reset.
    
    This ensures that failure information is available until it becomes
    irrelevant.
    
    Closes-bug: #1246612
    Change-Id: I27c3891f5d412d6de6240638b5014afda94a58a4

commit 91a641cf3882c7c738153e90f22575726fc0c398
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Oct 29 00:14:08 2013 +0400

    Let pbr determine version automatically
    
    PBR can derive version from most recent tag when it is not set
    in setup.cfg. Let's use that.
    
    Change-Id: I7fd8896bc15166441e3dbf27fd5320a374008070

commit ac23e607aec804b7ae158c1c765982a0203269a2
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 24 17:07:49 2013 +0400

    Be more careful when passing result to revert()
    
    Instead of passing result as separate keyword argument (which may
    lead to strange TypeError exception) we put it to kwargs dict.
    
    Change-Id: I899763e047badeadfd367aa1f06ba4cf6c1b0951

commit a80479b340a4fd6e557aa9547707c9867ff72526
Merge: 2532be0 7a8aa34
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 22 21:40:17 2013 +0000

    Merge "Support for optional task arguments"

commit 2532be0e893af523f0d09d033a44b85a17522165
Merge: 004d483 176bfa6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 22 18:41:47 2013 +0000

    Merge "Do not erase task progress details"

commit 7a8aa34c86530e34e7ed7d6d87344af2c2db0489
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Oct 22 11:25:42 2013 +0400

    Support for optional task arguments
    
    We used to ignore optional task arguments (arguments of 'execute' method
    with default value). With this change flow author can pass such
    arguments to task by mentioning them in 'requires' and/or 'rebind'
    task constructor parameters.
    
    Change-Id: Ib92f87eb05623d30db6f1691d75c11376d45c87a

commit 004d48378172417d78810e2d50288f29142232a3
Merge: ba129e2 52c8869
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 18 23:06:49 2013 +0000

    Merge "Prepare for 0.1 release"

commit ba129e2201a2a4661666ad55fd5265f0dec6296f
Merge: d3caec4 e7508eb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 18 19:58:12 2013 +0000

    Merge "Unit tests refactoring"

commit d3caec48e4dd305f5079b2b6bcf1f03f219787b1
Merge: cd9c69f 2fb146a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 18 19:53:36 2013 +0000

    Merge "Storage: restore injected data on resumption"

commit 176bfa6ccbac22cf29ef24cf87a825676caa5dfc
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 17 16:35:32 2013 +0400

    Do not erase task progress details
    
    Before this change we used to loose any progress details set by task
    when it was updating its progress when task state was changed from
    RUNNING to SUCCESS (and thus progress forced to 1.0). This commit
    fixes this, so that when progress is updated from the engine latest
    progress details are preserved.
    
    Breaking change: to allow details to be associated with progress
    value they were set for we save progress and then return progress
    value with details.
    
    Change-Id: Ic90e61ee3dcf62731696a0f10134bc448e7d6384

commit 2fb146a994fb797e643f55afb9c79326e85fbb59
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 17 15:29:51 2013 +0400

    Storage: restore injected data on resumption
    
    In storage we now use single task for injector (we look it up by name)
    and we restore result mapping for that task in constructor if there
    is one in flow detail we are given. This has visible effect
    of injected data staying in storage after resumption.
    
    Closes-bug: #1240931
    Change-Id: I2e8fb2c4b5cca769d36f578a934119db4a530f5c

commit cd9c69fa567f06000f7d5f890e38423fea8a1e55
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Oct 17 17:48:54 2013 -0700

    Inherit the greenpool default size
    
    Change-Id: Ia2dc394a03c748e919f2251f618131daea9d5eca

commit aee68f5e530f4e2b292b120d63ba5000ae219fe1
Merge: 921081a 7efb839
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 19:26:42 2013 +0000

    Merge "Add debug logging showing what is flattened"

commit 921081aba8e07d8c2ce6a54698bfb59148d695ab
Merge: 3926304 15e0e00
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 19:02:30 2013 +0000

    Merge "Use py3kcompat.urlutils from oslo instead of six.urllib_parse"

commit 392630474f03f564573cf53cdff3e8f00a1e2710
Merge: a1fc883 d382a20
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 19:01:52 2013 +0000

    Merge "Update oslo and bring py3kcompat in"

commit 7efb839f479e80929814407197154716e76ec4b1
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Oct 13 02:38:21 2013 +0000

    Add debug logging showing what is flattened
    
    To make it easier to debug what the flattening
    process is doing add a decorator that shows the
    result of the translation of tasks/flows into
    graphs (and prints a useful summary of what is
    in the graph after flattening).
    
    Change-Id: I865bda00a0f192c2497cc35537d8ab654d6e8235

commit a1fc8837a9be2816390e6c8bca3bb3227f1f01b1
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Oct 17 08:43:28 2013 -0700

    Remove incorrect comment
    
    Change-Id: I1944a9876c221b22f17822970d8929079c0cf5ee

commit e7508eb8e53217d889fe8af24a92cdd0dbb28068
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Thu Oct 17 13:16:06 2013 +0300

    Unit tests refactoring
    
    * duplicated tests were removed
    * common tasks moved to utils
    
    Change-Id: I69c91a264ec668b1333db8fd907298262af098cb

commit 15e0e00051c71c3b39f0a74466c9aac92eae7636
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 17 11:42:46 2013 +0400

    Use py3kcompat.urlutils from oslo instead of six.urllib_parse
    
    Six before 1.4.0 does not provide urllib_parse module, so we need
    another solution.
    
    Closes-bug: #1240827
    Change-Id: I6b49b80b94028e01da0e3c4930f3e97cd32f73d0

commit d382a20517fb40d4ab869c53be512757e8c93570
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 17 11:42:13 2013 +0400

    Update oslo and bring py3kcompat in
    
    Related-bug: #1240827
    Change-Id: I8f4c78f1ff1cb73fca8af9f6df8392d1636ae95f

commit 176d0a920effa3c4052271de8cedc3b0228a97fc
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Wed Oct 16 19:52:29 2013 +0400

    Support several output formats in state_graph tool
    
    This commit adds -T aka --format option to state graph tool that
    can be used to specify output format. Supported values are 'dot',
    'svg', 'svgz' and 'png'.
    
    Change-Id: I27a74b582726da24a1b05d4ffb72bde860fff417

commit aeb8fb9678475751cf0cdf7143c600be0e7daf71
Merge: d0f61b8 34a4228
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 04:21:36 2013 +0000

    Merge "Remove task_action state checks"

commit 34a4228fc98c9a6b39402e10ab02cb63a9a8dd6e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Oct 14 12:25:44 2013 -0700

    Remove task_action state checks
    
    Move to using the states module and its
    set of states we can ignore transitions to
    accomplish the same effect that our previous
    task_action lists were accomplishing.
    
    Change-Id: I06c785c0c543634c033997cab22a1f5409f41f25

commit d0f61b8e2fac7a8e60777b03c072242f3afcb868
Merge: 9697732 77f32c2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 00:39:27 2013 +0000

    Merge "Wrapped exception doc/intro comment updates"

commit 77f32c2406781a5d6065ec07e5cbb51fe4520e8f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 17:33:16 2013 -0700

    Wrapped exception doc/intro comment updates
    
    Change-Id: I21f353858c8556ce375f36693e434004e4b275da

commit 9697732062dbf7ff4aa69f90d7a3dbf273cf3058
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 17:09:34 2013 -0700

    Doc/intro updates for simple_linear_listening
    
    Change-Id: I084ea894b9c24c3449bd29df5ef1ee999a0fc25a

commit ebfd9d0da9050ae85d0403c2ab30e97a38483b9c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 16:50:57 2013 -0700

    Add docs/intro to simple_linear example
    
    Change-Id: I6911337bf492d5cfc7e48a006dbf076826a18a62

commit 99bfca62ebd090d70132e15b57a47444e3895972
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 16:39:25 2013 -0700

    Update intro/comments for reverting_linear example
    
    Change-Id: Ib06ad263287eed122bfdd61965a9f26c9ec533e6

commit 4fa3a1d35980467f5219e4a925cb1dad53f043d0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 16:18:41 2013 -0700

    Add docs explaining what/how resume_volume_create works
    
    Change-Id: I502ba91fe61a236b7643b9799d1cdbc1d1caeeb1

commit 1500be7bf49c15ec42fdfbffea699a46649db81c
Merge: 37ef807 0e75585
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 16 22:49:54 2013 +0000

    Merge "A few resuming from backend comment adjustments"

commit 37ef807c6ea16d15a5dc383178c290d41dcf285b
Merge: dedcb8d 2109e9c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 16 22:48:49 2013 +0000

    Merge "Add an introduction to explain resume_many example"

commit dedcb8d4942150406239e471292ea5803bf3aa24
Merge: 31463e9 daa7c9c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 16 22:46:57 2013 +0000

    Merge "Increase persistence example comments"

commit 0e75585e8597a6a7341a5b108bc2a002620fac18
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 15:11:32 2013 -0700

    A few resuming from backend comment adjustments
    
    Change-Id: I40d8c1926b4bef337eaaf0adc6cae66d023dc200

commit 2109e9c1e51afb4af1282a4e47f6dfd0f20f517a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 15:41:14 2013 -0700

    Add an introduction to explain resume_many example
    
    Change-Id: I162eff7b2988418f8dde9d89cd55c9095e72b40a

commit daa7c9cfd8a86955dc50e9144cebb461c1586e2b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 14:12:53 2013 -0700

    Increase persistence example comments
    
    Change-Id: Ibd137ea7017bdf248e6ea524cfa7e5b39f4ad37f

commit 31463e952a735387736fe553ffa5f6de9a587cd7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 16 13:56:03 2013 -0700

    Boost graph flow example comments
    
    Change-Id: Ibcfc2cd8e1b516d6481d3ae7e2c4fc753014fb53

commit b8ed518075f6f0c459a3ecf69257989886bf1407
Merge: 4af9fc6 ee1d583
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 16 19:15:33 2013 +0000

    Merge "Add task state verification"

commit 4af9fc66e42e423ef880c09863a0227419485591
Merge: 568843f 70d4677
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 15 20:15:38 2013 +0000

    Merge "Also allow "_" to be valid identifier"

commit 70d46772b4aadcab3bfed6f6c34dffe4f80bce5f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Oct 13 17:50:01 2013 +0000

    Also allow "_" to be valid identifier
    
    A "_" is a valid python identifier as long as it
    is not the first letter of the given attribute (as
    an attribute dict doesn't have the concept of
    protected/private variables).
    
    Also include a few links and comments as to why
    the restrictions are inplace.
    
    Change-Id: I23f17113cedb99b2817bad0c464a43d10af6722c

commit 568843f8ade414211423512b36d49747045c47a1
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Oct 14 13:06:04 2013 +0400

    Remove uuid from taskflow.flow.Flow
    
    In a way our resumption works it may not correspond uuid from flow
    details, and so it is hardly useful.
    
    Change-Id: I090d017e2f0f8475594af94a2430a34e6ed1ce70

commit ec620ef8a2f81a21cd646a2346ca5df995738e9c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Oct 14 17:30:45 2013 -0700

    A few additional example boot_vm comments + tweaks
    
    Change-Id: I2b8758a16d139bb4454c0debc972a12cac737ad1

commit c8f1f9e173a38555d02e3bd9b592c0dc902ad5c9
Merge: 54632ab 38cf198
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 15 00:14:41 2013 +0000

    Merge "Add a resuming booting vm example"

commit 54632ab00d156a92e331870ca1efefbb617586fc
Merge: e69e0f7 f48fb7f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 15 00:14:12 2013 +0000

    Merge "Beef up storage comments"

commit 38cf1981b239a2759a571f27f15df8e5605ea57b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Oct 14 16:47:33 2013 -0700

    Add a resuming booting vm example
    
    Change-Id: I903d55df4c574856e24242def8753f87c2094e9a

commit ee1d583721934cf6cec5c4d443ef66a39f9f6141
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 12 18:33:04 2013 +0000

    Add task state verification
    
    Change-Id: I85abee2a1112ce1b9bb708cb9129f06c794f83b1

commit e69e0f7cd4f62f57db4dd24886f6693ac4ad185f
Merge: 0ce2bd0 009f9a1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 18:46:47 2013 +0000

    Merge "Removed unused utilities"

commit 0ce2bd086450e2e66f30f543989154dbb83da946
Merge: 78f9da6 961d91f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 18:45:07 2013 +0000

    Merge "Helpers to save flow factory in metadata"

commit 78f9da6b574c12425567b642e0d5ded71b23e5fc
Merge: bae0f50 c866318
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 18:42:56 2013 +0000

    Merge "Storage: add flow name and uuid properties"

commit bae0f506b9f19c89a5ecb66262596e43b7178d05
Merge: c38fbac 28556fd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 18:40:55 2013 +0000

    Merge "Create logbook if not provided for create_flow_details"

commit f48fb7f3c3337cd2f6ed82e44580854199d63d1f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Oct 14 11:29:59 2013 -0700

    Beef up storage comments
    
    Add a few comment adjustments and changes to
    the storage layer code comments.
    
    Change-Id: I6e8ca80473d4db7588aeacb06d00e5d6774e4f7e

commit c38fbac0001e72ec9dc37f84a554f9973f7714bc
Merge: 8e0035a 1caf6fb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 18:14:07 2013 +0000

    Merge "Add more comments to flow/task"

commit 8e0035a3823463f13d895db7da47cb89ba71bf7b
Merge: ca581fd ee83a3f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 17:48:31 2013 +0000

    Merge "Pattern comment additions/adjustments"

commit ca581fd593b4726af8e3d7be52c4a69674e364d6
Merge: 0bbfcee 0ff51a5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 17:48:28 2013 +0000

    Merge "Comment additions for exponential backoff"

commit 0bbfcee6ab0659f7ee5e223514dc08082fc1194a
Merge: 3009e4e fc2a057
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 17:48:27 2013 +0000

    Merge "Beef up the action engine comments"

commit 3009e4e114499218beaa87c0a74639acb3b8b9d6
Merge: a553eca 918ee8b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 17:48:24 2013 +0000

    Merge "Add a persistence util logbook formatting function"

commit a553eca0dc62643116d417b08d039688e207de99
Merge: c0e376d 7cf5734
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 17:47:49 2013 +0000

    Merge "Save with the same connection"

commit c0e376de1f5e058c6b746628f7a2941f9089b89e
Merge: a682717 756e097
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 14 17:40:26 2013 +0000

    Merge "Rename get_graph() -> execution_graph"

commit 009f9a17eadf6ebb8b106bd52a569274f334d0cb
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Oct 14 19:09:24 2013 +0400

    Removed unused utilities
    
    Change-Id: Ifa3e7b820d594303c6c02eae12f55bce2bd1dacc

commit 961d91ff7aec0fd96844885c40a129c5beb15ba4
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Oct 14 18:08:00 2013 +0400

    Helpers to save flow factory in metadata
    
    This change adds new helpers that, taken together, allow to resume
    the flows having nothing but flow detail at hands. First one,
    load_from_factory, gets flow factory function as a parameter and
    saves its fully qualified name and arguments to flow metadata. Others
    can be used to re-create the flow using that metadata, and load
    it into engine.
    
    Change-Id: Ia3cd989b3b0388ec0a9f09fe527f768eec5cc904

commit c866318b3ed48945b8f184f201c10a6669badb41
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Oct 14 16:01:25 2013 +0400

    Storage: add flow name and uuid properties
    
    This commit adds flow_name and flow_uuid properties to storage.
    We also add couple of unit tests for storage while we are at it.
    
    Change-Id: I58e6fcf7e799d7a69d75eab4fdc40400c1dc488d

commit 28556fd572668a4edf2f28f3a3dc3a213e45eef3
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Oct 14 13:44:26 2013 +0400

    Create logbook if not provided for create_flow_details
    
    This simplifies code and gives flow details correct name even
    if log book was not provided.
    
    Change-Id: Icef03ff843002f15c3ed90fd8c44d69c0bd4d9f0

commit 52c8869014fdb009d75a1eb73abc051421c2f828
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 12 03:25:56 2013 +0000

    Prepare for 0.1 release
    
    Change-Id: I4a56aa50d296f50a5b907635d2e53154500703c9

commit 0ff51a5c92b4284894ba46aa30379184f3e94170
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Oct 13 22:59:14 2013 +0000

    Comment additions for exponential backoff
    
    Change-Id: If43d6e5ceedc17b1763ecd8a244f959150b802e1

commit fc2a057ac7d39b87157de1f53ba7bbad2bd62aa3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 12 23:19:12 2013 -0700

    Beef up the action engine comments
    
    Also make a few minor tweaks to the
    underlying functions and relax the
    networkx requirement slightly.
    
    Change-Id: Ibbfa7f786d3c33956f7ca39b7ea9423696859e45

commit ee83a3ff6f0b16b37c9fbfb634857a659a4205ad
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 12 23:04:27 2013 -0700

    Pattern comment additions/adjustments
    
    Change-Id: I3154d1c228474d8699f3ae4d0be2fb46406a2f41

commit 1caf6fb316b15581117d3770af4685b02192f14b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 12 22:45:32 2013 -0700

    Add more comments to flow/task
    
    Increase the number of comments which
    will help users of these 2 modules better
    understand there desired usage.
    
    Change-Id: Ief248770de3bedd7fc87bfcfbce4da77c011de7f

commit 7cf5734807966e1070620cb14543c444e7736ce2
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 12 22:22:26 2013 -0700

    Save with the same connection
    
    Instead of 2 different connections, one
    for saving the flow detail and then one
    for saving the task detail just use one
    connection for both.
    
    Change-Id: I68315a6c201325bb154f5ab5fc69a3824055c912

commit 918ee8b8ed41cf9d55216ff43ae065a2f9b6063a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 9 20:05:58 2013 -0700

    Add a persistence util logbook formatting function
    
    It is quite useful to be able to dump what is in a
    logbook in a human readable format so this adds a
    helper utility function to do just this.
    
    Change-Id: I84d8a9caf531de018fb361211624fc5b8c030260

commit 756e09778d8f1fffcc2a5a32c4260fb93dd5e4d1
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Oct 13 02:03:37 2013 +0000

    Rename get_graph() -> execution_graph
    
    Instead of having a generic get_graph()
    it is nicer to have this function be named
    closer to what it returns (the graph of tasks
    to be executed) as well as make it a property
    since it is more of a property of the engine.
    
    Change-Id: I4bb458b1069d7e6877f1cc51d42bfc0d8c751951

commit a682717f734f1488306a4266cb8e18eb07faa9d4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 11 18:25:04 2013 -0700

    Continue adding docs to examples
    
    Add more docs to the fake billing example and
    move the utility AttrDict to utils/misc.py at
    the same time (since its a useful utility to
    allow others to use).
    
    Change-Id: Id372032ae1545e0bd666bf991c21b21d320aba4b

commit faf2d155dfc3d9225a4def5c492c37a9c7d18c5d
Merge: 246a4ff 0723817
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Oct 12 00:05:43 2013 +0000

    Merge "Add more comments that explain example & usage"

commit 246a4ff7e5f84e7d5a66acaaf444d27cca50f474
Merge: 529ee93 2ba6fda
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Oct 12 00:05:31 2013 +0000

    Merge "Add more comments that explain example & usage"

commit 529ee93ae7c89a58d577e5e848f37ae080426db3
Merge: c9a7cfd 0d458d0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Oct 12 00:05:30 2013 +0000

    Merge "Add more comments that explain example & usage"

commit 2ba6fda3a25ce8af6c6eb9169222140ebdb872dd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 11 17:00:25 2013 -0700

    Add more comments that explain example & usage
    
    Change-Id: I4665cda50c2bbc8e0e323efb1baff653ace12579

commit 0d458d051892921d08200a421afd4fb336615146
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 11 16:16:22 2013 -0700

    Add more comments that explain example & usage
    
    Change-Id: I049b47e56d7f859c9b339d4557d4d292b33f2f74

commit 07238176db8d5ff84acc6a64b8c2736e2b3d7796
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 11 16:07:27 2013 -0700

    Add more comments that explain example & usage
    
    Change-Id: I3389554dfbe67aeb8c22a78b1929798988e57bc0

commit c9a7cfdc1740544509de97c2f2a90ef315401b3d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 11 15:51:16 2013 -0700

    Add more comments that explain example & usage
    
    Change-Id: I888200f2afbbc9d4118ebf1c8d2a2cf9a232e560

commit bdda31c7f038769576b4c2823bced1a2160e49b3
Merge: c1bee55 f1642d2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 18:12:39 2013 +0000

    Merge "Add a mini-cinder volume create with resumption"

commit c1bee55192516ddaac39b948fcea37745c6ca752
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 10 15:06:44 2013 +0400

    Fix several python3 incompatibilities
    
    Change-Id: Ibf5dd6c0b6bcd161364daf35d618641f6079acf5

commit 10f3cfca485a4f60d8c47964ee7ea17934ff3249
Merge: aa02579 04ebc6a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 00:57:26 2013 +0000

    Merge "Python3 compatibility for utils.reflection"

commit aa02579fcf375967281780f0da9f15f699a9f1f9
Merge: 0709da2 5429b89
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 00:57:20 2013 +0000

    Merge "No module name for builtin type and exception names"

commit 0709da23b2bb090f9cba36a5b4a61c5d3bf54de3
Merge: fca1a66 c5b84d0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 00:56:51 2013 +0000

    Merge "Fix python3 compatibility issues in examples"

commit fca1a6631f8e8604d99b7f4b1646aa3ac51d7e87
Merge: cc77224 4c5cb77
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 00:56:42 2013 +0000

    Merge "Add a secondary booting vm example"

commit cc772244473931b68373643efb7f162bbb6fdd38
Merge: 09873df 50d4383
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 00:53:21 2013 +0000

    Merge "Update oslo copy and bring over versionutils"

commit 09873dfc7313e469b5b3640bb5a6d1c4256bc70f
Merge: 0abfe90 026fc83
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 00:52:52 2013 +0000

    Merge "Fix print statements for python 2/3"

commit 04ebc6a01d07f2c01af17f3e96715b08c7863ae9
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 10 14:59:04 2013 +0400

    Python3 compatibility for utils.reflection
    
    Refactor taskflow.utils.reflection to use six and py3-compatible
    constructs.
    
    Breaking change: drop class name from result of get_callable_name
    for unbound methods. One can't get class name for unbound method
    in python 3.
    
    Change-Id: I98c5b33e7ee4520caf365aa87c9859ec967990de

commit 5429b891fb7d8fbe3bc63b40b463be9ec9380a4a
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 10 14:20:08 2013 +0400

    No module name for builtin type and exception names
    
    Make utils.reflection.get_class_name() return just type name (without
    module) for builtin exceptions and types. This makes output less
    clumsy and makes this function return same strings for python 2 and 3.
    
    Change-Id: Ibc599ed34c804cf2cf2ab67e7466a48ebe7f6df3

commit c5b84d021df305d5022a1012d788f855b7a2c40a
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 10 14:14:03 2013 +0400

    Fix python3 compatibility issues in examples
    
    Change-Id: I024207864668751455874cf3cb60de31cc01de87

commit 026fc8329a94d9678ef8b6807b6c5de456930c14
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 9 19:36:48 2013 -0700

    Fix print statements for python 2/3
    
    Change-Id: Ic05af4d5defe26b729bd7dda3f04b790509bb155

commit f1642d2b9b35c17ec5bb2a3a11b97010c6feabff
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 9 15:28:03 2013 -0700

    Add a mini-cinder volume create with resumption
    
    Add a toy example showing how resumption works
    in a miniaturized cinder like case. It allows
    for the user of the example to kill the program
    and later resume by providing back the initial
    tracking id (think fedex/ups).
    
    Change-Id: I7084ae50cf994e43b48c31bd22d60d77c78d50af

commit 50d438384aa88254c55ac7f0f3b79e37374545f6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 9 19:17:51 2013 -0700

    Update oslo copy and bring over versionutils
    
    Change-Id: I93ab20ae26033574e1f25ecc8276ffe291994ce6

commit 0abfe90eb36e1205ce4ccedfa3c389a66c744ddb
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 9 17:33:12 2013 -0700

    Move toward python 3/2 compatible metaclass
    
    Change-Id: Ia7e07a7530e26c388c5da3e362510233b6a65aa6

commit 4c5cb775904adecfb43757cd0455a18b07b489a1
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Oct 9 13:03:33 2013 -0700

    Add a secondary booting vm example
    
    This one uses rebinds to make simultaneous vms using
    a parallel engine to run the non-dependent tasks at
    the same time (the 2 vms are created at the same time).
    
    Change-Id: I795fa279d777e7a54e7ef34bf88021600c70a506

commit b2c82c8dce7397179dccb7c728ee1b4758b04c94
Merge: 73651a5 38206d9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 9 19:39:11 2013 +0000

    Merge "Create a green executor & green future"

commit 73651a5272b572a31fee9369e44294f4e9436811
Merge: c26fbb2 01fcad6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 9 19:15:50 2013 +0000

    Merge "Add state to dot->svg tool"

commit c26fbb2387332268b7432d4d67f7df0a394df6a5
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 3 17:03:22 2013 +0400

    Resumption from backend for action engine
    
    Simple refactoring and minor code adjustments to make resumption
    from backend actually work:
    - call engine.compile and check for missing dependencies
      on every run;
    - misc.Failure equality semantics adjusted;
    - load failures from backend on every run.
    
    Change-Id: I8a0462f2dec0ec66a19ee6a5ef10e4be48110e19

commit ce7e2ad38e9c136d5c2b43db8744e62605dd777c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Oct 8 14:00:03 2013 -0700

    A few wording/spelling adjustments
    
    Change-Id: Id77c7983d7d03319ffcb945268cb972ae53552b6

commit 38206d9c0c1d7e84e0a601a229125fb9ae2d0d2b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 4 19:56:10 2013 -0700

    Create a green executor & green future
    
    In order to use the multi-threaded engine
    which takes an executor as input for projects
    which have *not* eventlet monkey patched the
    threading module we provide a eventlet
    compatible executor and future objects which
    can work with the same multi-threaded engine.
    
    This executor also works in natively threaded
    applications by correctly altering the future
    condition attribute to use a greened condition,
    which is required to make sure that greenthreads
    run when the condition is waited on.
    
    blueprint eventlet-engine
    
    Change-Id: Ida9ce6183471ad6b323a3c9ca863561699e32ddc

commit ddfb2a791afd39dd523017d452d04b6c6eb82ade
Merge: a5953e0 7e96a53
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 8 01:28:53 2013 +0000

    Merge "Add a simple mini-billing stack example"

commit 7e96a53b9bb75137e2b3b112f167668047de65b9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 4 15:47:09 2013 -0700

    Add a simple mini-billing stack example
    
    Change-Id: Idf9a7b57935298d347738df9c7f7002379dbfde2

commit a5953e03493184b08fe3495bb73470c8c106fafc
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Oct 7 17:57:49 2013 -0700

    Add a example which uses a sqlite persistence layer
    
    Add an example that will use a sqlite layer for
    persisting flow and task information, and will use
    the layer for future resumption.
    
    Show how to output what a logbook contains as well.
    
    Change-Id: If5f936fe100cb43ed857b99e3fae0c6e6baba5ed

commit 01fcad6616d1c1544a852ebedccfe58cc024427b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Oct 7 13:26:10 2013 -0700

    Add state to dot->svg tool
    
    Add a helper tool that can convert the
    allowed state transitions into a dot graph
    which itself then converts it into a browser
    compatible svg file, which can then be looked
    at to have a pretty state diagram.
    
    Change-Id: I3cbbc75bd58182700ddc07f00395da5d1093a26c

commit 0bc77eecfbb48f3004b7e1bfea3c0f0f6f3d8d3f
Merge: 02587b8 c8f3903
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 23:00:00 2013 +0000

    Merge "Add a set of useful listeners"

commit c8f3903fa4f1dd3d4359be51ffb5295ecb21c897
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 4 12:58:14 2013 -0700

    Add a set of useful listeners
    
    In order to understand how listeners are used it is pretty
    nice to have a default set that do basic printing and logging
    that can be used in debugging (or just as examples).
    
    Include an example that uses this as well.
    
    Fixes: bug 1224060
    
    Change-Id: I7ba6e9dcbdca84d014b9d1f5054ce7a37eb766f2

commit 02587b884e903d121c31f432f2eee5b8a8ca0a82
Merge: 2dc03b7 e70032d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 22:54:03 2013 +0000

    Merge "Remove decorators and move to utils"

commit e70032d0d9749a48bf56f14b7b677fb5d92ff332
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Oct 6 21:38:43 2013 +0000

    Remove decorators and move to utils
    
    In order to avoid the circular import
    in threading utils move the decorators
    functionality to utils/misc and move the
    locking functionality to utils/lock_utils
    and then use these functions from the
    threading util (and elsewhere).
    
    Fixes bug: 1236080
    
    Change-Id: I9e71c2ba15782cbb6dd5ab7e1264b77ed47bc29e

commit 2dc03b7333be5aa1128e76bacf461f0f5b0702b8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Sep 23 14:29:46 2013 -0700

    Add reasons as to why the edges were created
    
    Reasons are useful for later analysis when running
    as to why the edge between two nodes was created so
    when linking items in the graph it would be nice to
    assign a reason.
    
    Change-Id: I2185cf5fb3c2c07c0f5536d3b210080c6f61d5dd

commit 8750840ac872cb1bf983be5cbad3d0448e4f3ee6
Merge: 98d4032 9417307
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 22:19:44 2013 +0000

    Merge "Fix entrypoints being updated/created by update.py"

commit 98d40324d3d2c320aac2b989b7e3d66f6f9b5cc0
Merge: a66df3a 57f5b8c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 20:02:38 2013 +0000

    Merge "Allow access by index"

commit a66df3ab137ff961269290a72e1cb3a19098b3b6
Merge: 5e062df ea272ee
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 20:02:06 2013 +0000

    Merge "Validate each flow state change"

commit 5e062df7dc347dcabe7dc4f6cf60e6442fba7619
Merge: fdd2d8e 63f8e3e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 19:58:02 2013 +0000

    Merge "Update state sequence for failed flows"

commit fdd2d8ece06408279dfb5d7a6bcaba194fd72a0d
Merge: b1f81ba e014875
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 19:56:30 2013 +0000

    Merge "Flow utils and adding comments"

commit 9417307d0972214c863c146684e991b77f3a97ae
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Oct 6 19:50:16 2013 +0000

    Fix entrypoints being updated/created by update.py
    
    Previously entrypoints were not being created in the
    target projects setup.cfg which means that the target
    project would not be able to correctly use the taskflow
    provided entrypoints. To fix this add a new helper
    function to update.py that alters the entrypoint and
    creates (or updates) the setup.cfg file where those
    entrypoints are defined.
    
    Fixes bug: 1235988
    
    Change-Id: Ie32324c88e3c3642e58f3532e868f171f973d15e

commit ea272ee743bfcd06bcb371afc54c1e37b35d8c10
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Fri Oct 4 18:21:29 2013 +0400

    Validate each flow state change
    
    When engine changing state, the transition is now validated. This
    helps to avoid complex and error prone checks in engine._change_state
    and make validating code more reusable in different engines.
    
    Change-Id: I2a06823c532926bb3bd034f7252b14bdbbc1fa1d
    Implements: bp:transition-control

commit 63f8e3e5f6ae440a7ca9cf7079c85de6bcd5b5d8
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Oct 7 16:40:57 2013 +0400

    Update state sequence for failed flows
    
    When flow failes, it now transitions to FAILURE state, and then
    goes throgh REVERTING to REVERTED. So, flows that failed and were
    reverted are now left in REVERTED state.
    
    Change-Id: Ieb9135673847eb4942afa61696975d013b809819

commit e0148753ea1170397ca8cf1fdebf202550173b27
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 5 22:03:13 2013 +0000

    Flow utils and adding comments
    
    Make the graph duplicate node names be
    a post flatten function and add a bunch
    of mostly useful comments to the various
    utils functions/modules.
    
    Change-Id: Iea7afc2f1b6e96a87da0aa2ca83dfbe4b76ee2db

commit b1f81badfd2b7b3ef15cc57f7b502e5f40bb06a0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 5 21:39:57 2013 +0000

    Bump requirements to the latest
    
    Match the requirements for taskflow with
    the openstack requirements (note the upstream
    requirements are missing 'futures' and 'networkx')
    and update the new hacking violations that were
    detected due to the hacking requirement version
    bump.
    
    Change-Id: I8d1326cf2a8b1ea062f5e9aacd0c4f8261c6531a

commit 6ccac5f334f6f8c2eb7aa60deb4ae28ef7121434
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 5 17:39:07 2013 +0000

    Add a inspect sanity check and note about bound methods
    
    Change-Id: I4be714283b2ca3dfc3ba9dec0c9a3969fa5a458a

commit 86d6bfe11ffd42e327c0a74d1c9e28803695d771
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Oct 5 17:22:13 2013 +0000

    Some small exception cleanups
    
    Whitespace change and compare directly
    to none since user exceptions may have
    overloaded the boolean operator and
    avoid checking the exception classes
    if the input is empty in the first place.
    
    Change-Id: I426741bbc23181e96084383eaf77daa1d612ab59

commit 91136532ed5ee13420378ebb61956b964889ed30
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 3 12:52:17 2013 +0400

    Check for duplicate task names on flattening
    
    Task names should be unique within flow. But complete set of tasks
    is not generally known until flow flattening is run. So, we check
    task names uniqueness as soon as we have execution graph.
    
    Change-Id: I658b3ae606fc79e600d90b51f0b4ed4f4e7d511d

commit 9545fc43b9a5bc3f980d36f3a82d5255a6e221c1
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Oct 3 11:33:02 2013 +0400

    Correctly save task versions
    
    When task is added to storage or task detail is saved to persistence
    backend, task version should be saved with it.
    
    Change-Id: I43e97cb621c3ffbbc27cafdc206ac39389336a24

commit 7065af6ffea1058fd4d57bc3ff941818ffb0b6f2
Merge: 5acd843 6134ff6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Oct 5 05:48:55 2013 +0000

    Merge "Wrapping and serializing failures"

commit 57f5b8cea4961cb9a82e04378755ef88a08b9810
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 4 18:22:21 2013 -0700

    Allow access by index
    
    Since a linear flow is a linear set of tasks or subflows
    we can easily add in an accessor that can fetch these
    items by index which is useful for indexing for any
    post-add operations.
    
    Change-Id: Ib1690584a08e24fae29285225e6c519b06ce2ddd

commit 5acd843da4ad7f42a6fcacd93cd711b6b2c31cf2
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Oct 4 16:21:51 2013 -0700

    Fix importing of module files
    
    Make module files correctly be scanned for imports
    
    Change-Id: I3b1e5987d7d5f97cd4d569eb32f807e6bb89c58c
    Fixes: bug 1235507

commit 6134ff689a1d18a5ff23c3bb3fdcc140680f2387
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Fri Sep 20 16:51:08 2013 +0400

    Wrapping and serializing failures
    
    * save task failures to sqlalchemy backend and restore them
      from there;
    * for any wrapped exception use common WrappedFailre exception
      type, which makes it easier to handle particular exception types;
    * several minor improvements.
    
    Affects-db: this change adds db migration that looses exception
        information for saved task details.
    Change-Id: I575282002e6999646bbf51f492b82a7e3525787a

commit cde0dee14e0e93018f5d9a5a32a98623ec29bbc4
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Fri Sep 13 12:22:27 2013 +0400

    Simpler API to load flows into engines
    
    Previously to run a flow client code had to put together the flow,
    an engine, logbook, flowdetail, and storage backend. This commit
    adds two helper functions, run() and load(), so that simplest usecase
    now looks like
    
        taskflow.engines.run(flow)
    
    Client code may also provide configuration for storage and engine if
    needed, but if not needed it just works with defaults.
    
    Engines are loaded via stevedore, as drivers in 'taskflow.engines'
    backend. Now three entry points are defined in that namespace:
    - 'default', for SingleThreadedActionEngine, used by default;
    - 'serial', as another synonym for SingleThreadedActionEngine;
    - 'parallel', for MultiThreadedActionEngine.
    
    Closes-bug: #1224726
    Change-Id: I7f4cb5c8ff7f5f12831ddd0952c202d2fd8cd6ef

commit 568c79494c9652f337f32182fcb1214165e0d3f8
Merge: 0b3de1c cbef0ee
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 17:36:02 2013 +0000

    Merge "Avoid setting object variables"

commit 0b3de1c72807eef626974fe01eefa90da38fb41a
Merge: 58489a8 c42b3a2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 17:34:35 2013 +0000

    Merge "A few adjustments to the progress code"

commit 58489a8fb1f690e0190d2dc00c4f5314fe4e453b
Merge: 6e9e6cf b348354
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 17:32:54 2013 +0000

    Merge "Cleanup unused states"

commit cbef0ee2866adb22925c7a8dbc0c587de21136ab
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Oct 1 10:15:15 2013 -0700

    Avoid setting object variables
    
    Instead of setting a object state variable, which makes
    a graph_action object now have state we can instead just
    have a new event boolean that will be set to true when
    a suspension is detected. This value will then be used to
    alter the status returned from the parallel graph action.
    
    Also fixes a lack of returned status when there are no
    items to actually run (aka the deps counter dictionary
    is empty).
    
    Change-Id: Ifa3ba7293613ba1e70e77d29504ea214f0b4c9e9

commit c42b3a2ed57dc0d8eeafb38679e29c848be94d31
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 20 21:54:51 2013 -0700

    A few adjustments to the progress code
    
    Remove an unneeded variable in the tasks class as
    well as add a test for capturing and checking on
    the progress that is emitted and adjust how the task
    action should use a single function for doing state
    changes (and another one for saving/resetting). Also
    add in progress boundary checking (between 0 and 1).
    
    Change-Id: Ic8cf56e3b25a493129f370b7b52e3cb2238da844

commit 6e9e6cff24917c2ba4ad82101a08dea46f9a5435
Merge: 5726cc0 9b7d463
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 1 09:57:50 2013 +0000

    Merge "Remove d2to dependency"

commit 5726cc0805080acd06f62847826569e47290135a
Merge: 5bc336a 988f2c0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 1 08:01:19 2013 +0000

    Merge "Memory persistence backend improvements"

commit b348354d21297028e99e22830bddf484c49e6fbd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Sep 30 17:47:40 2013 -0700

    Cleanup unused states
    
    Not all the states are actively being used in any of
    the taskflow code, so instead of keeping them around
    lets just clean them up.
    
    Fixes: bug 1232168
    
    Change-Id: Ife92febe70692638bca4551766769a903273513f

commit 5bc336a60c26c0e2e82898e6c61e68245e3c00c7
Merge: 251db06 dd2c059
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 1 00:20:46 2013 +0000

    Merge "Warn if multiple providers found"

commit 251db068c4d9c6605f85b08721c5e6145c5e028c
Merge: 3b71639 26a70ea
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 30 22:09:08 2013 +0000

    Merge "Don't allow mutating operations on the underlying graph"

commit 3b716390a7ff6d41fbb8304b48de99f8d5b27a23
Merge: 264994b 013aa6b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 30 22:09:07 2013 +0000

    Merge "Add graph density"

commit 9b7d463f687e8dd8e300cc7196944d8a236777f3
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Sep 30 10:39:23 2013 -0400

    Remove d2to dependency
    
    Change-Id: I433711ba417dbb15f616fa488cec389f3138b00a

commit dd2c059149844e9d5d1ba1c63bb0cb67ac7dbe65
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Sep 5 12:56:17 2013 -0700

    Warn if multiple providers found
    
    If many providers produce a given name as an output
    it is nice to be able to warn the user when this is
    happening as early as possible.
    
    Change-Id: Ia5f963120827c0228d318a799c8bc3c21b9687ac

commit 988f2c09f3ace7d21b951cd8b9002283d545814a
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Fri Sep 27 11:10:26 2013 +0400

    Memory persistence backend improvements
    
    * got rid of globals -- all data now belongs to backend instance;
    * be more accurate and consistent with copying saved data.
    
    Change-Id: I3e54415e23b7df03e48de3d6c0800f0149051560

commit 264994bbf2649481e4a506c38130cac0d4233f71
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Sep 26 15:56:16 2013 +0400

    Create database from models for SQLite
    
    Alembic does not support SQLite, and we don't recommend to use SQLite
    in production deployments, so migrations are rarely needed for SQLite.
    So we don't bother about working around SQLite limitations, and create
    database from models when it is in use. Of course, we still use
    alembic to migrate schema on 'real' databases.
    
    Change-Id: I8237a29c7bf5b60136bb1b72fd029fe9ce1abe1f

commit c82dccb1e6e0eb2c2e9ccb71e2e8157995360add
Merge: 278e2ba 698d756
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 30 06:29:56 2013 +0000

    Merge "Suspend single and multi threaded engines"

commit 26a70ea5df861fa4d3ceb2edd6e2462bcfdaae67
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Sep 28 21:12:57 2013 +0000

    Don't allow mutating operations on the underlying graph
    
    Instead of allowing a direct graph return of the underlying
    graph_flow graph we should return a frozen version instead so that
    users of the returned value can not mutate the graph without going
    through the graph_flow pattern (which could have undesired and
    harmful side-effects if this occurs).
    
    Change-Id: I38b35119d6e7bd7387b8ab467eba53aee5500629

commit 013aa6beb75508c36510e41e89f10939792fe474
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Sep 28 20:46:17 2013 +0000

    Add graph density
    
    Change-Id: I97036e8cf2f528633287d4abe46fe5779a8d5f76

commit 278e2ba53b3729cd0f70bc4d9db6c61444def846
Merge: 81a0759 166bfff
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 27 23:05:02 2013 +0000

    Merge "Add a directory/filesystem based persistence layer"

commit 698d7561913c02e267a92676efd8f71582e70087
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Thu Sep 26 17:33:07 2013 +0300

    Suspend single and multi threaded engines
    
    Change-Id: I908c8f4e98f715a4c4b5b6fa7db35e125439ec38

commit 81a0759db17bb645551da9e6ba551b2bbc03fc3e
Merge: 1df2ec7 bb623cf
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 24 18:02:19 2013 +0000

    Merge "Remove old tests for unexisted flow types"

commit 1df2ec7f09e6aacaa6a3a32ed416fc7167cf3ede
Merge: 5d55cb7 015d979
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 24 18:02:12 2013 +0000

    Merge "Boot fake vm example fixed"

commit 5d55cb74048c6b7bca11534bfdb1e10e9ada9ec5
Merge: dd049ee 7f518dc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 24 18:00:08 2013 +0000

    Merge "Export graph to dot util"

commit bb623cf7c831a7498f3b0f0828ccd11999d0cfaa
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Mon Sep 23 13:19:11 2013 +0300

    Remove old tests for unexisted flow types
    
    Change-Id: Iadb491185748199dcdff9f6ef8df73bcd862cb1d

commit 015d979d83e905fb98f1ac5d1bcb1315056a2f8b
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Fri Sep 20 16:05:38 2013 +0300

    Boot fake vm example fixed
    
    Change-Id: I4e4b3074866b638b6ab2817994533a0f255e5c28

commit 7f518dc39f79bf79c651fe8ce88296c128375497
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Tue Sep 24 11:26:45 2013 +0300

    Export graph to dot util
    
    Change-Id: I385a469a15ae3afcc260cc0be3a0971952ca5e8d

commit dd049eea692236fa5b1f8677bf5a434daef6dfe8
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Sep 24 17:09:24 2013 +0400

    Remove unused utility classes
    
    Removing ThreadGroupExecutor allows to get rid of threading2
    dependency. LastFedIter is also not used, so there is no
    reason to keep it.
    
    Change-Id: Id396ab59ebf1e2314ef620417d7cac09e1ab8d3b

commit 11da620efd97a09d7634366ea7e6fc886317d12a
Merge: a4fd3ee a333c48
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 24 07:51:07 2013 +0000

    Merge "Task decorator was removed and examples updated"

commit a4fd3ee0d76ba02d809ec3f41ad015457c435384
Merge: 8cb4c09 e5f9b49
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 24 04:03:55 2013 +0000

    Merge "Remove black list of graph flow"

commit 8cb4c0974d7184a1741a0744f3e2a1f81ee3105f
Merge: ca3b095 051580e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 24 04:02:20 2013 +0000

    Merge "Clean up job/jobboard code"

commit e5f9b4986007c94eb5be4c7a8761b727f32a5106
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Sep 23 12:11:20 2013 -0700

    Remove black list of graph flow
    
    Graph flow is operational again,
    remove it from being blacklisted.
    
    Change-Id: I86daa783816a554b4304a887fa119c530cd20326

commit ca3b09505d2002d33d9e2c25db3292ae89350e1f
Merge: 4f6b0b2 f7daa45
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 23 18:06:57 2013 +0000

    Merge "Reintegrate parallel action"

commit 4f6b0b2446d8eb328c62688aa0e7790ece0d13ce
Merge: eea2b91 134d095
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 23 18:05:48 2013 +0000

    Merge "Remove weakref usage"

commit a333c48523f17bef9e1c1cde661fd94ec70adf34
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Fri Sep 20 12:54:15 2013 +0300

    Task decorator was removed and examples updated
    
    Change-Id: Ie49fe6c2f48a18130d1fd2a3aa5485cd8cee4ed4

commit 134d0951b0fc8ecf213eda9b9715d3cd4ed4abf1
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 20 23:18:03 2013 -0700

    Remove weakref usage
    
    If a connection escapes the scope of the
    backend object, then python will actually
    garbage collect the backend object even
    though the connection object has a property
    that allows you to fetch the backend. If the
    property is used after the gc occurs a weakref
    failure occurs.
    
    Python is smart enough to correctly deallocate
    these types of object links by itself so lets
    just let it do that.
    
    Fixes: bug 1228968
    
    Change-Id: I49d36b74f896bd1be6c7a1a373b07bdaded3ef4b

commit eea2b9103083680640333243604a301e9efc4ce9
Merge: ab421f5 342cd4c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Sep 22 23:19:30 2013 +0000

    Merge "Remove the older (not used) resumption mechanism"

commit ab421f5fcc7338c10375b31bfb443da5eb4fecfe
Merge: c108f6a 91331c0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Sep 22 23:18:56 2013 +0000

    Merge "Add basic sanity tests for unordered flow"

commit 91331c0da42e64abd9cf10850255005ecc7dd82b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Sep 12 16:13:02 2013 -0700

    Add basic sanity tests for unordered flow
    
    Fixes: bug 1224194
    
    Change-Id: Id5af06a2f10e357e8d042df6f41795cc9328469b

commit 051580ee60ad4fb42bcbaa6ba1b3d22ade47127b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Sep 22 02:29:16 2013 +0000

    Clean up job/jobboard code
    
    In order to start working on the job and
    jobboard code we need to tidy it up a little
    with comments as to what the intended usage
    and functionality of these two components is.
    
    Change-Id: I4d50f1f85e9ec471efbd734756d5d1f09865fbaa

commit 166bfff48ca6c22768066d394ff501cf210f3027
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Sep 18 16:04:41 2013 -0700

    Add a directory/filesystem based persistence layer
    
    Add a nice non-memory-based but also non-db based
    persistence layer which is another good example of
    how a persistence layer can be created (and used).
    
    Example directory structure:
    
      /books
      /books/247c5311-d4ec-461b-9e76-51830d6a75b2
      /books/247c5311-d4ec-461b-9e76-51830d6a75b2/metadata
      /books/247c5311-d4ec-461b-9e76-51830d6a75b2/flows
      /books/247c5311-d4ec-461b-9e76-51830d6a75b2/flows/25f18828-a067-411e-9035-8217536f925d
      /flows
      /flows/25f18828-a067-411e-9035-8217536f925d
      /flows/25f18828-a067-411e-9035-8217536f925d/metadata
      /flows/25f18828-a067-411e-9035-8217536f925d/tasks
      /flows/25f18828-a067-411e-9035-8217536f925d/tasks/a352fa2e-82cf-4c37-89ae-3aa10dbf1437
      /tasks
      /tasks/a352fa2e-82cf-4c37-89ae-3aa10dbf1437
    
    Change-Id: I63aaf56497187e21469bc500a49dd02de0c67f29

commit 342cd4cf930e96ee428dd077ccdfe36c4ee833d6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Sep 22 02:02:47 2013 +0000

    Remove the older (not used) resumption mechanism
    
    Change-Id: I0b6507a6f551c3f6d39e5310fb663beb51468ee0

commit c108f6a1f5bc32ef7e2041bcce7223740ddefaf8
Merge: d736bdb 1bfed65
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 20 17:37:47 2013 +0000

    Merge "Allow to specify default provides at task definition"

commit f7daa45d69876072368111b2c55ae5f3c2593287
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Sep 18 12:32:15 2013 -0700

    Reintegrate parallel action
    
    Fixes: bug 1221505
    Fixes: bug 1225759
    
    Change-Id: Id4c915d36d0da679b313dba8421ac621aeb7c818

commit d736bdbfaef6a0b907213baf2d197ef47999d073
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Sep 15 22:16:02 2013 -0700

    Add a flow flattening util
    
    Instead of recursively executing subflows which causes
    dead locks when they parent and subflows share the same
    executor we can instead flatten the parent and subflows
    into a single graph, composed with only tasks and run
    this instead, which will not have the issue of subflows
    dead locking, since after flattening there is no concept
    of a subflow.
    
    Fixes bug: 1225759
    
    Change-Id: I79b9b194cd81e36ce75ba34a673e3e9d3e96c4cd

commit 1bfed651aece29b0b4956e3a9a3a0cbd21f0956d
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Wed Sep 18 12:00:32 2013 +0400

    Allow to specify default provides at task definition
    
    It is now possible to specify what task provides when task class
    (deriving from taskflow.task.Task) is defined, using 'default_provides'
    class attribute or property. This specification may still be overridden
    when task instance is created via 'provides' constructor parameter.
    
    Change-Id: If300c3a35807422d06c0196e84891faebde83c02

commit 0417ebf956215fb0ca964bd5f297f89b80df6c3d
Merge: a6ed4e4 1623dbb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 19 07:05:57 2013 +0000

    Merge "Graph flow, sequential graph action"

commit a6ed4e4b591ba0c65d7f40244d3dc20fea5dbad9
Merge: bc6f127 264a889
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 18 22:26:03 2013 +0000

    Merge "Remap the emails of the committers"

commit bc6f127d7cd2b518dfd476d8e5b66363527699db
Merge: b07ee63 a2c8930
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 18 17:28:07 2013 +0000

    Merge "Task progress"

commit 1623dbb01ed5f1f9e6e6c595a8993f3776f285ef
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Wed Sep 18 18:21:15 2013 +0300

    Graph flow, sequential graph action
    
    Change-Id: I07cc820aa2f37d0f9599f34efab07b28cf47ca48

commit a2c8930b52e63c6739d503e2f3eb273bf676a272
Author: Victor Rodionov <vito.ordaz@gmail.com>
Date:   Thu Sep 12 22:15:56 2013 +0400

    Task progress
    
    Add update progress method to base task class
    
    Implements blueprint: task-progress
    
    Change-Id: Id7d554ce6c31778f1f1a084a3b268257e66a5fea

commit b07ee63f78e9c200c3a117f148b78599f8b71628
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Sep 12 11:49:45 2013 +0400

    Verify provides and requires
    
    When flow is being constructed we ensure that it is actually valid by
    checking its invariants:
    - for linear flow, no item should depend on items that are executed
      after it;
    - for unordered flow, items should be independent.
    
    We also add check that all necessary provides were injected to storage
    before actually running flow.
    
    Implements: blueprint flow-verification
    Change-Id: I499898f543505b7dd6f82716ae8f4011cb08f601

commit 264a889df8951bd8f1dabbd260be8da00344b12b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Sep 17 10:57:08 2013 -0700

    Remap the emails of the committers
    
    Some of the emails that the committers are using
    aren't really the right target email, so lets remap
    the committers commited 'email' into the right email
    instead.
    
    Change-Id: Ib9346c32b4a967401d0c8cc67379337015d8c4d9

commit 645fc49c888a07e704d1c640e02583acc0abc8a3
Merge: a3bf528 6272c83
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 17 08:09:46 2013 +0000

    Merge "Add check that task provides all results it should"

commit a3bf52801067c2c78c81e922f8500d2c9de35fb0
Merge: 44c778e 466cc92
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 16 22:46:06 2013 +0000

    Merge "Remove threaded and distributed flows"

commit 44c778e6bc0319bc1bce2764050d7d154e4728f5
Merge: 86c60df c093858
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Sep 14 22:22:42 2013 +0000

    Merge "Fix linked exception forming"

commit 86c60dfa60496eaccf16dc50d13ac39f0cae451b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 13 20:21:03 2013 -0700

    Use executors instead of pools
    
    A executor is a more generic concept than a pool and
    also seems to work better with eventlet. This is also
    a more supported model of performing concurrent operations
    than using the mostly unknown multiprocessing thread
    pool implementation.
    
    Fixes: bug 1225275
    
    Change-Id: I09e9a9000bc88cc57d51342b83b31f97790a62e9

commit c0938588883ae166c8279c915ca111fb907e9090
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 13 18:54:07 2013 -0700

    Fix linked exception forming
    
    There was a variable usage error in that 'exc_infos'
    does not need to be three and also the exc_info[2] does
    not need to be not-none if there is no traceback (which
    is a valid usage/case of exc_info).
    
    Change-Id: Iddb979e5cb7df424ee218854e0c766e5b45e3e29

commit 466cc92c5c6b9729588b95d20fd063ea8a0702ca
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 13 18:26:09 2013 -0700

    Remove threaded and distributed flows
    
    Both of these are currently being reworked
    and it doesn't make much sense to keep them
    around in the code tree at this point.
    
    Change-Id: I2fa257ae91d117effccbe6298d29e002a64e08b3

commit 6272c83b3673de9c1e1f0d5b29677d0631a33ce4
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Sep 12 19:53:33 2013 +0400

    Add check that task provides all results it should
    
    Value returned from execute method of task should contain all
    results that are mappend with task.rebind. To verify that we
    check that the value can be indexed with all necessary indexes.
    If that fails, we put warning to log.
    
    Change-Id: I21aac7b36885668155c2d7bd2eedcf4eeba22b11

commit 15b2af47ae2670687119ec7ff2b4827661969496
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Sep 10 00:05:40 2013 -0700

    Use six string types instead of basestring
    
    To increase our python3 compatability we should
    attempt to use the six module for known issues
    that are likely to happen in python3 when comparing
    to string types.
    
    Change-Id: Ib6fc32138e218c8b45023ca37d87b742694b8349

commit d523d3651dc386f3b4627c4f079777d67b59e643
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Sep 9 14:41:29 2013 -0700

    Remove usage of oslo.db and oslo.config
    
    Remove further reference to oslo-incubator database
    layer which itself uses oslo.config and remove its
    dependencies and resync with oslo-incubator after
    applying these changes.
    
    Implements blueprint eliminate-oslo-cfg
    
    Change-Id: Ie1ee7affae75c60833c012c921e50d7b14026101

commit 45d350e80d447e4d138db63e001613311b82738e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Sep 7 16:49:40 2013 -0700

    Move toward using a backend+connection model
    
    Instead of having a pretty restrictive module
    based api for saving logbook objects it is much
    more friendly and extensible to move toward a more
    ceilometer-influenced engine and connection based
    storage backend using stevedore to do the backend
    loading instead of a custom registration/fetching
    mechanism. This allows us to provide a base object
    oriented backend api that can be easily inherited
    from to allow for customized & pluggable backend
    storage modules.
    
    Implements blueprint stevedore-based-backends
    Implements blueprint ceilometer-influenced-backends
    
    Change-Id: Ib5868d3d9018b7aa1a3354858dcb90ca1a04055d

commit 9effbd6016918d2da1ee3051d89991a84b3cbffa
Merge: 0d09c77 9a75ad2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 11 23:53:04 2013 +0000

    Merge "Add link to why we have to make this factory due to late binding"

commit 0d09c776952b946bd6e951c291dcd9524e2e3a4e
Merge: c1ca3e7 2dd9a9d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 11 23:52:45 2013 +0000

    Merge "Remove the common config since its not needed"

commit c1ca3e7fc9f352da7d7d86b6eb563a74f4d9f735
Merge: fa31354 8a443b1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 11 23:51:46 2013 +0000

    Merge "Allow the lock decorator to take a list"

commit fa313540989edab0e3e2e5ae17e4626961a351f4
Merge: aa7b629 c73c097
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 11 07:05:30 2013 +0000

    Merge "Add provides and requires properties to Flow"

commit c73c0975600121fda89039a851bd44bc1280016b
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Tue Sep 10 13:34:29 2013 +0300

    Add provides and requires properties to Flow
    
    Provides and requires properties are used to browse all
    required and provided values for the whole Flow.
    
    The same properties were added to the Task.
    
    Appropriate Task properties were renamed to rebind and save_as.
    
    Change-Id: I02eb02303a9701a13f1a54f06f20bbf9aebd1d04

commit aa7b629d909711a61d84edd0ee7b9b00bd145d43
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Tue Sep 10 11:46:53 2013 +0300

    Fixed crash when running the engine
    
    Closes-Bug: #1223234
    Change-Id: Iaed98ac1fb428b85e73718dbb2e79c6b9526059d

commit 2dd9a9d1e22317b920f559fb8f58e1f65fcd79bc
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Sep 9 12:52:29 2013 -0700

    Remove the common config since its not needed
    
    The common config currently isn't used (but will be
    later, potentially in the distributed commit) so for
    now remove it as its a major user of oslo.cfg which
    we are trying to remove.
    
    Part of blueprint eliminate-oslo-cfg
    
    Change-Id: If86291511e5b304ca77505b4afd47b1663b316f5

commit 8a443b1dbc69d9cae91b24dbb9e98e13fa33c3b5
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Sep 9 12:50:55 2013 -0700

    Allow the lock decorator to take a list
    
    In the cases where a list of locks is desired
    to be acquired it would be nice to use the same
    lock decorator to accomplish this.
    
    Change-Id: Ib25329eef330d1b434bc3e8e79d7bb38f450c7ae

commit 7c2aeaed3678672a40833522a700ffe3c7b114d8
Merge: 5a8fd8d 8218f57
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Sep 8 00:57:35 2013 +0000

    Merge "Allow provides to be a set and results to be a dictionary"

commit 8218f57ad2871bc1050dc7e6ecd57af14be0c8c4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 6 19:03:30 2013 -0700

    Allow provides to be a set and results to be a dictionary
    
    Instead of forcing task provides to be a tuple or list and
    using the corresponding numerical index to determine how to
    interpret the tasks results we should also allow for the task
    provides to be a set and then allow for the tasks result to be
    interpreted as a dictionary.
    
    Fixes bug 1221998
    
    Change-Id: Ibae689e7975d6782aa248d2b6e3691c44a89ef9f

commit 5a8fd8d4555854ba92880727e36c257af82563f7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Sep 7 01:36:47 2013 -0700

    Allow engines to be copied + blacklist broken flows
    
    Allow engines to be copied to integrated projects via
    update.py and for the time being blacklist threaded and
    graph flow from being copied (to avoid breakage) until
    the bugs associated with fixing those flows are fixed.
    
    Also a bug was found that would not allow copying over
    the utils module (since a utils.py file no longer
    exists) so ensure that when we encounter a module (and
    not a .py file) we can copy over the correct file that
    belongs to that module (in the case of utils this would
    be the __init__.py of the utils folder).
    
    Also fixes a bug where it appears that due to our usage
    of defaultdict we would copy over more modules than
    desired due to how 'reading' a key in a defaultdict
    actually creates that key using the default value which
    caused these extra module inclusions.
    
    Change-Id: I2aa732fc0baf269ee87aa72bfe8495e51ad21faf

commit 9a75ad2de5c618d685bd653759093e8fee6e4ce3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Sep 6 16:24:22 2013 -0700

    Add link to why we have to make this factory due to late binding
    
    Since python decorators do not at the time of decoration have
    access to there instance that they are attached to we can't create
    the functor task out of the method at the time of decoration but
    instead we have to create a factory and late bind a functor task
    to the function that was decorated for the function that was wrapped
    to be executed correctly.
    
    Change-Id: I8951ff036061ee18caaf38f10fb7ce6745433d91

commit 37295b71a9cfb90be0d483160be1c561bfd1e5c8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Sep 5 18:51:01 2013 -0700

    Use the lock decorator and close/join the thread pool
    
    When the thread pool is owned by the engine (when it
    is not passed in) we should be careful and ensure that
    we close the pool (this stops it from accepting new
    work) and then join on the pool (this ensures that all
    contained threads complete) to avoid resource leakage.
    
    Change-Id: Icb6e0f8051c017458657b4ff8872d3af44565c18
    Fixes: bug 1221382

commit 23dfff410587d0f137bc59e10d953396802455d7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Sep 4 12:47:26 2013 -0700

    Engine, task, linear_flow unification
    
    In order to move away from the existing flows having their
    own implementation of running, start moving the existing
    flows to be  patterns that only structure tasks (and impose
    constraints about how the group of tasks can run) in useful
    ways.
    
    Let the concept of running those patterns be handled by an
    engine instead of being handled by the flow itself. This
    will allow for varying engines to be able to run flows in
    whichever way the engine chooses (as long as the constraints
    set up by the flow are observed).
    
    Currently threaded flow and graph flow are broken by this
    commit, since they have not been converted to being a
    structure of tasks + constraints. The existing engine has
    not yet been modified to run those structures either, work
    is underway  to remediate this.
    
    Part of: blueprint patterns-and-engines
    
    Followup bugs that must be addressed:
      Bug: 1221448
      Bug: 1221505
    
    Change-Id: I3a8b96179f336d1defe269728ebae0caa3d832d7

commit d6d4a937199a3662465f52a8cc289f0077a74f88
Merge: a638c98 b0fa3b2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 4 19:41:41 2013 +0000

    Merge "Combine multiple exceptions into a linked one"

commit b0fa3b2c9aeafa965d09fb43bbe0eeac8e828c0e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Aug 28 22:54:29 2013 -0700

    Combine multiple exceptions into a linked one
    
    When multiple tasks running at the same time
    throw exceptions previously we would not be
    able to rethrow all the combined ones which
    was suboptimal. Instead of doing that create
    a combined linked exception that can retain
    all of the exceptions that were thrown and
    rethrow that in the situation where more than
    one task fails.
    
    Change-Id: I8f882e0d58caa189d6bff2e33b0bc30c4cee553d

commit a638c9864f8d5f050fc59be1a84e728e30f981aa
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Wed Sep 4 11:27:39 2013 +0400

    Converted some examples to use patterns/engines
    
    Change-Id: If7154019f1cb5e723069ff35f6301fce048323b5

commit 6ee4d32fc25a7343ef4802f8390e76ef608106b9
Author: Anastasia Karpinska <akarpinska@griddynamics.com>
Date:   Wed Sep 4 13:05:57 2013 +0400

    MultiThreaded engine and parallel action
    
    MultiThreaded engine was implemented to execute tasks in parallel:
    - added parallel action that executes and reverts tasks in parallel;
    - added thread-safe storage.
    
    Change-Id: I4a1f78c95ae5d38660bd32ce21d2b3fb1b2af8ad

commit a91dd6b0e4e31132d1fcf0f9f6c2f64b599bfda0
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Wed Sep 4 14:23:03 2013 +0400

    State management for engines
    
    All state management moved to storage, including flow (engine) state,
    task states, task results and failures.
    
    Notifications for state changes were added.
    
    Storage is now implemented using taskflow.persistence and enhanced with
    means for result mapping and fetching task result by name.
    
    Partially implements blueprint patterns-and-engines.
    
    Co-authored-by: Anastasia Karpinska <akarpinska at griddynamics.com>
    Change-Id: Ia4e5707687096c948bd8db4f3d8936bdac40dd6c

commit c1b25762dc92f61670f93ada3c2bec883f308d1b
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Sep 3 16:11:18 2013 +0400

    Action engine: save task results
    
    Task results are saved on success and passed to revert method
    on revert. If task failed (execute method raised an exception),
    special object of type taskflow.utils.misc.Failure is created
    and saved as task result to indicate that.
    
    To store results Storage class is introduced. As for now it is
    simple tiny wrapper of a dictionary, but future plans include
    rewriting it using persistence API and adding more sophisticated
    functionality.
    
    Change-Id: Ic806421a3780653602d8879c33fdf655950a6804

commit 57c4b1bdc23f08b267ea1f72c55af12eacbc5006
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Aug 20 12:25:43 2013 +0400

    Initial implementation of action-based engine
    
    This is first in series of changes that provides separation of flows into
    engines and pattens. Patterns define structure, while engine define how
    the task should be run according to said structure.
    
    This change adds the basic patterns and a very simple engine that
    is able to run flow defined with patterns by converting it to recursive
    structure of so-called 'actions'.
    
    For simplicity and ease of review certain major features like
    resumption, saving and passing on task results and notifications are
    left out for farther changes.
    
    Partially implements blueprint patterns-and-engines
    
    Co-authored-by: Anastasia Karpinska <akarpinska at griddynamics.com>
    Change-Id: I68515d8a5b30d5d047bf9beb67cc3e2111175190

commit 1ae6b9776ac67d9cd1ede3d83f2fca892e6f5e59
Merge: 8a79c25 7d90729
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 3 21:40:49 2013 +0000

    Merge "Further updates to update.py"

commit 7d907296a5897176ff17d8ea04f238e64f19d3ec
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Sep 1 21:42:30 2013 -0700

    Further updates to update.py
    
    1. Adjust how import reforming is done to use a function
       to reform the import line (after modification).
    2. Clean the old copy of taskflow (if it exists) before
       placing a new copy in its place, this is very useful
       to avoid stale files.
    3. Move some constants to be offical global constants.
    4. Show exactly what modules are being used from the
       containing projects openstack.common.
    5. Fix how the distributed flow was breaking imports due
       to the location/usage of logbook in that module no
       longer being functionally correct.
    6. Add a header to each file copied/created that tells
       people not to modify them directly.
    
    Change-Id: I6387722e092b93418bd63b722a95a8efcaef788d

commit 8a79c25292e6aab0623a0f49a501b77775f3aba3
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Sep 3 11:40:21 2013 +0400

    Split utils module
    
    In this commit we split utils module into several parts:
    - flow_utils, with code used in running flows;
    - threading_utils, with code that helps in working with threads;
    - reflection, with code that inspects python objects metadata;
    - misc, with all the other code that used to live in utils.py.
    
    We also move graph_utils into taskflow.utils package.
    
    This commit just moves code around. It should not change any logic (with
    exception of complex_graph example).
    
    Change-Id: Iebfe45395f0ff502bc00fc7ae14829130b2c6abe

commit 98baedda27eab38f6754650a7972a8f5571b795a
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Wed Aug 28 12:37:05 2013 +0400

    Rename Task.__call__ to Task.execute
    
    We'd like library interface to be nice and simple, which implies that
    it does not involve too many underscores. Also 'execute' matches with
    'revert' nicely.
    
    Suggested-by: Anastasia Karpinska <akarpinska@griddynamics.com>
    Change-Id: Iea72e6230a32665b4236a1e7d1dcc41bd56d0418

commit 317a24e1d8dbfb105e2682b17b637f8459ad42fe
Merge: 9443506 868d0c6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 2 16:46:07 2013 +0000

    Merge "Reader/writer no longer used"

commit 868d0c6ccdc7f5d7e689d13dacd4a1cf17e6977d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Sep 1 17:29:53 2013 -0700

    Reader/writer no longer used
    
    Remove the reader/writer lock as it is no
    longer used and if it is needed I would
    rather thing of other ways to do this as
    getting the reader/writer lock usage incorrect
    will mean deadlock.
    
    Change-Id: I4518c25e65626dc5a77f4e899c258ff9da76fea1

commit 9443506b9367ffba585468315dfe00a6b5c20039
Author: Changbin Liu <changbl@research.att.com>
Date:   Fri Aug 30 17:12:54 2013 -0400

    Rename "revert_with" => "revert" and "execute_with" to "execute"
    
    "_with" is kind of obvious, and also less typing for users of this
    library
    
    Change-Id: I99f597dae5612cc44cc7f19ae144776f63d32bac

commit f822363afa9dd3de146b950e6e607e2cf3ddcb9b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Aug 26 16:28:09 2013 -0700

    Notify on task reversion
    
    When a runner and its associated task are
    reverted we should fire off notifications
    that this is occuring so that others can
    perform various activities when this occurs.
    
    Change-Id: I3fc797255e5cacd0d5cff9cb6ec444ccb9e7ac2e

commit 772c3a8c214b9e2cc06636f867b187751d0ef211
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Aug 26 18:08:55 2013 -0700

    Have runner keep the exception
    
    If the runner when executing caused an exception to
    be thrown then it is nice to keep the exc_info()
    associated with that exception for later usage in
    stack-traces, rethrowing or similar...
    
    Change-Id: I32080eae06977acdfb367756693069245a8db5d7

commit ed5407ba75174dd2dda684924a4d572835ebe561
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Aug 27 22:58:04 2013 -0700

    Use distutil version classes
    
    Instead of using our own version comparision
    and extraction just use the distutils provided
    one instead. This will allow us to associate
    and compare task versions with a slightly less
    hand-crafted algorithm.
    
    Change-Id: Ieedab787cbc9e2217d5c4d75d59c0699ec6a0b29

commit ab9ca13055924dfcb6dc9c622b069217433fb7ae
Merge: fb03fef b68d504
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 28 05:37:57 2013 +0000

    Merge "Add features to task.Task"

commit fb03fef64d80e4f72936fce79bd0d4d37816c4be
Merge: 5d772c5 d4609ef
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 28 05:16:40 2013 +0000

    Merge "Add get_required_callable_args utility function"

commit 5d772c570d488914611899af68182a73fb895259
Merge: b7e959a fbd06b5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Aug 27 18:07:54 2013 +0000

    Merge "Add get_callable_name utility function"

commit b7e959a62c8c16cde5bf25e7fa2082963b34cd5b
Merge: 0fa642d cd04997
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Aug 27 18:02:46 2013 +0000

    Merge "Check examples when running tests"

commit b68d504c9f99e180f0d630c5c101bd6136d23933
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Aug 27 16:52:56 2013 +0400

    Add features to task.Task
    
    Old Task class renamed to BaseTask, and new Task class deriving from it
    added in place of it. This new class adds following features:
    - if no name is passed to task, name is autogenerated from task type
    - all __call__ argument names (except 'context') are added to task
      requirements.
    
    Change-Id: Ied69857932088b6e25d4817d2a8afeddccad36d8

commit d4609ef3d068f47a690f11b7bdac04bbba175f41
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Aug 27 17:09:09 2013 +0400

    Add get_required_callable_args utility function
    
    Move code that gets callable args from functor task to utils.py and
    enhance it to support more use cases.
    
    We do not rely on naming conventions for 'self' and 'cls' parameters any
    more; we look at the collable if it is bound method instead.
    
    Change-Id: Ie1a9a7cc727b5fbc2780aba28b1d0253e5bc0ea4

commit fbd06b552ea5e33b95f88243ab1ba0c71edeb56e
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Tue Aug 27 17:07:20 2013 +0400

    Add get_callable_name utility function
    
    Code that makes name from a callable was moved from functor
    task to utils and enhanced to better support more use cases.
    
    Change-Id: I1280a31553c5051079e60b31cd1796f51485f040

commit 0fa642d94934f8e5974f2f5b2b2bf65fc32fbe4c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Aug 27 16:58:10 2013 +0400

    Require uuid + move functor_task to task.py
    
    Require details have a uuid of an originating
    runner, remove tasks having there own uuid since
    only when a task is added to a flow does it obtain
    a uuid.
    
    Move functor_task to task.py since it is task releated
    and seems better connected in task.py instead of as its
    own module.
    
    Change-Id: I8c441e184afcdd697d077f166f2e550fcafcd385

commit cd04997bce05c0fa2e493c0497296a96e03071a6
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Mon Aug 26 18:40:10 2013 +0400

    Check examples when running tests
    
    Add testcase that executes all examples from taskflow/examples
    directory. For examples with somewhat deterministic output the output
    is also checked.
    
    This commit also fixes couple of examples broken by recent decorators
    refactoring.
    
    Change-Id: I3e65eabde43e1dd26b442d8f7dd3f062bf80703d

commit 7a09c044e337a33ae8bb0539fb4c0e714bdee4ba
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Aug 24 08:56:48 2013 -0700

    Use the same root test class.
    
    Instead of being strongly tied to unittest2 make
    it easier for taskflow to switch to another root
    class (testr?) by abstracting out the unittest2
    usage. This also enables some useful functionality
    to exist in that root test class that other tasks
    can take advantage of.
    
    Change-Id: I381b6fb07e47f984b44cde439a17f39a1c1d32ac

commit 49a9ee3b0d6d1338f5c3ff9b05a7cfbb7dcba639
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Aug 26 16:51:48 2013 -0700

    LazyPluggable is no longer used.
    
    After adjusting the persistence layer
    the existing class is not needed since
    we allow for more than one impl to be
    active.
    
    Change-Id: Ia59bc58902de8f63a08268dd639e10b7d246ecc7

commit 0ba3c6af96609a63b164e85b601166591434502d
Merge: fc7a4c1 fceabee
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 26 23:06:55 2013 +0000

    Merge "Add a locally running threaded flow"

commit fc7a4c1289b7d82b3105f171271bc2df0a3b87bd
Merge: 392925d 062936a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 26 19:46:44 2013 +0000

    Merge "Change namings in functor_task and add docs to its __init__"

commit fceabee18fd85397f7fa81557c0cadc532a87c4c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jun 25 18:46:55 2013 -0700

    Add a locally running threaded flow
    
    Propose a new graph flow that will run every task
    in the graph at the same time but will use a count
    down latch concept to ensure that a tasks dependents
    are provided before the task itself can run. This
    allows for tasks to run in parallel (if they have
    no dependents or are placed in disjoint parts of
    graph).
    
    Note: although this flow uses threads it is typically
    expected that the underlying threads would be greenthreads
    since python native threading is still suboptimal (for
    various reasons).
    
    Implements: blueprint locally-run-many-at-once
    
    Change-Id: If434abd77758aa12fc99da395a2559995305a853

commit 392925d0130f18c18fd43c4449f7ee1a589bf802
Merge: dc56ff4 1ebaf8c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 26 18:27:36 2013 +0000

    Merge "Do not have the runner modify the uuid"

commit 062936a29ca71214c92fb2863a8f4dbd14e53dcf
Author: Changbin Liu <changbl@research.att.com>
Date:   Fri Aug 23 18:25:13 2013 -0400

    Change namings in functor_task and add docs to its __init__
    
    Change-Id: If260cfbeeee60e177c832a143f8ddc9f6fc71600

commit dc56ff482a9d5e6b8e3ac979b10c29ee5662df2f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Aug 16 12:17:20 2013 -0700

    Rework the persistence layer
    
    1. Simplify the exposed api to reduce race conditions
       which could occur if we allowed flow details, task
       details and log books to be deleted at different
       times; reduce this down to just being able to save and
       delete from logbooks (and only save/update for flow
       and task details to) to reduce the problem cases.
    2. Introduce a alembic migration with a proper schema so that
       the initial database can be created in the first place,
       adjust its exposed fields and relations to be defined
       by said schema.
    3. Use oslo db models instead of our own.
    
    Change-Id: I78bbedf87d506d3f39157198638937c933235b7b

commit 1ebaf8c0c53025dcf3725e212197c3c584c4edcd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Aug 24 16:05:06 2013 -0700

    Do not have the runner modify the uuid
    
    The uuid is used for result tracking and
    prefixing it with 'r-' makes it hard to
    find that uuid later so leave the uuid
    that is selected as is.
    
    Change-Id: I05fed5c197a8d9dc41daedc630ecfa22145bd46c

commit 38a9908be4d78924d7a2b0a119403e564c6bdf8f
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Wed Aug 21 21:44:26 2013 +0400

    Refactor decorators
    
    Make decorator code lean and mean by employing FunctorTask to implement
    them. This results in:
    - making everything we call 'task' to provide same interface;
    - encouraging distinction between task classes and task instances;
    - code becoming simpler.
    
    Implements: blueprint refactor-decorators
    Change-Id: I43f4ae2db2b7a20f294e2f2d91d53e151a60b139

commit 30cf71a80962f90789147384519565cd9eadacf1
Author: Ivan A. Melnikov <imelnikov@griddynamics.com>
Date:   Thu Aug 22 11:45:01 2013 +0400

    Nicer way to make task out of any callable
    
    This commit introduces taskflow.functor_task.FunctorTask class, which is
    adapter that can be used to make a task from any callable. Dependencies,
    revert callable, name and version can be specified at the moment of
    construction.
    
    Partially implements blueprint refactor-decorators
    Change-Id: If92de20a67ea6c228abb0a78edaa837b98581646

commit 0ad4ed1c89d25c48bcc5f35ad139ffa758077aff
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Aug 15 15:05:05 2013 -0700

    Use oslo's sqlalchemy layer
    
    Bring over the sqlalchemy layer + dependents that
    oslo provides so that we can use it in a dependent
    commit to replace pieces of our own mini
    sqlalchemy layer (that was derived from oslos)
    
    Change-Id: Ifda2fd5c5b8eb1d71a4cfce2a2e0046a23010270

commit acd545f9c2974f378eb0af7da70512fc5ce19383
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Aug 15 16:54:00 2013 -0700

    File movements
    
    In order to rework some of the persistence layer I would
    like to move around some of the files first, keeping job
    specifics in a jobs folder. Having some of the items which
    are root level taskflow items (flow, task) be at the root
    of the hiearchy. Also for now until the celery work is
    commited move that, since it doesn't make sense in backends
    anyway.
    
    Change-Id: If6c149710b40f70d4ec69ee8e523defe8f5e766d

commit 6c309a475d2cffc5794cd5197f2facf6f51e977c
Merge: ab491f8 ff1dc95
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 12 18:44:27 2013 +0000

    Merge "Added Backend API Database Implementation"

commit ff1dc9544c76030805a65930b3e153cf882642ef
Author: kchenweijie <kevin.chen@rackspace.com>
Date:   Wed Aug 7 16:36:17 2013 -0500

    Added Backend API Database Implementation
    
    Added a SQLite backed backend API implementation
    that interfaces with the database using sqlalchemy.
    All of the unit tests associated are included as
    well.
    
    Change-Id: I0948fe85d381db4ef1305ed6234ca3e06f3c8760

commit ab491f86e351d60231fab9db72ea2a282d9f8467
Merge: 7f0f7a6 4cee45e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 9 19:51:07 2013 +0000

    Merge "Added Memory Persistence API and Generic Datatypes"

commit 4cee45e2e36b74883921b9acfb78c3beb26e4575
Author: kchenweijie <kevin.chen@rackspace.com>
Date:   Fri Aug 2 09:18:32 2013 -0500

    Added Memory Persistence API and Generic Datatypes
    
    Added a generic persistence API for JobBoards,
    Jobs, LogBooks, Workflows, FlowDetails, Tasks,
    and TaskDetails. The currently implemented
    backends are in-memory. Also implemented generic
    return types (listed above) for the generic API.
    
    Change-Id: I6d09860ee08a900faf2c213a230429bf9e0dec01

commit 7f0f7a69efd5c9eec9593542615c8a15c2add6c5
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Aug 7 19:14:20 2013 -0700

    Resync the latest oslo code.
    
    Change-Id: Ia9a6ce983e01542f4f0f7601f9b2ae2aedd1ae34

commit be5762a3330957371abc4819ac62909b90b16bda
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Aug 7 19:05:18 2013 -0700

    Remove openstack.common.exception usage
    
    This file is deprecated, stop using it.
    
    Change-Id: I309bccb23e4ba25d84b5aaaba20ad73fdfd37e25
    Fixes-Bug: #1208734

commit 442e74c035497f8be85a17312065f2ebd6d792e0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Aug 2 14:49:39 2013 -0700

    Forgot to move this one to the right folder.
    
    Move to the right folder for real.
    
    Change-Id: Id8cc423d9e9d811e97e846c1c054c29ce67203dc

commit c3267983f229f4c30ba6a5b6dc0463027826ae67
Merge: 40a7483 07854a2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 2 21:48:51 2013 +0000

    Merge "Add a more complicated graph example."

commit 40a74837ce92fbc400a87996f8a8b351b3eae4df
Merge: d3b4ab6 574d0da
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 2 21:48:24 2013 +0000

    Merge "Add a new simple calculator example."

commit d3b4ab6e34f15d4f7f0baba06ae0f4dee6aeaf14
Merge: 763c0a0 efb70d7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 2 21:45:42 2013 +0000

    Merge "Quiet the provider linking."

commit 763c0a071eeb922ae0b75ad60f750586403db4f2
Merge: 3674983 d889c0b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 2 21:42:28 2013 +0000

    Merge "Deep-copy not always possible."

commit 3674983e6a2f0ef84c0e93c64c60cd4c5c4db3f6
Merge: 9be6c5d 324ea45
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 2 21:27:54 2013 +0000

    Merge "Adjust a bunch of hacking violations."

commit 574d0da91fd322fdae071605e83821afa3fbc6cd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Jun 27 15:47:06 2013 -0700

    Add a new simple calculator example.
    
    Add a simple linear calculator example which will
    be given a few sets of tasks to do and some initial provided
    data and then combine the correct ordering of that tasks
    to produce an output result that then can be extracted.
    
    Change-Id: Ica84dff67ce0a6b7699cd98effebc85c7dbd4cb2

commit efb70d7b33bb513ac049fa75467e4cf7d80077ce
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Aug 2 10:44:40 2013 -0700

    Quiet the provider linking.
    
    The log output actually seems to be
    less useful when this is integrated into
    cinder than I thought it would be so lets
    turn it off.
    
    Change-Id: I2832f6bc9153153fcf6e76e65d8430ba536539e8

commit d889c0b607c3337b369d073a4ae8205109297c20
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Aug 2 00:05:08 2013 -0700

    Deep-copy not always possible.
    
    In working with cinder it appears that at last
    cinder is using objects which can not be deep
    copied (sqlalchemy objects) and which actually
    cause the deepcopy routine to fail. To get
    around this avoid the deepcopy until proven
    its really needed.
    
    Change-Id: Ia7b7c49e82c2151351cc0f78ecb1531c35540652

commit 9be6c5d18a91a13cf2ee96242ef03b40740cda66
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Aug 1 20:12:10 2013 -0700

    Add a example which simulates booting a vm
    
    Show how a booting a vm like workflow could be
    structured via an example and add some simple
    reverting methods which will attempt to undo
    the changes that they applied (automatically).
    
    This flow is similar to how nova runs in a way.
    
    Change-Id: Id068ef80d7702b9b5f9af3c2569b52de3c58d32d

commit 07854a236662de1a2b382d1b162d6f53b3c5241d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Aug 1 18:44:38 2013 -0700

    Add a more complicated graph example.
    
    Add an example that creates tasks that will
    build a car and has the dependencies specified
    to build the car in the right order and have each
    task be submitted to the flow and then run and
    watch the tasks occur in the right order automatically.
    
    Change-Id: I17a2f621dfd7ceefb0a9c863e3e68b21b92672c2

commit fb12fa1cc468a5717e00f5768f8a96e2d00bef20
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Aug 1 19:07:33 2013 -0700

    Move examples under the source tree.
    
    The examples will likely be easier to find
    if they are colocated next to the rest of
    the source tree. They can also be turned into
    test cases in the future this way also.
    
    Change-Id: Iedcf5c51778459e5216b8072e71e271e7c7ee0bf

commit 324ea453aee7ad6432e60360441fdc018d143d9c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jul 30 10:39:40 2013 -0700

    Adjust a bunch of hacking violations.
    
    - Fix new hacking violations!
    - Add more comments!
    
    Change-Id: Ida0c1b6c98a8f45a15985b33529a1f479e595db5

commit 112d8664f4dc4066e7a590d74942b8c40dc2f397
Author: Changbin Liu <changbl@research.att.com>
Date:   Tue Jul 30 22:34:49 2013 -0400

    Fix typos in test_linear_flow.py and simple_linear_listening.py
    
    Change-Id: I8704143682437097d148f076547e575fd85dc687

commit 9282d3a944f91dbfc1d66fcc62affa6b32f737bc
Author: Changbin Liu <changbl@research.att.com>
Date:   Mon Jul 29 18:57:59 2013 -0400

    Fix minor code style
    
    Change-Id: Ib051581cd820cbb478b95b1b4421adb2b577567d

commit 3e5d91584a69b2118bb2178b728be13fe230ab18
Author: Changbin Liu <changbl@research.att.com>
Date:   Mon Jul 29 15:05:28 2013 -0400

    Fix two minor bugs in docs/examples
    
    + taskflow path in sys.path
    
    + listener => notifier
    
    Change-Id: I0a657540571f9862e2adea5a40d03dfa3ce90e2b

commit 7b72e46e5101f81e5aba6cb90fba047ebb7eef14
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Jul 24 15:45:20 2013 -0700

    Show file modifications and fix dirpath based on config file.
    
    Change-Id: Iad230d4d565ad9eab3f54f490aff1c1d1b308ab7

commit 611dfa0fb34ae2d2de152c2de289296b91ea0470
Merge: 6750ed5 984ced5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 24 22:33:31 2013 +0000

    Merge "Add a way to use taskflow until library stabilized."

commit 6750ed5f2c476fde0ffdeb91a9e0d4c4bc9589c1
Merge: 1c99d9c 81d0884
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 24 05:53:44 2013 +0000

    Merge "Provide the length of the flows."

commit 984ced599bef0a7d0b4181a8dfcecec1efe12489
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jul 22 18:19:28 2013 -0700

    Add a way to use taskflow until library stabilized.
    
    In order to encourage taskflow adoption, take a hint
    from oslo-incubator and have a similar update.py script
    that will allow users of taskflow to selectively pick up
    flows and there dependencies for usage in there own projects.
    
    Example run:
    
    $ python2.6 update.py  --base cinder --dest-dir /tmp/cinder_test --primitives flow.linear_flow
    
    Copying module 'taskflow.decorators' -> 'cinder.taskflow.decorators'
      '/tmp/cinder_test/cinder/taskflow/' (new)
      '/tmp/cinder_test/cinder/taskflow/__init__.py' (new)
      'taskflow/decorators.py' -> '/tmp/cinder_test/cinder/taskflow/decorators.py'
    Copying module 'taskflow.exceptions' -> 'cinder.taskflow.exceptions'
      'taskflow/exceptions.py' -> '/tmp/cinder_test/cinder/taskflow/exceptions.py'
    Copying module 'taskflow.patterns.base' -> 'cinder.taskflow.patterns.base'
      '/tmp/cinder_test/cinder/taskflow/patterns/' (new)
      '/tmp/cinder_test/cinder/taskflow/patterns/__init__.py' (new)
      'taskflow/patterns/base.py' -> '/tmp/cinder_test/cinder/taskflow/patterns/base.py'
    Copying module 'taskflow.patterns.linear_flow' -> 'cinder.taskflow.patterns.linear_flow'
      'taskflow/patterns/linear_flow.py' -> '/tmp/cinder_test/cinder/taskflow/patterns/linear_flow.py'
    Copying module 'taskflow.states' -> 'cinder.taskflow.states'
      'taskflow/states.py' -> '/tmp/cinder_test/cinder/taskflow/states.py'
    Copying module 'taskflow.utils' -> 'cinder.taskflow.utils'
      'taskflow/utils.py' -> '/tmp/cinder_test/cinder/taskflow/utils.py'
    
    Change-Id: Ib4e6299bdae737e2759f22b1eff35c344bb8beb2

commit 81d0884d556928ff14054878112bfbb8229931e6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Jul 10 00:00:04 2013 -0700

    Provide the length of the flows.
    
    Its useful to be able to check if a flow contains
    anything by just inspecting the len() of the flow.
    This can be used to avoid running a flow in the
    first place if nothing is in said flow.
    
    Change-Id: Ibfea7f10fc67d5dd3ddfa6f6fe6c08805562998a

commit 1c99d9c32240cddb8b3b001f77d3de3e6c8fd9b6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jul 9 23:55:27 2013 -0700

    Parents should be frozen after creation.
    
    Use a tuple to ensure that the parents list
    can not be mutated after flow creation.
    
    Change-Id: Ic2a0ed73a2a7211184deb92d57720ff417429dca

commit 37edf7d4ff80640d766f93b2def264e7b4b6831f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jul 8 14:07:28 2013 -0700

    Allow graph dependencies to be manually provided.
    
    Instead of always automatically finding dependencies
    of tasks it would be nice to allow developers to manually
    provide them if they want to. Adjust how dependencies are
    located due to this alteration + a few test cases for it.
    
    Change-Id: I61027be7c458cd26b163ca58e703dc413735396c

commit 2c23861558ea72e8f5e70d356a255a6af281067a
Merge: 9ffcbd6 90182f6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 10 04:48:36 2013 +0000

    Merge "Use the runner interface as the best task lookup."

commit 9ffcbd676e67cdb8254395aa868aa1c26255b78b
Merge: 3e24dc3 b0beb07
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 10 04:48:35 2013 +0000

    Merge "Unify creation/usage of uuids."

commit 3e24dc3224e991cfeae144776aa6e5810c843a75
Merge: 61f3944 16c7b8a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 10 04:46:36 2013 +0000

    Merge "Move to using pbr."

commit 61f3944a4f9cd2fb00690b945a4aa7b4736cd2e7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jul 8 11:19:09 2013 -0700

    Add helper reset internals function.
    
    Use a little helper function to reset
    the internal state of the flow when needed
    instead of duplicating code that does this.
    
    Change-Id: I51d83538a2920c7d387ffd1756e8d99413f4077e

commit 16c7b8aa19e04a1833d568c8ffde92e2c8945370
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun Jul 7 21:22:34 2013 -0700

    Move to using pbr.
    
    The new way to build packages and perform setuptools
    interactions seems to be via the pbr library so to
    play well with others, use said library.
    
    Change-Id: I519503fdf59457dc554870b8e6ff61613ab30d11

commit b0beb0728154b76eaf132756876d5942e49fb1bd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Jul 6 20:55:46 2013 -0700

    Unify creation/usage of uuids.
    
    Instead of using the name it is likely better to
    give the flows a uuid and use that for tracking
    purposes rather than using the flow name (which
    maybe duplicated). Also unify the usage of the
    job tracking id -> uuid as well as adjust the
    visibility of said uuids (to be read-only).
    
    Change-Id: I592800bd9e08e3a7bde33ff250a454588324f052

commit 90182f6ae6b370acf276f14f08a85c30c3938164
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Jul 6 20:38:37 2013 -0700

    Use the runner interface as the best task lookup.
    
    Instead of having to examine tasks for requires
    or provides or optional properties/attributes, have
    the runner class do this instead and then have the
    flows which use the runner class just access the known
    to exist attributes directly.
    
    Change-Id: I2db4ce5296bdbd50e882f5940572a4c513e73d20

commit b89eefea1804ede071747f558bb11571090445b3
Merge: b04ba8a 1f7edf2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jul 6 22:35:21 2013 +0000

    Merge "Clear out before connecting."

commit b04ba8a43c392f36c4cf3b6d342e03822ab04971
Merge: ae9af35 c17a85d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jul 6 22:32:25 2013 +0000

    Merge "Ensure we document and complete correct removal."

commit c17a85dcee81ded5f3c6b0d0bd441f03eee2bede
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Jul 6 15:25:56 2013 -0700

    Ensure we document and complete correct removal.
    
    Change-Id: I156a7d53c3640f6be64532a5c6b74f71ed651d14

commit ae9af359783106a1db6a88638e8ce0d332bcb3d8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Jul 6 15:12:25 2013 -0700

    Pass runners instead of task objects/uuids.
    
    Runners contain tasks and provide the identifying
    characteristics for the tasks, pass these along to
    the underlying components instead of tasks.
    
    Change-Id: I795a52d3a218e508c38ea209d757750ae6a936ea

commit 06833fee4035b4797919f4f9a43c4b5ca270d1f8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jun 25 12:59:29 2013 -0700

    Move how resuming is done to be disconnected from jobs/flows.
    
    Instead of having resuming tied to a job allow a workflow to
    have a resumption strategy object that will split its initial
    work order into 2 segments. One that has finished previously
    and one that has not finished previously. Refactor the code that
    previously tied a single resumption strategy to the job class
    and move it to a more generic resumption module folder.
    
    Change-Id: I8709cd6cb7a9deecefe8d2927be517a00acb422d

commit 1f7edf2316fbd9cfccc26e0fb2f396c719bfba9f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Jul 6 12:27:35 2013 -0700

    Clear out before connecting.
    
    Since the node set may have been altered since the
    last connect we want to make sure clear out the
    edges and the providers of items before connecting.
    
    Change-Id: I73e6b3bc5d83a82d2b13dbb6b06c66e794d66e9c

commit d746a93171ccfb5507f8a71b3e71814fc89d2a7f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Jun 6 12:40:00 2013 -0700

    Make connection/validation of tasks be after they are added.
    
    Instead of having validation be immediate when tasks are added
    to the linear flow, follow the same paradigm as the graph_flow
    where only upon connection (or determination of the order) will
    tasks be connected/validated.
    
    Change-Id: Ia8275ec88b0229f0793819249ae59fad0a2e9935

commit 0cfb18e00b983e5e380c7d91f9fbe598737ac1ab
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jun 24 15:26:24 2013 -0700

    Add helper to do notification
    
    Instead of embedding the notification calls into the
    ordered flow object provide a better util helper class that
    can be used to accomplish the notification registration
    and activation.
    
    Change-Id: Ia4d21cb126e8ac12c227a5c0aca467d96daa3987

commit ade53f72295f82ccfc8a2ae218774022e17816af
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Jun 28 19:18:48 2013 -0700

    Store results by add() uuid instead of in array format.
    
    Instead of storing the results in the previous linear
    format, just store the results indexed by the uuid
    returned from the add() method instead. This allows
    for easier access to individual task result as well
    as makes it easier to support non-linear result
    insertation.
    
    Change-Id: Id7461cb74eb1a380b05cf23643e7120df5682224

commit e8e60e884f56f8fef49cf5131f407738e0503410
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Jun 28 17:20:57 2013 -0700

    Integrate better locking and a runner helper class.
    
    Ensure that when a linear flow or derivatives is running
    that it can not be modified by another thread at the same
    time it is running by putting a lock around sensitive functions.
    
    Also instead of using the raw task objects themselves
    integrate a helper 'runner' class that provides useful
    functionality that occurs before its tasks runs as well
    as member variables that are associated with the contained
    task.
    
    This helper class currently provides the following:
    
    - A uuid that can be returned to callers of the add
      method to identify there task (and later its results),
      allowing for multiple of the same tasks to be added.
    - Automatic extraction of the needed required and optional
      inputs for the contained task.
    
    Change-Id: Ib01939a4726155a629e4b4703656b9067868d8f3

commit 2d5f90fa24aff0a49f634683c12f31865c9a08a6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Jun 27 22:45:54 2013 -0700

    Cleaning up various components.
    
    1. In order to aid future features its useful to split
    split apart the linear_flow and have a good base
    class that is not connected to a ordered or linear flow.
    2. Have the graph flow inherit from the linear flow since
    it is performing a linear run using a topological ordering
    of the tasks.
    
    Change-Id: I287cd4a666caf09ca3a4cdf1d53814e9c6feb765

commit 2c333387baa94ac000b121948bcc0b349d1c5688
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Jun 27 22:34:42 2013 -0700

    Move some of the ordered flow helper classes to utils.
    
    Allow other flow types easier access to these helper
    classes by moving them to the shared utils file.
    
    Change-Id: I001754efc25b025e8070493d5861ffaedacafc7b

commit a3f8f4de8e8a20c0a062422cd7dbe19f9b0a1720
Merge: db04cd7 686ea90
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 27 19:46:04 2013 +0000

    Merge "Allow instance methods to be wrapped and unwrapped correctly."

commit 686ea905ed291d246c13d3727e6b38edd0a460b8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Jun 14 16:15:09 2013 -0700

    Allow instance methods to be wrapped and unwrapped correctly.
    
    Change-Id: Ia29e0e8a54fa815dec88016a9444fe7cfad7b8ac

commit db04cd7e19751608bf9fdc10447233ef2e68eb05
Merge: 6c40c56 b421c2c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 27 18:10:37 2013 +0000

    Merge "Update readme to point to links."

commit 6c40c56c5bd25056a396683219b548c5af0dac0c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Jun 26 23:23:38 2013 -0700

    Add a start of a few simple examples.
    
    Change-Id: I6abd1798de6f2a778f874b8fa928772b94e7b588

commit b421c2c63407d7f9d8b07f42b6611562fd0210d3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu Jun 27 11:00:05 2013 -0700

    Update readme to point to links.
    
    Change-Id: I1700d9602519975729e1909dc9be29efa4d2fa32

commit a7482eaa1857105e2c845a5d31e5f2b2e7b733ae
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Jun 25 22:48:23 2013 +1000

    Fix most of the hacking rules
    
    Hacking rules: H302, H303, H304, H401, H404
    
    Change-Id: I38e62696724a99c5ebe74d95d477999bd91a2c9a

commit 6b17ba8ab7a20ff36026dfe90ddc0d9a80f341e0
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Jun 25 16:38:30 2013 +1000

    Fix all flake8 E* and F* errors
    
    This was mostly unused modules or local variables.
    
    Change-Id: I39f9598ba8b64101a10f80bae448d27272abeddd

commit 339e43d03b049e5de59addab0e9cbb5f8366af30
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Wed Jun 26 11:03:23 2013 +1000

    Fix the current flake8 errors
    
    The test pip ordering was resulting in the pep8 rules not really
    running so this fixes that up and the resulting errors so we can
    get a clean run.
    
    Change-Id: Icc27be05cd513c4f04135c7e768007dbf9d07b10

commit 9bb29b224a4dab902edb8334417fb9fec0f02ce1
Merge: 97722f4 17c5e6e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 24 22:39:02 2013 +0000

    Merge "Add the task to the accumulator before running."

commit 97722f4f81c9c800e508adf1be3c7c3efbc397a4
Merge: 6ddf738 f56086d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 24 21:43:29 2013 +0000

    Merge "Don't keep the state/version in the task name."

commit f56086d06763d5c8430b602adbb2001a28914261
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat Jun 8 10:55:37 2013 -0700

    Don't keep the state/version in the task name.
    
    Instead of having individual entries for the task
    that change with the state name + version, we should
    instead just keep the same task name but update the metadata
    about the states the task has gone through instead. Also
    store the task version in the same metadata and warn users
    when the versions may be incompat.
    
    This makes it easier to see what a task has done
    without having to know all the states it has gone
    through (just to find the task details about that
    task) as well as being able to detect version issues.
    
    Change-Id: Ia6b9400394212230905341d205d966dfdee5dfdf

commit 6ddf738bbbb703da544940812f89ed4a12295aa6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jun 18 12:44:27 2013 -0700

    Dinky change to trigger jenkins so I can cleanup.
    
    Change-Id: I5ff975bb5ded48a84341efa4ebfdae4bf430ab60

commit 17c5e6e7345ea3a195150a49d014bad4dc2cadc2
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri Jun 7 17:25:45 2013 -0700

    Add the task to the accumulator before running.
    
    Instead of only adding the task to the rollback
    accumulator after it has ran it is useful to add
    it to the accumulator before it runs so that if
    said task fails while running it can get a chance
    at undoing anything it might have done.
    
    Change-Id: I5c9cf2fd194e3b42639d84a0d9dfed3a3b5a797d

commit b94b4f04123c28daa48f8c1ddbe70da65f977e66
Merge: adc37bd 14a3d59
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 7 23:46:49 2013 +0000

    Merge "Add the ability to soft_reset a workflow."

commit adc37bd3d057b8e913415218c795c579db06ab3b
Merge: 711c19c 90960f2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 6 19:32:32 2013 +0000

    Merge "Add .settings and .venv into .gitignore"

commit 90960f27b2dcdae0481a648deda08dbce824d9a5
Author: Changbin Liu <changbl@research.att.com>
Date:   Wed Jun 5 22:35:32 2013 -0400

    Add .settings and .venv into .gitignore
    
    Change-Id: I02255b9cea996dc88df607a34ee5f0b1f38a33cb

commit 711c19c84bc08878e3428ebc0cd457ba554f79ac
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Jun 5 12:18:56 2013 -0700

    Fix tests for python 2.6
    
    Since python 2.6 is supported in openstack we need to
    alter the format messages and the usage of functions
    that exist in the 2.7 unittest by including unittest2
    and using that instead.
    
    Change-Id: I31c78d1f771603a6ad15ada50507cada0c5e331b

commit 14a3d594c5febc29665502c7d412eb4ab76b182e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed Jun 5 12:06:00 2013 -0700

    Add the ability to soft_reset a workflow.
    
    In cases where it is not desired to reset the whole state
    of the workflow, but only to soft_reset it so that it can
    be easily resumed from a interrupted state (for example).
    This change allows for that to happen, which involves also
    keeping track of the last task that ran so when resumed via
    soft_reset that task can be the one started off from (instead
    of starting from the start of all tasks).
    
    Change-Id: I034bd6af6445e3da52356328605368319c4ff6f9

commit 16a5e1c27f5b3c4fc84ea0b06af67878fea6553f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue Jun 4 10:18:07 2013 -0700

    Add a .gitreview file so that git-review works.
    
    Change-Id: Id0f112372ea89b6e9b9731d55b49817f59a6bc73

commit 814a187004839b758b62d217e725fc7e24b072e8
Merge: fd62744 5e0e49e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jun 3 21:21:44 2013 -0700

    Merge pull request #30 from harlowja/ensure-excp
    
    Ensure we have an exception and capture the exc_info.

commit 5e0e49eefbe0a477c66edd3fef610c90bdf27d3a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jun 3 21:19:44 2013 -0700

    Ensure we have an exception and capture the exc_info.

commit fd627447da79e3b833588594c8b7681771a890ae
Merge: 520f7ac 35c75ec
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jun 3 20:37:49 2013 -0700

    Merge pull request #29 from harlowja/optional-reqs
    
    Allow for optional task requirements.

commit 35c75ecc44542ddec18eee2b0acfd79530a570d4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jun 3 20:02:59 2013 -0700

    Update how graph results are fetched when they are optional.

commit fdc840b5b75d67c27f641373c5c1960570bbe880
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon Jun 3 17:46:00 2013 -0700

    Allow for optional task requirements.

commit 520f7ace49a2ec766993549126c5f09c9ab967c6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 31 22:53:31 2013 -0700

    We were not notifying when errors occured so fix that.
    
    Previously we seemed to have forgotten to notify the listener
    when a task errored and allowed said listeners to get the reason
    why the task failed so fix that and allow for the exception to
    be returned back on result fetching and rethrown.

commit a194c8ea52f36e4976ad11b279a63d02fae9f20f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 31 11:23:39 2013 -0700

    Bring over the nova get_wrapped_function helper and use it.
    
    When searching for args, if the function does not have a '__wrapped__'
    attribute, then try to use a more aggressive way of finding the underlying
    function that nova provides. Likely this should move to oslo so we don't
    have to copy it.

commit 846fd590def84ec4a24eda2719f4c5f831faf312
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 30 11:27:50 2013 -0700

    Allow for passing in the metadata when creating a task detail entry.

commit adf1cc25ccfaede5880ebd34049bfa8474d18f74
Merge: c990237 189fcbc
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 30 11:15:26 2013 -0700

    Merge pull request #28 from harlowja/no-functor-task
    
    Continue work on decorator usage.

commit 189fcbce82bdc2e5789d41d376e4d777216faeeb
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 30 10:47:19 2013 -0700

    Update how the version task functor attribute is found

commit c990237014f708832679e7028fbeb17af54d191a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 30 10:29:49 2013 -0700

    Remove more tabs incidents.

commit ec3a0adeb4179b6dc20dbc6168c3bf2539754b1d
Merge: b5901de 47e0fd0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 30 10:27:09 2013 -0700

    Merge pull request #27 from kchenweijie/master
    
    Fixed pep8 formatting... Finally

commit 47e0fd009d8a16ab6dea047d5ed8da5fbb46d414
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Thu May 30 11:41:32 2013 -0500

    Removed test noise and formatted for pep8

commit 6254d7464fd1091dcaa97427acea44b47f947478
Merge: b5901de 5fdf514
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Thu May 30 11:32:21 2013 -0500

    Merge branch 'master' of https://github.com/kchenweijie/TaskFlow

commit bc4859c6348d2a622203a0634c9793f88958b04b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 29 21:15:44 2013 -0700

    Continue work on decorator usage.
    
    Remove the need for wrappers.py now that there is an advanced
    decorator provided that can provide all the same features as
    the functor wrapper task class. This new decorator is now used
    in the tests instead of the previous usage of the functor task
    class.

commit b5901de704f2cc21e0367c5e7be341ac86091549
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 29 15:16:40 2013 -0700

    Ensure we pickup the packages.

commit 5fdf5149b315dad9577d44d98842369b67c8adc5
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Wed May 29 14:55:34 2013 -0500

    Fixed pep8 formatting... Finally.

commit 75cd2ce5cb19b817b99ce230e0e15839a8059703
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 29 11:28:01 2013 -0700

    Add flow disassociation and adjust the assocate path

commit b2ad872065579fbb84e16f8adcaec2702423697c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 29 11:16:03 2013 -0700

    Add a setup.cfg and populate it with a default set of nosetests options.

commit fab1aa7526c7fc533ec0a886139508adebf7d79f
Merge: 08783aa ee550ba
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 29 11:05:54 2013 -0700

    Merge pull request #24 from harlowja/task-naming-versions
    
    Task naming versions

commit 08783aa37c894237cc50ec00295b91bf6b4b92ad
Merge: 77e9980 2e8b2a5
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 23:03:08 2013 -0700

    Merge pull request #23 from harlowja/tests-quiet
    
    Reduce test noise.

commit ee550bab5ab6e8930d7518aa094b33fb234ac25d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 22:46:22 2013 -0700

    Fix spacing

commit a78a4338b54bd94df5052239acce49e53204634f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 22:40:48 2013 -0700

    Add a better task name algorithm.
    
    This one will incorporate the task name and task version
    if the task is backed by the expected task class or if
    it is not then we will attempt to examine object for a
    few attributes and use those instead.

commit 9fc370815000b46a8a569465ae5de0ea8376d710
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 22:40:31 2013 -0700

    Add a major/minor version.

commit 60e6953b9440aa6d3a3c98a6c00947cc6c7a395f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 22:40:06 2013 -0700

    Add a get many attr/s and join helper functions.

commit 2e8b2a59e7c319e80c0425bfa0e95c36fd3c9aac
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 17:53:54 2013 -0700

    Reduce test noise.
    
    Instead of printing you can just run nosetests with something
    like the following to get the notification of when tests run.
    
    `nosetests -s  --nologcapture -vv`

commit 77e998032e7dd4e866a622e15502e5816267ad94
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 17:44:57 2013 -0700

    Fix a few unit tests due to changes.

commit f528d4bd8152aff6e27c646e08cde00dd7847a39
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 17:39:20 2013 -0700

    Ensure we handle functor names and resetting correctly.

commit e51a26395578d80c0bc3abb877ae963337cd1e9c
Merge: e7eba4f 238d3e2
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 15:10:28 2013 -0700

    Merge pull request #21 from harlowja/use-call
    
    Instead of apply() use __call__()

commit 238d3e2231647c45e56564c99eb1d3cd3a6894e8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 15:10:08 2013 -0700

    Remove safe_attr

commit e7eba4fc07cb6a490d6c1522b18527f8f127f055
Merge: de1af74 8cff9ee
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 28 14:34:06 2013 -0700

    Merge pull request #22 from kchenweijie/master
    
    SQL DB API Unit Tests and Revisions

commit 8cff9ee86b207af828b1dda520c1ab805ce87f6f
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Tue May 28 16:23:32 2013 -0500

    Modifying db tests

commit f19623b426d588db4f3d106ed685b704a9fc5c18
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Tue May 28 16:14:52 2013 -0500

    Removing .pyc

commit 855a3bbab30426aff8e85ef780413452b1eed0c9
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Tue May 28 16:13:39 2013 -0500

    Fixing .py in .gitignore

commit 4a6c0eaeb0ff01a07a2ae3ec9ea78657b0489b14
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Tue May 28 16:11:46 2013 -0500

    Update db api test

commit 29fe032a1c4b0c15cdba4c4a3626e213ef7b9e54
Author: Kevin Chen <kevin.chen@rackspace.com>
Date:   Tue May 28 15:45:11 2013 -0500

    DB api test cases and revisions

commit 1910db8623434609a2b1f32020dedce919819074
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 28 11:18:15 2013 -0700

    Allow for turning off auto-extract and add a test.

commit 58b0d6d17b6e8e71fd7a990fd2207ac9b9e76122
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 27 19:58:01 2013 -0700

    Use a function to filter args and add comments.

commit 740d4141bd10120f386cb85ed372b9178fa8916c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 27 17:24:13 2013 -0700

    Use update instead of overwrite.

commit 99d4a03b5a45d81de41e8ae4e11d60269a5d88db
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 27 17:23:27 2013 -0700

    Move decorators to new file and update to use better wraps()

commit af52fd62b18172716f7879d2705e5a1e70ae74fe
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun May 26 20:33:11 2013 -0700

    Continue work with decorator usage.

commit 995b70f00bcf143c48fc7b8fc0bb142c62ddadfd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun May 26 17:57:34 2013 -0700

    Update with adding a provides and requires decorator for standalone function usage.

commit f60ee1db6bdd743c2257bd0a36bc4f4ace3ad595
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun May 26 12:10:04 2013 -0700

    Instead of apply use __call__
    
    Instead of requiring a apply() function just use the
    built-in one provided by objects or functions implementing
    __call__. Also change how requires/provides may not be found
    if functors are just passed in (since functors implement
    __call__).

commit de1af74125d8b264679b6736f10eb168217786f0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sat May 25 15:30:15 2013 -0600

    Add comment to why we accumulate before notifying task listeners.

commit 96125ed405702809cc9a5032fd84c8b914bc1ab6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 24 17:41:22 2013 -0700

    Use a default sqlite backing using a taskflow file.

commit 2e18b548bb13a274e94f4d3e36a631f9aa3e79a4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 24 17:40:37 2013 -0700

    Add a basic rollback accumlator test.

commit dd9d5c157e0811c4f8e7ee1aa76ed45989df0c52
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 23 16:44:31 2013 -0700

    Use rollback accumulator and remove requires()/provides() from being functions
    
    Use a new rollback accumulator to collect which tasks need to be rolled back
    and use that in the ordered workflow code. Move the usage of provides/requires
    as functions and just let them be attributes of the flow objects.

commit b4f592c5248fd8eda03a5183085ca634abde8b4f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 21:06:37 2013 -0700

    Allow (or disallow) multiple providers of items.
    
    Incases where a item is produced by 2+ tasks we should allow
    the task that depends on that item to get the 2+ items produced
    as a list of items. We can also disallow this type of production
    via a new boolean option.

commit da68d64b91bb97e0a6025fe7eed650f8608d9f03
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:47:56 2013 -0700

    Clean the lines in a seperate function.

commit 41f1940e49d06c33a2b6d11e8404755ccae7587e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:36:35 2013 -0700

    Resync with oslo-incubator.

commit aa29ab484e85b03bd9dbc962bf4c77dbfe05f059
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:20:02 2013 -0700

    Remove uuid since we are now using uuidutils.

commit a20df73c87d7b5b5fee8a90acfb82d2a242b6a62
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:19:45 2013 -0700

    Remove error code not found in strict version of pylint.

commit 5218b676fc5937f30a198ae8983582399a12b201
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:17:13 2013 -0700

    Include more dev testing packages + matching versions.

commit 61158ebdc3f4f1d676435369e9972d38cdb82f16
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:12:37 2013 -0700

    Update dependencies for new db/distributed backends

commit 16e18e876e6734445c839872aa17e6434cac1444
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:08:24 2013 -0700

    Move some of the functions to use there openstack/common counterparts.

commit 7908a8163293697b785096d28e77cae0df840608
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:04:08 2013 -0700

    More import fixups.

commit ad23ee6fb15f17e905e78b2a284665851c8773ef
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:03:33 2013 -0700

    Patch up the imports.

commit 4aabe763cace9a310f0ec94650d1e4ca5e8e4452
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 18:01:04 2013 -0700

    Fix syntax error.

commit db20fad9e3571d159f3edce971c1f57070568908
Merge: f06d4f3 343f565
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 17:42:59 2013 -0700

    Merge pull request #20 from jessicalucci/sql
    
    DB API / SQL Backend / Util files / Configs / Basic Celery

commit f06d4f3806afb70e31da84a4861c0519e3e88760
Merge: d23a13a c52ea9b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 17:42:30 2013 -0700

    Merge pull request #19 from harlowja/cleanups-lint
    
    Pylint + job run() + linear check.

commit c52ea9b15bb7c8ad74b2265eeab45e9a2f357e46
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 16:22:07 2013 -0700

    Rename cause -> exception and make exception optional.

commit afea4f0732e68f5cbb38f5a8ac194698aec8e520
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 14:51:03 2013 -0700

    Allow any of the previous tasks to satisfy requirements.
    
    Instead of just checking the previous task, allow any of the
    previous tasks to provide the requirement for a new task.

commit d4f74720cb57c06e7c4b291f1c25fb79997ff98e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 14:25:11 2013 -0700

    Ensure we change the self and parents states correctly.
    
    Change the state of the current flow in the rollback method
    itself so that if we have parent workflows they also get there
    states changed.

commit 2962ecb9ab78a0bdae8e3625f2628fd973673103
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 14:23:52 2013 -0700

    Always have a name provided.

commit 343f565f88e350b9f9e7a25ffab5885b3bcea263
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Wed May 22 15:40:00 2013 -0500

    Cleaning up files/extraneous files/fixing relations

commit 6793bec49274b3ece18273066e369a423e372255
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 12:31:29 2013 -0700

    More pylint cleanups

commit 11c7c92e01950ebd47cf46fc6c881d0848607577
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 12:27:03 2013 -0700

    Make more tests for linear and shuffle test utils to common file.

commit 3aaa2d3a98f0f62809e3c23187a50abb73375748
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 22 12:26:43 2013 -0700

    Only do differences on set objects.

commit 53c69b627156f1c4dcf9f8786a3ca0e221de3cb9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 23:28:45 2013 -0700

    Ensure we fetch the appropriate inputs for the running task.

commit 45701e8fe30974d9268385ff26a9a50a6c39505e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 22:49:53 2013 -0700

    Have the linear workflow verify the tasks inputs.
    
    When a task is added ensure that the previous task, if
    it exists creates the neccasary outputs for the task to
    be added. If it does not then throw an exception.

commit e4149ab91db4395baccbf5b0de3459749400d3c4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 22:49:03 2013 -0700

    Specify that task provides/requires must be an immutable set.

commit ad3b8631504dab81b778b946f60ba7394f30237f
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 23:41:05 2013 -0500

    Clean Up for DB changes

commit e5aa8769aca1f75ca2f332d4432261ed8cfd9349
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 23:23:33 2013 -0500

    db api defined

commit f47bae8692a3bbfa0318ef13071896fc4d5d9fb4
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 23:09:40 2013 -0500

    Fleshing out sqlalchemy api

commit 941a48d58b5d6739e22de8041970d6fdef2dfe62
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 22:52:59 2013 -0500

    Almost done with sqlalchemy api

commit 422b5a8497b7dd5490d04bf256a28372804f4c4c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:47:18 2013 -0700

    Fix state check

commit 90a92c32af9bfeb9be161f53136dcdac64be1efc
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:46:51 2013 -0700

    Fix flow exception wording

commit 033e55fd12909938953517e82d904487905c1fc5
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:45:13 2013 -0700

    Ensure job is pending before we associate and run.

commit 288d6a0d0d36fd08734f73268ccad20a16403157
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:40:40 2013 -0700

    More pylint cleanups

commit 36d5c1a150c46d6ee92d9dc255a34ae66ff1db4c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:35:48 2013 -0700

    Ensure we associate with parent flows as well.

commit d23a13ae673ad7bb4daf45421c451d960387c420
Merge: 790e508 daf341a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:19:19 2013 -0700

    Merge pull request #18 from harlowja/graph-tests
    
    Additional fixups and graph tests

commit a3c6040384cb0f0eb8edf1cdbd38961021651ba3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 18:17:34 2013 -0700

    Add a nice run() method to the job class that will run a flow.
    
    Add a run method that does the association of the flow with the
    job and ensure that said association does not happen more than
    once (aka the listeners are not duplicated).

commit 406d72a23e24fcdc81cdffdb08bb28650546cb86
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 16:53:12 2013 -0700

    Massive pylint cleanup

commit 229855aa1a7330e47e090722d011f4e20c31c766
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 16:37:15 2013 -0500

    deleting .swp files

commit 96c152e2af8c580b86166e09676874897275c2ee
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 16:36:54 2013 -0500

    deleting .swp files

commit 2d8fbceae9e929d822265c2a9aaa2662d7cbf6b3
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 16:34:49 2013 -0500

    cleaning for initial pull request

commit b5401c0ef8bfc23921b8154209cb0ffded84a549
Merge: ad12cf7 790e508
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 16:25:04 2013 -0500

    Merge branch 'master' of github.com:yahoo/TaskFlow into sql

commit daf341ad819987f9d7ec3e198793274688597dd7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 13:51:13 2013 -0700

    Add a few more graph ordering test cases.

commit b08c5f3876acb2b3ef93274900d2ab7fe33bf23a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 13:50:56 2013 -0700

    Update automatic naming and arg checks.

commit 6296a96e801039b745056a92fabfd9929a619c88
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 13:49:53 2013 -0700

    Update order calls and connect call.

commit af5932ddf1b8be5611755ff15684999f0e4fcdd4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 21 13:48:26 2013 -0700

    Move flow failure to flow file and correctly catch ordering failure.

commit ad12cf70d4c5c25dc530404fb92c51bbcbac39fe
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 15:32:10 2013 -0500

    Just kidding - really fixing relations this time

commit 549c5a390989a45925b247d5ad2c7d647030e697
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Tue May 21 15:28:17 2013 -0500

    Fixing table relations

commit 790e508f69bf698b72f26a755b754640052cff6b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 20:23:10 2013 -0700

    Allow job id to be passed in.

commit de91397e10568a81f7f44eb6aebf1f9bc8984c36
Merge: a016505 a8b83e1
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 20:00:48 2013 -0700

    Merge pull request #17 from harlowja/small-cleanups
    
    Small cleanups

commit a016505d727bec9876ba13d195e39f11b458c12d
Merge: 7defe6c e543bc3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 19:59:37 2013 -0700

    Merge pull request #16 from harlowja/graph
    
    Graph flow tests and updates.

commit a8b83e1e2ccfa5492e8c7736395a980d1a7e1f44
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 19:58:48 2013 -0700

    Check who is being connected to and ensure > 0 connectors.
    
    Ensure that we connect from some input to some node that provides
    said input (not itself).

commit a827775564f7a31b295ba267c6420b7312571d75
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 15:40:01 2013 -0700

    Move the await function to utils.
    
    Make the function more generic and place it in utils
    and then use it in the job await function.

commit e543bc3ea75f809bf48cd549c716ff80f86db2bd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 15:03:41 2013 -0700

    Graph tests and adjustments releated to.

commit a8d2826519494cb1c41d86e2fb43d6e8baf53a6d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 14:59:31 2013 -0700

    Add graph flow tests.

commit bbb9f732c6aace84f17c945f5616aa03431b5915
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 14:59:15 2013 -0700

    Fix name changes missed.

commit 486ceb4be97be0f3d93a8e8d81a1758af94ef128
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 14:56:07 2013 -0700

    Enable extraction of what a functor requires from its args.

commit eff8d58e3da4cbda5b14d07a89a11bbf9baf2792
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 14:55:32 2013 -0700

    Called flow now, not workflow.

commit 0abc7f8811746ea5493a8c3a1e2fe689fefa039b
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Mon May 20 15:08:46 2013 -0500

    Second pass at models

commit 3c706d1ec6a3b18c36a6d75c3e31584c1f766734
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 11:12:10 2013 -0700

    More tests

commit 7defe6cc7d3a27a73cfe4fec4e6cfdc42d55952f
Merge: b247bc6 7fa37fd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 11:46:17 2013 -0700

    Merge pull request #15 from harlowja/flows
    
    More pythonic functions and workflow -> flow renaming.

commit 7fa37fd3c7d7a54bfecc8afe2716f1a9b35f9873
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 11:40:49 2013 -0700

    Simplify existence checks

commit 93b12023e24da0eb0b9bafef0613ebfae558736a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 20 11:39:02 2013 -0700

    More pythonic functions and workflow -> flow renaming.

commit 16b3cefc66e08966257cc8413af57ec5275e53bd
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Mon May 20 11:56:26 2013 -0500

    Added more utils, added model for workflow

commit b14d0ba100e2f7cca4ba7e3dfa071f8fa64a9dc7
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Mon May 20 09:51:02 2013 -0500

    Spelling errors and stuff

commit 8956c75510fc94bdd776e4433c90a20e4a3b83a3
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Sun May 19 19:01:51 2013 -0500

    adding parentheses to read method

commit 1ac0150ac592a313755a18d99a6a18bfe86e379c
Merge: 3a481bb b247bc6
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Sun May 19 18:57:56 2013 -0500

    Merge branch 'master' of github.com:yahoo/TaskFlow

commit 3a481bbf2ec89662016c2a0cabb396a4c083bf27
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Sun May 19 18:51:40 2013 -0500

    Implemented basic sqlalchemy session class

commit a2a014614e3421d26f5c7892aa1d5edef6a4dd62
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Fri May 17 15:54:37 2013 -0500

    Setting up Configs and SQLAlchemy/DB backend

commit b247bc6031c0e679d93a836d372981c5e5bc1cd0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 13:32:59 2013 -0700

    Fix the import.

commit be0ca7b605821910dc696f681b9a22769780735a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 13:25:18 2013 -0700

    Use a different logger method if tolerant vs not tolerant.

commit 9447887ccf602e6028ea20b706be5069a4d6b28e
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 13:24:27 2013 -0700

    More function comments.

commit 7c84a835f7edeac7c7cdcbaad7bb9431b279fd3b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 12:53:02 2013 -0700

    Add a bunch of linear workflow tests.

commit c4c03f8ca33307c43e307fb1ecc2ac1ca1c3de6d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 12:07:44 2013 -0700

    Allow resuming stage to be interrupted.

commit 3bc9183ee915ccf22e51350c6b839a6492555466
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 12:05:19 2013 -0700

    Fix the missing context variable.

commit 32f7523a998044176e89601d11b11ebe94184e80
Merge: 2c74aef d7234ed
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 11:52:52 2013 -0700

    Merge pull request #14 from harlowja/reconcile-patterns
    
    Add the ability to alter the task failure reconcilation.

commit dfe1e1b2b7bc4660ee5f09c61043a3eeaae6f42e
Author: Jessica Lucci <jessica.lucci@rackspace.com>
Date:   Fri May 17 10:55:05 2013 -0500

    Moving over celery/distributed workflows

commit 2c74aef837a0eaa1ea25879cc222965621a82aef
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 01:22:31 2013 -0600

    Update description wording.

commit ce6ae602c30aabebb0bff3d690a3d4a655cc27a2
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 01:07:19 2013 -0600

    Pep fix.

commit fe221e46a3a3eb945ccfde0c0fdc3c536c9c862f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 01:04:11 2013 -0600

    Instead of using notify member functions, just use functors.

commit b19e116b9174feaa191fdf06ca8ca98b4bb82817
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 00:58:44 2013 -0600

    More wording fixes.

commit d7234ed5d753bd8c9fe0ce1e6dbb3b7374790326
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 23:46:18 2013 -0700

    Add the ability to alter the task failure reconcilation.

commit c107c9558417991fe6fb5e923b3c7fd841e800a3
Merge: a4f79aa 208108f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 23:24:27 2013 -0700

    Merge pull request #13 from harlowja/fixed-resume
    
    Correctly run the tasks after partial resumption.

commit 208108fc62c1a505ea2388d8dde06b12547600ba
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 23:20:34 2013 -0700

    Correctly run the tasks after partial resumption.

commit a4f79aa341aebbd710ee76437590da7a0f3da83c
Merge: 4c4c680 bba0eed
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 23:22:09 2013 -0700

    Merge pull request #12 from harlowja/code-movement
    
    Code movement

commit 4c4c6809aae5e9bb41e4a324b59283ac264f26d6
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 00:05:33 2013 -0600

    Another wording fix.

commit 3cfa52e0a3aed4e0eedba71d959ab2e50781c637
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 17 00:04:56 2013 -0600

    Spelling fix.

commit bba0eedbb9b4f4c302466bf9831719b94357de42
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 16:42:24 2013 -0700

    Allow the functor task to take a name and provide it a default.

commit 5d079d5c0ddf306918831f4a9bfdf15b14ef5a37
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 16:34:26 2013 -0700

    Updated functor task comments

commit 998ce0ebc847367ea6d10203bcd500157a730304
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 16:25:55 2013 -0700

    Move some of the useful helpers and functions to other files.
    
    To allow others to use said nice classes and functions we should
    move them out of testing for general usage by others.

commit 66ed20eddff1b52d071f1aa6f7843a41c76c0d0f
Merge: d44c3a0 941cf34
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 16:24:32 2013 -0700

    Merge pull request #11 from harlowja/new-hotness
    
    New hotness

commit 351ffd0dd57b3eeca11d6ae63a816752dbdfa5f7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 16:24:14 2013 -0700

    Add the ability to associate a workflow with a job.
    
    Connect a workflow to a job and associate all the needed
    plumbing to allow the workflows states to be resumed and
    tracked correctly using said jobs logbook.

commit 9c1c601d8d0039d484e819aa1e8d58ff400cc338
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 16:23:36 2013 -0700

    Move the useful functor wrapping task from test to wrappers file.
    
    This allows other people to use it :-)

commit 941cf3433c1e24f9248930885915b70ca89efabd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:34:16 2013 -0700

    Add a thread posting/claiming example and rework tests to use it.

commit 77bfeea117fb76a3d2b71a99c20910fac95bcb6b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:33:52 2013 -0700

    After adding reposting/unclaiming reflect those changes here.

commit 1050f60cc27ae92c3d568ae4917a9e24ca3a7020
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:33:28 2013 -0700

    Add a nicer string name that shows what the class name is.

commit 89f00d013d049d1f65369e9f80fdfb85f059a2b9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:33:02 2013 -0700

    Adjust some of the states jobs and workflows could be in.

commit fecba5b596180b403cefd5a8072079fcce6012d3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:32:44 2013 -0700

    Add a more useful name that shows this is a task.

commit cce98b0a5c3e42ba329823667cb8feb42b8fe449
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:32:35 2013 -0700

    Remove impl of erasing which doesn't do much and allow for job reposting.

commit a401b8abe75ba9c0f3d690cb372fe6f2924aed0c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 12:21:28 2013 -0700

    Various reworkings.
    
    Add a function to release/unclaim a job on the claimer object and
    expose that functionality in the job object. Add an await() method
    on the job which will do basic spinning (later functionality can
    do more advanced types of waiting). Add a useful str() function to
    the job so that it can be easily printed with some useful info about
    it.

commit d44c3a0e956f0ab154520c8d8a33d4eff3c321d6
Merge: 9d7b19c 05af861
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 16 11:54:47 2013 -0700

    Merge pull request #10 from harlowja/book-names
    
    Rename logbook contents.

commit 05af861b8262a528d3a868bce753a48870d19181
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 21:33:45 2013 -0700

    Rename logbook contents.
    
    Chapter -> workflow details.
    Page -> task details.

commit 9d7b19c40818b1f109c662390eca38b03780d22a
Merge: 9d6d632 a606032
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 19:10:24 2013 -0700

    Merge pull request #9 from harlowja/memory-test
    
    Get a memory test example working

commit a6060326557d1e12b0b6b4a7be73ab1a8c44aac3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 17:59:26 2013 -0700

    Get a memory test example working

commit 9d6d6325e75360cf835a0a5de0ae47164e13997b
Merge: a4a042b e19f67c
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 17:58:09 2013 -0700

    Merge pull request #8 from harlowja/pylintrc
    
    Add a pylintrc file to be used with pylint.

commit a4a042b6cf830aa5e76ae21201d74b02f6d6ecb9
Merge: 946397d 04571b8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 17:56:56 2013 -0700

    Merge pull request #7 from harlowja/bookie
    
    Rework the logbook to be chapter/page based.

commit e19f67c41889e69e0becbaf2faf8ac91eb496355
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 17:55:58 2013 -0700

    Add a pylintrc file to be used with pylint.

commit 04571b81f69b5da0c472f1a12e9a2bcfb03a8680
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 13:56:44 2013 -0700

    Rework the logbook to be chapter/page based.

commit 946397d6443924245f5be7e069c05ccc376491df
Merge: a9948e7 b9becf9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 11:03:59 2013 -0700

    Merge pull request #6 from harlowja/master
    
    Add in a more generic graph/dag based task pattern.

commit b9becf9e1f5634c124522ad3a8a993dacbd670d3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 15 11:02:54 2013 -0700

    Move ordered workflow to its own file.

commit c53ef842a50df11779fce53c2f29e433017ba41d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 14 17:58:44 2013 -0700

    Increase the number of comments.

commit d8a62ee24ea023901db41ae85a72b518e1c9e302
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 14 15:44:41 2013 -0700

    Start adding in a more generic DAG based workflow.

commit b1ec08aa7204d47c48d1f766f7aec5eeb3fce3f9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 14 15:25:44 2013 -0700

    Remove dict_provider dependency.

commit a9948e7111f9a69a4dc5788bbbd6a7a21bd251bb
Merge: 1dcd281 31b91e7
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 14 15:24:47 2013 -0700

    Merge pull request #5 from harlowja/master
    
    Lots of newness.

commit 31b91e758e65b93ceb4a2685e245b8d97b18357f
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 14 15:24:12 2013 -0700

    Rework due to code comments.

commit 7999de8de7e2f0cecc317cb867a64f6e0157c0cb
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 20:20:15 2013 -0700

    Begin adding testing functionality
    
    Take the current run_tests.sh from glance and include
    that as well as fill in the rest of the pieces needed
    for those that use venv functionality. Start adding
    memory tests.

commit 9c928cc32e6cb0dfb2773fc08afe41ffdc162c2a
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:49:53 2013 -0700

    Fill in the majority of the memory job.
    
    Testing to commence shortly!!

commit c0cf3f8d47727086e7e5f53b39aa3fd8fed4e806
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:49:30 2013 -0700

    Rework how we should be using lists instead of ordereddicts for optimal usage.

commit 05078fdca2c2ad30ebb12234f5873470c20ade94
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:48:55 2013 -0700

    Add a context manager to the useful read/writer lock.

commit 61def66de3e5acdf1a7b29eff558ac06c8b9176b
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:48:35 2013 -0700

    Ensure that the task has a name.

commit dd1bcf71c6548f99e6bc133bf890c87440e13535
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:46:45 2013 -0700

    Add a running state which can be used to know when a workflow is running.

commit 94662f7c0095b5817831de9eaff86deecdc24a05
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:46:12 2013 -0700

    Rename the date created field.

commit 810827e2a2b4004bb8fa50f25ddf8c42c389fc0d
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:43:52 2013 -0700

    Add some search functionality and adjust the await() function params.

commit d3a69a4e20c60274fb5f7c297ed8ab344c6ba9e3
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:43:24 2013 -0700

    Remove and add a few new exceptions.

commit bd84e626b33a72275dd691dee3feae6044c70dcb
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:40:34 2013 -0700

    Shrink down the exposed methods.
    
    The catalog really only cares right now about getting or
    creating a logbook for a given job, lets keep the api simple
    to just do that until further notice.

commit 1dcd281d2eb485ef8da924be2cef83700e644b51
Merge: 5317465 153b5a4
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 18:40:17 2013 -0700

    Merge pull request #4 from harlowja/master
    
    Remove the promise object for now

commit 153b5a460fb6d33192305268e6097d73aa76b9cc
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Mon May 13 14:11:51 2013 -0700

    Remove the promise object for now

commit 5317465592292552d86ab02445d82badea1bc185
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun May 12 16:07:11 2013 -0600

    Add RESUMING.

commit 8f64ddc3bba4afb719166a49aa6f1101bddaced8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun May 12 16:06:11 2013 -0600

    Fix spelling.

commit c501e62c5b984c9503631d33cbf2281cd409f5a3
Merge: 950947b 394ca17
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Sun May 12 14:48:52 2013 -0700

    Merge pull request #3 from harlowja/cleaned
    
    Continue on getting ready for the memory impl. to be useful.

commit 394ca1798113db88a971bfae49ef2f06e00e7238
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Fri May 10 19:19:05 2013 -0700

    Continue on getting ready for the memory impl. to be useful.

commit 950947b0f4b3cc5d4714e9afcb8b10d065b5fb40
Merge: 3da3c7f a427195
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 9 16:58:39 2013 -0700

    Merge pull request #2 from harlowja/fixdict
    
    On python <= 2.6 we need to import ordereddict

commit 3da3c7f9ae5fdadce424ebf816f2d89005ae9ca8
Merge: fdb64d9 f4fa3f8
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Thu May 9 16:57:19 2013 -0700

    Merge pull request #1 from harlowja/master
    
    Pull in oslo and remove other nova references.

commit a4271954ed008889ddeb60608617440e57e5bdda
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 8 19:42:05 2013 -0700

    On python <= 2.6 we need to import ordereddict
    
    OrderedDict was new in python 2.7, in order to use its
    functionality in 2.6 we need to depend on the backport.

commit f4fa3f880655fa314c76d156830b84eb8301c9cd
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 8 19:35:10 2013 -0700

    Remove a few other references to nova

commit c83d4ab4e3d4bba6a591fd7eba11536b420b8753
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 8 19:32:50 2013 -0700

    Add in openstack common and remove patch references.
    
    Take some basic module from openstack oslo incubator and
    use them to replace functionality that was in nova when
    this patch was formed. Remove other references to make this
    more of a general library from the get-go.

commit fdb64d9014ec9c0ff5811699cdc47ca345bd8ed9
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Wed May 8 12:17:10 2013 -0700

    Move simplification over

commit 7e8d802da616780306c3409f82a8987d0ffda3a2
Merge: 6a4ba4f cb13218
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 7 14:49:11 2013 -0700

    Merge branch 'master' of github.com:yahoo/TaskFlow
    
    Conflicts:
    	README.md

commit 6a4ba4f45425ecbecc6b4b450c2177e19839f359
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 7 14:48:18 2013 -0700

    Continue moving here

commit cb13218b49a8f443864734a96530e76f7cef2353
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 7 10:59:35 2013 -0700

    Update README.md

commit 1afe6a059e07782541d1549c33da8a1f91e14d64
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 7 10:51:28 2013 -0700

    Update readme

commit c5fff210535097ba169c26b1dbebe18762f14446
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 7 10:49:44 2013 -0700

    Move the code over for now

commit d6e3d62f7eaa22f828a3bc31ad989695c914a8f0
Author: Joshua Harlow <harlowja@yahoo-inc.com>
Date:   Tue May 7 10:45:34 2013 -0700

    Initial commit