Go to file
Joshua Harlow 58a5a0932d Persistence cleanup part one
- Convert the various functions that take a task detail into
  ones that take atom details (since this is now the generic
  type they should take).
- Don't expose the detail type strings as part of the atom
  detail api, leave those as private hidden strings and provide
  conversion functions from string<->class instead.
- Have the logbook objects contain the following new methods
  to reduce the dependence on persistence_utils to do the same.
  - to_dict() which converts the current object into a dict
  - from_dict() which converts the provided dict into a object
  - merge() which merges a incoming objects data with the current
    objects
- Have the persistence backends + storage + action engine use these
  new methods instead of there current usage.
- Don't compare to logbook.RETRY_DETAIL or logbook.TASK_DETAIL since
  python has the isinstance function just use it (ideally we should
  fix the code so that this isn't even needed, usage of isinstance
  means something is not designed/structured right).
- In storage tests we can't assume that failures will be non-lossy
  since under certain backends when a failure is stored information
  about the internally held exc_info is lost, so take this into
  account when testing by using matches() where applicable.

Change-Id: Ie8a274cfd4cb4e64e87c355dc99d466d74a4e82c
2014-03-26 12:48:40 -07:00
2014-03-26 12:48:40 -07:00
2013-11-22 11:25:03 +04:00
2014-01-07 18:10:43 +00:00
2014-02-07 20:45:32 +00:00
2013-09-17 13:27:27 -07:00
2013-10-14 01:03:32 +00:00
2013-05-07 10:49:44 -07:00
2013-07-07 21:46:32 -07:00
2014-02-14 16:25:15 +04:00
2014-01-02 10:38:15 -08:00
2013-10-05 21:49:08 +00:00
2014-03-26 14:35:22 +04:00

TaskFlow

A library to do [jobs, tasks, flows] in a HA manner using different backends to be used with OpenStack projects.

Join us

Testing and requirements

Requirements

Because TaskFlow has many optional (pluggable) parts like persistence backends and engines, we decided to split our requirements into two parts:

  • things that are absolutely required by TaskFlow (you can't use TaskFlow without them) are put to requirements.txt;
  • things that are required by some optional part of TaskFlow (you can use TaskFlow without them) are put to optional-requirements.txt; if you want to use the feature in question, you should add that requirements to your project or environment;
  • as usual, things that required only for running tests are put to test-requirements.txt.

Tox.ini

Our tox.ini describes several test environments that allow to test TaskFlow with different python versions and sets of requirements installed.

To generate tox.ini, use the toxgen.py script by first installing toxgen and then provide that script as input the tox-tmpl.ini file to generate the final tox.ini file.

For example:

$ toxgen.py -i tox-tmpl.ini -o tox.ini

Documentation

http://wiki.openstack.org/wiki/TaskFlow

We also have sphinx documentation in docs/source. To build it, run:

$ python ./setup.py build_sphinx
Description
RETIRED, further work has moved to Debian project infrastructure
Readme 4.8 MiB