CHANGES
=======

1.0.0.0b3
---------

* Mistral terminology: cron-triggers and actions
* Add YAQL function 'task' to extract info about task in DSL
* Raising exception if there aren't start tasks in direct workflow
* Mistral docs terminology: executions
* The Link for plugin samples is added
* Mistral documentation: mistralclient
* Support action_execution deletion
* Use default devstack functional for Mistral user/service/endpoint creation
* Fix timing in expired execution unit test
* Fix execution update where state_info is unset
* Fix creation of Mistral service and endpoints
* Removes unused posix-ipc requirement
* Mistral documentation: architecture
* Mistral documentation: Quickstart
* Updated from global requirements
* Small adjustements and fixes for execution expiration policy
* Mistral docs terminology: workbooks and workflows
* Fixing occasional fail of test_create_action_execution
* Adding project_id to expiration-policy for executions ctx
* Fixing 2 typos in comments
* Mistral documentation: adding configuration guide
* Refactor task controller with new json type
* Refactor execution controller with new json type
* Refactor environment controller with new json type
* Refactor cron trigger controller with new json type
* Refactor action execution controller and tests
* Fixing working concurrency when value is YAQL
* Add fields filter for workflow query
* Mistral documentation: adding installation guide
* Fix failure in execution pagination functioinal tests
* Enabling direct workflow cycles: adding a parallel cycles test
* Switching to six module where it's not used yet
* Mistral documentation: dashboard installation guide
* Mistral documentation: main features
* Add resource params to reflect WSME 0.8 fixes
* Add schema for additional properties of BaseListSpec
* Enabling direct workflow cycles: adding another test
* Enabling direct workflow cycles: fixing evaluation of final context
* Add config example for rotating logs
* Add pagination support for executions query API
* Purge executions created during functional testing
* Moving to YAQL 1.0
* Fixing cron trigger test
* Update the gitingore file and tox.ini
* Enabling direct workflow cycles: fixing find_task_execution() function
* Enabling direct workflow cycles: adding a test that now doesn't pass
* Add pagination support for actions query API
* Add functional tests for workflow query
* Fixed lack of context for triggers
* Fixing working with-items and retry together
* Implementing with-items concurrency
* Add pagination support for workflows query API
* Update AUTHORS
* Raise user-friendly exception in case of connection failed
* Scheduler in HA

1.0.0.0b2
---------

* Fix postgresql unit tests running
* Add API for rerunning failed task execution
* Remove mistral.conf.sample
* Expiration policy for expired Executions
* Add Service API
* Add coordination feature to mistral service
* Mistral documentation: Overview article
* Mistral documentation: Initial commit
* Complete action on async action invocation failure
* Add processed field in task query response
* Add one more tox env for running unit tests with postgresql
* Add feature to rerun failed WF to the engine interface
* Enable workflow to be resumable from errors
* Fixing error result in run-action command
* Fixing std.http action
* Add coordination util for service management
* Support large datasets for execution objects
* Fixing execution state_info
* Fixing import error in sync_db.py
* Error result: fix std.http action
* Error result: doc explaining error result in base action class
* Error result: adding more tests
* Making / and /v2 URLs allowed without auth
* Error result: allow actions to return instance of wf_utils.Result
* Error result: adding a test for error result
* Remove explicit requirements.txt occurrence from tox.ini
* Remove H803, H305
* Fixing workflow behavior with non-existent task spec
* Make update behavior consistent
* Drop use of 'oslo' namespace package
* Add guidance for updaing openstack action mappings
* New mock release(1.1.0) broke unit/function tests
* Fixing get task list API
* Updating yaql version
* Fix cron triggers
* Fix mistralclient errors when reinstalling devstack
* use task.spec to result always a list for with-items remove redundant 'if' Change-Id: Id656685c45856e628ded2686d1f44dac8aa491de Closes-Bug: #1468419
* Modify run_tests.sh to support PostgreSQL
* Add Mistral service and endpoint registration to README.rst
* Fix inappropriate condition for retry policy
* Fix invalid workflow completion in case of "join"
* No input validation for action with kwargs argument
* Delete one more tag 1.0.0.0b1 in devstack script pushed by mistake

1.0.0.0b1
---------

* Removing redundant header from setup.py
* Simplifying a few data_flow methods
* Workflow variables: modifying engine so that variables work
* Workflow variables: adding "vars" property in to workflow specification
* Fixing devstack gate failure
* Bug fix with-items tasks should always have result of list type
* Set default log level of loopingcall module to 'INFO'
* Implementing action_execution POST API
* Implementing 'start_action' on engine side
* Fix wrong zuul_project name in mistral gate script
* Creating action_handler to separate action functionality
* Get rid of openstack/common package
* Improving devstack docs
* Drop use of 'oslo' namespace package
* Fix execution update description error
* Fix the inappropriate database initialization in README.rst
* Fix stackforge repo refs in devstack/lib/mistral
* Fix wrong db connection string in README.rst file
* Add description param to execution creation API
* Update .gitreview file for project rename
* Add description field to executions_v2 table
* Make use of graduated oslo.log module
* Implementing 'continue-on' retry policy property
* Adding some more constraints to cron trigger
* Adding 'continue-on' to retry policy spec
* Adding input validation to cron-trigger creation
* Fixing execution-update API
* Fixing sending the result of subworkflow
* Fix command line arguments has lower priority than config file
* Make mistral use of oslo-config-generator
* Fixing mistral resources path
* Fix devstack back to rabbit
* Fixing devstack-gate failure
* fix: Extra fields in the env definition are allowed
* Allow pause-before to override wait-before policy
* Adjust docs API to last changes
* Fixing YAQL related errors
* Skip test on heat action
* Removing incorrect 2015.* tags for client in devstack script
* Adding migrations README
* Fix dsvm gate failure
* Fixing YAQL len() function in Mistral
* Adding 'workflow_params' to cron triggers
* Allowing a single string value for "requires" clause
* Adding "requires" to "task-defaults" clause
* Updating requirements to master
* Updating mapping.json to master
* Fix bug with action class attributes
* Setting base version in setup.cfg for libery cycle
* Fix error when getting workflow with default input value
* Fix wrong log content
* Retry policy one line syntax
* Fixing yaql version
* Fix yaql error caused by the ply dependency
* Fixing action_executions API
* Adding script for retrieving OpenStack action list
* Adding tests on 'break-on' of retry policy
* Update mapping.json for OpenStack actions
* Allowing strings in on-success/on-error/on-complete clauses
* Consider input default values in ad-hoc action
* Change novaclient import to v2

2015.1.0rc1
-----------

* Add action execution ID to action context
* Consider input default values in workflow execution
* Removing "policies" keyword from resources
* Getting rid of "policies" keyword
* Rolling back YAQL to v0.2.4
* Fixing result ordering in 'with-items'
* Fixing tags of wf as part of wb
* Fixing variable names in db/v2/sqlalchemy/api.py
* Fix a logging issue in ssh_utils
* Pin oslo pip requirements
* Add YAQL parsing to DSL validation
* Fixing engine concurrent issues
* Apply input schema to workflow/action input
* Add schema for workflow input with default value support
* Remove transport from WSGI script
* Fixing API 500 errors on Engine side
* Fix typo in wf_v2.yaml
* Moving to YAQL 1.0
* Get rid of v1 in installation scripts
* Fixing exception type that workbook negative tests expect
* Removing v1 related entries from setup.cfg
* Renaming "engine1" to "engine"
* Fixing DB errors in transport
* Removing left v1 related stuff (resources, DSL specs)
* Add workbook and workflow validation endpoints
* Deleting all v1 related stuff
* Fixing docs on target task property in README
* Rename 'wf_db' to 'wf_def' to keep consistency
* Provide 'output' in action_execution API correctly
* Small data_flow refactoring, added TODOs to think about design
* Fixing version info in server title
* Fixing 'with-items' with plain input
* Add 'keep-result' property to task-spec
* Add implicit task access in workflow
* Fixing work 'with-items' on empty list
* Expanding generators when evaluating yaql expressions
* Add mistral-db-manage script
* Small refactoring in engine, task handler and workflow utils
* Fixing big type column for output and in_context
* Harden v2 DSL schema for validation
* Fix bug with redundant task_id in part of logs
* Fixing 'with-items' functionality
* Fixing task API (published vars)
* Support subclass iteration for Workflow controller

2015.1.0b3
----------

* Fixing tasks API endpoint
* Add action_execution API
* Fixing pause-before policy
* Fixing timeout policy
* Implementing 'acquire_lock' method and fixing workflow completion
* Fix retry policy
* Fixing wait-after policy
* Fixing wait-before policy
* Trigger remaining-executions and first-exec-date
* Refactor task output: full engine redesign
* Fix DSL schema in test workbook
* Fixing scheduler work
* Small refactoring in test_javascript
* Add WSGI script for API server
* Fix list of upstream tasks for task with no join
* Fixing finishing workflow in case DELAYED task state
* Adding validation in policies
* Refactor task output: DB API methods for action executions
* Refactor task output: 'db_tasks'->'task_execs', 'db_execs'->'wf_execs'
* Refactoring task output: 'task_db' -> 'task_ex', 'exec_db' -> 'wf_ex'
* Refactoring task output: full redesign of DB models
* Adding string() YAQL function registered at Mistral level
* Fixing published vars for parallel tasks (and join)
* Limit WorkflowExecution.state_info size
* Fixing YAQL in policies
* Default workflow type to 'direct'
* Fix wrong log task changing state
* Fix mismatch to new YAQL syntax
* Adjust standard actions and workflows
* Changing YAQL syntax delimeters
* Remove eventlet monkey patch in mistral __init__
* Refactoring task output: renaming DB models for better consistency
* Fix OS action client initialization
* Expose stop_workflow in API
* Add simple integration tests for OpenStack actions
* Fix formatting endpoint urls in OS actions
* Fixing a bug in logging logic and small refactoring
* Refactoring task output: renaming 'output' to 'result' for task
* Refactoring task output: adding ActionInvocation model
* Task specification improvement(Part 2)
* Add support for auth against keystone on https
* Support ssl cert verification on outgoing https
* Make spec object more readable in logging
* Fix test_nova_actions after changes in tempest
* Task specification improvement
* Renaming _find_completed_tasks to _find_successful_tasks
* Adding more tests for parallel tasks publishing
* Fixing bug with context publishing of parallel tasks
* Fix keystone actions
* Fix tempest gate, add tempest import to our script
* Fix the wrong project name in run_tests.sh usage
* Track execution and task IDs in WF trace log
* Changing InlineYAQLEvaluator: treat only {yaql} as YAQL
* Fix H904 pep8 error
* Refactoring inline parameters syntax
* Add Rally jobs related files to Mistral

2015.1.0b2
----------

* JavaScript action: part 2
* Allowing multiple hosts for ssh action
* Catch workflow errors
* Rename environment to env in start_workflow
* Fix action_context in with_items
* Fix sequential tasks publishing the same variable
* fix doc dsl v2
* JavaScript action: part 1
* Apply default to action inputs from environment
* Add full support for YAQL expressions
* Fixing a data flow bug with parallel tasks
* Changing publishing mechanism to allow referencing context variables
* Fix 500 error on wrong definition
* Pass action error to results
* Fixing problem with trust creation
* Working on secure DB access (part 4)
* Working on secure DB access (part 3)
* Working on secure DB access (part 2)
* Working on secure DB access (part 1)
* Concurrency: part 2
* Adding assertions for "updated_at" field in DB tests
* Fix imports due to changes in tempest
* Fixing environment tests
* Concurrency: part 1
* Change 'with-items' syntax
* Add validation on 'with-items' input
* Adding test on calculating multi-array input
* Adding more tests for YAQL length() function
* Implement workflow execution environment - part 3
* Implement workflow execution environment - part 2
* Implement workflow execution environment - part 1
* Small: remove polluting debug log
* Updating YAQL dependency to version 0.2.4
* Update README file with devstack installation instruction
* Small: refactor commands
* Fix mistralclient initialization
* Small fixes in default config
* small tox fixes
* Using 'with-items' instead of 'for-each'
* Fixing README
* Implementing "no-op" task
* Updating SQLAlchemy dependency

2015.1.0b1
----------

* Refacor resume algorithm
* Implement pause-before
* Fixing parsing inline syntax parameters
* Fix retry policy unit test
* Fixing a bug retry policy
* Updates logging configuration samples
* Changing target task property to singular form
* Add region name to OpenStack client initialization
* Fixing for-each
* API controllers should log requests at INFO level
* Add test case for dataflow to test action input
* Refactor for-each
* Style changes in launch.py
* Testing wait policies defined in "task-defaults" for reverse worklfow
* Testing timeout policy defined in "task-defaults" for reverse workflow
* Testing retry policy defined in "task-defaults" for reverse workflow
* Redesigning engine to move all remote calls from transactions
* Working on "join": making "one" join value work (discriminator)
* Working on "join": allowed value "one" for "join" property
* Add docs on task-affinity and configuring MySQL
* Working on "join": removing array type from "join" JSON schema
* Working on "join": making "join" trigger only once
* Working on "join": adding a test to verify that join triggers once
* Working on "join": fixing "partial join" test new "noop" engine command
* Working on "join": implementing partial join with numeric cardinality
* Modified install docs
* Fix creating triggers with the same pattern, wf and wf-input
* Working on "join": added a test for numbered partial join
* Refactor policies tests
* Working on "join": making "full join" work with conditional transitions
* Working on "join": making "full join" work with incoming errors
* Adding "std.fail" action that always throws ActionException
* Adding "std.noop" action (can be useful for testing)
* Raise human-readable exception if workflow_name is not a dict
* Working on "join": first basic implementation of full join
* Working on "join": add "join" property into task specification
* Working on "join": implement basic test for full join
* Fix trace with wrong input for action
* Fix Application context not found in tests
* Add advanced tests on workflow-resume
* Make able to resume workflow
* Refactor API tests for v2
* Fix creating std actions
* Renaming trusts.py to security.py and adding method add_security_info
* Refactoring workbooks service to be symmetric with other services
* Use YAML text instead of JSON in HTTP body
* Renaming "commands" to "cmds" in engine to avoid name conflicts
* Refactor std.email action
* Update README files
* Sort executions and tasks by time
* Add 'project_id' to Execution and Task
* Fill 'wf_name' task_db field
* Add cinder actions
* Add possibility to pass variables from context to for-each
* Implement for-each task property
* Updating AUTHORS file
* Refactoring getting one object from DB
* Fix creating objects with the same names
* Add API integration tests for actions

0.1.1
-----

* Construct and pass action_context to action
* Add passing auth info to std.http
* Adding print out of server information into launch script
* Adding method for authentication based on config keystone properties
* Add functional API tests for cron-triggers
* Docs fix - small structure fix
* Add documentation - part 3
* Add validating of 'for-each' task property DSL
* Cut too long task result in log
* Cleanup, refactoring and logging
* Fixing condition in workflow service
* Adding endpoint for cron triggers
* Refactoring workflow and action services
* Implementing cron cron trigger v2
* Adding DB model and DB api methods for cron triggers
* Provide workflow input via API
* Add for-each to task spec
* Now collections in the DB sorted by name
* Create standard workflows and actions
* Fixing order of commands and tasks in direct workflow
* Fix task-defaults correct work
* Removing saving raw action/workflow result under 'task.taskName'
* Making YAQL function length() work for generators
* Fixing a bug in inline expressions
* Adding length() YAQL function
* Whitelist binary 'rm' in tox.ini
* Add adding target via YAQL
* Add simple task affinity feature
* Fixing dsl v2 unit test
* Refactoring action service
* Use keystonemiddleware in place of keystoneclient
* Add generating parameters for openstack-actions
* Provide action-input via API
* Fix dataflow work
* Add documentation - part 2
* Add documentation - part 1
* Update tearDown methods in API integration tests
* Use $(COMMAND) instead of `COMMAND`
* Making execution context immutable
* Add workflow trace logging in engine v2
* Fix scheduler test
* Fix providing 'is_system' property in /actions
* Fix tasks in order of execution
* Stop using intersphinx
* Style changes in Scheduler and its tests
* Add script to run functional tests locally
* Adding 'tags' to action rest resource
* Modifying workflow and action services to save 'tags'
* Adding 'tags' to workflow and action specs
* Cleaning up obsolete TODOs and minor style changes
* Update requirements due to global requirements (master)
* Fix API tests for v2 version

0.1
---

* Style changes in policies and commands
* Fix race conditions in policies
* Fix workbook and workflow models
* Implementing policies in task-defaults property
* Add timeout policy
* Implementing 'task-defaults' workflow property
* Cosmetic changes in actions service
* Making action controller able to handler multiple actions
* Making workflow endpoint able to upload multiple workflows
* Fixing v2 workbooks controller not to deal with 'name'
* Modifying workbook service to infer name and tags from definition
* Adding 'name' to reverse_workflow.yaml workbook
* Add workflow service module
* Fix providing result (task-update API)
* Add param 'name' to the test definition
* Adding 'name' and 'tags' into workbook spec
* Cosmetic changes in executions v2 controller and tests
* Removing obsolete code related to ad-hoc actions
* Renaming 'parameters' to 'input' everywhere
* Cosmetic changes in Data Flow and commands
* Fix passing params to execution
* Fix dataflow work
* Adding workflow parameters validation
* Removing engine redundant parameter
* Adding tests for order of engine instructions
* Fixing db properties for testing purposes
* Add API integration tests for v2
* Trivial: improve ad-hoc action test
* Fix input on execution create
* Fixing task/workflow specs to do transformations with 'on-XXX' once
* Fixing v2 specs so 'on-XXX' clauses return lists instead of dicts
* Improving exceptions for OpenStack actions
* Getting rid of explicit 'start-task' property in workflow DSL
* Implementing workflow 'on-task-XXX' clauses
* Fix wrong passing parameter 'workflow_input'
* Fixing workflow specification to support 'on-task-XXX' clauses
* Fixing workflow handlers to return all possible commands
* Refactoring engine using abstraction of command
* Delete explicit raising DBError from transaction
* Fixing passing raw_result in v1
* Register v2 API on keystone by default
* Renaming 'stop_workflow' to 'pause_workflow'
* Adding unit for tests engine instructions
* Fixing task v2 specification
* Fix run workflow in case task state == ERROR
* Fixed retry-policy optional 'break-on' property
* Fix workflow update API
* Add mechanism for generation action parameters
* Implement short syntax for passing base-parameters into adhoc-action
* Changing all DSL keywords to lower case
* Additional testing of reverse workflow
* Pass output from task API to convey_task_result
* Moving all API tests under 'mistral.tests.unit' package
* Fixing workbook definition upload for v1
* Add check on config file in sync_db script
* Fixed Execution WSME model and to_dict()
* Saving description from definition in actions endpoint
* Fixing workflows controller to fill 'spec' property based on definition
* Adding actions endpoint
* Cosmetic changes
* Fixing engine to support adhoc actions
* Fixing workbook service to create actions
* Implement wait-after policy and retry
* Add test on passing expressions to parameters
* Fixed Engine v2 work on fake RPC backend
* Add posibillity to use different types in task parameters
* Adding necessary DB API methods for actions
* Creating ad-hoc actions engine test
* Removing obsolete namespace related methods from task v2 spec
* Fixing subworkflow resolution algorithm
* Removing 'workflow_parameters' from workflow spec
* Switching to using 'with db_api.transaction()'
* Removing redundant parameters from methods of policies
* Add 'description' field to specifications
* Add serializers to scheduler call
* Implement Wait-before policy
* Refactoring engine to build and call task policies
* Provide executor info about action
* Create action_factory without access to DB
* Delete code related to Namespaces
* Change instruction how to start Mistral
* Dividing get_action_class on two separate methods
* Rename action_factory to action_manager
* Modify action_factory to store actions in DB
* Work toward Python 3.4 support and testing
* Renaming 'on-finish' to 'on-complete' in task spec
* Adding "wait-before" and "wait-after" to task policies
* Fixing workflow spec to return start task spec instead its name
* Including "policies" into task spec
* Adjusting policy interfaces
* Renaming 'workflow_parameters' to 'workflow-parameters'
* Small optimizations and fixes
* Fixing processing subworkflow result
* Renaming 'class' to 'base' in action spec
* Renaming 'start_task' to 'start-task' in workflow spec
* Fix execution state ERROR if task_spec has on-finish
* Additional changes in Delayed calls
* Fixing services/workbooks.py to use create_or_update_workflow()
* Implement REST API v2.0
* Adding new methods to DB API v2 (load_xxx and create_or_update_xxx)
* Adding unit tests for workflow DB model
* Add service for delayed calls
* Improving services/workbooks
* Removing obsolete db.api.py module in favor of db.v1.api.py
* Introducing 'workflow' as an individual entity
* Removing 'Namespaces' section from DSL
* Renaming 'linear' workflow to 'direct'
* Implementing task execution infrastructure
* Add two more tests which check workflow execution
* Small updates to devstack integration
* Adding transaction context manager function for db transactions
* Fail workflow if any task fails
* Fixing validation for action specifications ('output' property)
* Working on linear workflow: on_task_result()
* Working on linear workflow: start_workflow()
* Working on engine implementation: on_task_result()
* Renaming base class for Mistral DB models
* Working on engine implementation: start_workflow()
* Fix small issues in tests
* Cosmetic changes in integration tests
* Rename resource directory
* Add integration test on Glance Action
* Add test on Keystone Action
* Add integration tests on nova actions
* Add tests which check task dependencies
* Move gate tests under mistral/tests
* Add neutron actions
* Small fixes in openstack-actions
* Moving TaskResult and states to 'workflow' package
* Adding implementation of method __repr__ for DB models
* Working on reverse workflow: on_task_result()
* Working on reverse workflow: implementing method start_workflow()
* Replacing NotImplemented with NotImplementedError
* Working on reverse workflow: fixing specification version injection
* Unit tests for v2 DB model
* Refactoring DB access layer
* Implementing DSL specification v2 (partially)
* Add heat actions
* Add openstack actions
* Switching from dicts to regular objects in DB API
* Initial commit for the new engine
* Fix mistral gate job
* Replace oslo-incubator's db with standalone oslo.db
* Move oslotest into test-requirements.txt
* Calculate context for tasks with dependencies
* Cleaning up index.rst file
* The schedule triggers need to setup admin context before run
* Add running mistralclient integrational tests
* Make executor able to work in isolated environment
* Add installation of mistralclient in devstack script
* Make plugins easier to use
* Update requirements due to global-requirements
* Fixing Mistral HTTP action to take care of empty headers
* Log action failures and exceptions

0.0.4
-----

* Fixing wrong access to Mistral security context in engine
* Make OpenStack related data available in actions
* Add project_id to the workbook and filter by it
* Make sure the context is correctly passed through the rpc
* Add Executions and Tasks root API endpoints
* Removing obsolete folder "scripts"
* Remove redundant convey_task_results arguments
* Remove redundant DB API arguments
* 'requires' should take a string or list
* Fix get task list of nonexistent execution
* Favor addCleanup() over tearDown()
* Make sure the api tests get a valid context
* Fix Hacking rule H306 and H307
* Fix hacking rule H236
* Fix Hacking rule H302 (import only modules)
* Expose Task's output and parameters through API
* Make the service_type more consistent
* Switch from unittest2 to oslotest(testtools)
* Fix hacking rules H101 and E265
* Temporarily disable the new hacking rules
* Renaming all example config files from *.conf.example to *.conf.sample
* Fixing obsolete file name in README.rst
* Fix devstack gate
* Add upload definition action in test
* Do a better job of quietening the logs
* All tests should call the base class setUp()
* Move all tests to use base.BaseTest
* Add OS_LOG_CAPTURE to testr.conf
* Fix create execution when workbook does not exist
* Fix getting action_spec in create tasks
* Added information about automated tests
* Refactor test_task_retry to not rely on start_task
* Clean up configuration settings
* Refactor test_engine to not rely on start_task
* Fix update nonexistent task
* Fix get execution list when workbook does not exist
* Fix keystone config group for trust creation
* fix mistral devstack scripts
* Fix bug with getting nonexistent task
* Fix duplicate keystone auth_token config options
* Move tests to testr
* Add negative functional tests
* Add new tests for executions and tasks
* Add lockutils to openstack/common
* Implement new mistral tests
* Remove unneccesary oslo modules
* Making "Namespaces" section truly optional
* Restore script update_env_deps in tools
* Fix devstack integration scripts
* Remove unused function get_state_by_http_status_code
* Sync code with oslo-incubator
* Small engine bugfixing/refactoring
* Make field 'Namespaces' optional
* Add support for plugin actions
* Add autogenerated API documentation
* Adding docstring for HTTPAction class
* Renaming 'events' to 'triggers'
* Adding more http standard action parameters
* Fix H404 multi line docstring should start without a leading new line
* Fix H233 Python 3.x incompatible use of print operator
* Fix pep H301 one import per line
* Fix pep H231 Python 3.x incompatible 'except x,y:' construct
* Fix pep H402 one line docstring needs punctuation
* Fix pep H201 no 'except:' at least use 'except Exception:'
* Fix pep E226 missing whitespace around arithmetic operator
* Add hacking to the flake8 tests
* Add/Fix all error handling mechanism on REST API
* Fix url in "get workbook definition" test
* Cleanup exceptions and add http code
* Throwing an error when workbook validation fails
* Throw NotFoundException when object not found
* Fix creating trust on workbook creation
* Allow launch script to start any combination of servers
* Fix 500 status code on DELETE request
* Fix issue with tempest tests
* Task.publish now is processed as arbitrary structure
* Fix demo.yaml example in tempest tests
* Add test on arbitrary output dict in action
* Fix mistral tests
* Update mistral tests
* Context contains results of all previous tasks now

0.0.2
-----

* Fixed issue with tarballs

0.0.1
-----

* Refactor engine to use plugins
* Fixes list of requirements
* Fixes README.rst formatting
* Making workflow trace logging more consistent
* Added Devstack integration
* Fixing setup.cfg
* Fix work on MySQL backend
* Replace rabbit config to 'default' section
* Additional workflow trace logging in abstract_engine.py
* Fixing wrong comparison in retry.py
* Engine as a standalone process
* Improved README file
* Fix evaluating task parameters
* Adding all conf files in etc/ to .gitignore
* Fix broken retry tests
* Remove etc/logging.conf
* Add workflow logging
* Fixing inline expressions evaluation
* Making execution data available in data flow context
* Fixing initialization of variable 'action_spec' in abstract_engine.py
* Remove redundant update task operation
* Fix convert params and result in AdHocAction
* Adding parameters to adhoc action namespaces
* Removing 'base_output' from ad-hoc actions specification
* Temporarily commenting assertions in task retry tests
* Temporarily commenting assertions in task retry tests
* Fix result of HTTP action
* Fix returning ERROR task state
* Fixing http action and abstract engine
* Moving expressions.py out of package 'engine'
* Change repeater to retry on error
* BP mistral-actions-design (raw action spec -> ActionSpec)
* BP mistral-actions-design (removing old actions, addressing previous comments)
* BP mistral-actions-design (add SSH action)
* BP mistral-actions-design (switch to new design)
* BP mistral-actions-design (ad-hoc actions in factory)
* BP mistral-actions-design (ad-hoc action)
* BP mistral-actions-design (Mistral HTTP action)
* BP mistral-actions-design (action creation)
* BP mistral-actions-design (add new actions package)
* BP mistral-actions-design
* Add SSH Action
* Remove local engine
* Fix repeatable task scheduling
* Add resolving inline expressions
* Cosmetic change
* Fixed issue with deprecated exception
* Fix minor issues
* Fix keystone trust client
* Add extracting action output
* Refactor the local engine to use an in process executor
* Implements: blueprint mistral-std-repeat-action
* Correct fake action test name
* Remove unneeded declarations in unit tests
* Add keystone auth_token in context
* Fix keystone config group name
* Add script to allow update dependencies in all envs
* Fixing ordering bugs in local engine tests
* Fixing ordering bugs in workbook model and tests
* Fixing executor launch script
* Fix getting task on-* properties
* Rename 'events' to 'triggers'
* Implement new object-model specification
* Use oslo.messaging for AMQP communications
* Working on Data Flow (step 5)
* Working on Data Flow (step 4)
* Working on Data Flow (step 3)
* Make engine configurable, make debugger show local variables
* Partially fixed the pylint errors
* Fix throwing exception when 'output' block is not defined
* Fixed critical pylint warnings
* Working on Data Flow (step 2)
* Working on Data Flow (step 1)
* Add scheduling specific task on sucess/error
* Send email action, part 2
* Rename "target_task" to "task"
* Send email action, step 1
* Add negative tests to api
* Fixing access to task "parameters" property in DSL
* Fix getting task on-* properties in DSL
* Fix task keys properties in DSL parser
* Add YAQL expression evaluation
* Modified Rest action for process 'input' property
* Add sync task execution
* Fixing and refactoring authentication
* Deleting client and demo app from main Mistral repo
* Fixed issue with tarballs
* Add integration tests
* Divide RestAction on two separated actions in DSL
* Add new access methods in DSL parser
* Refactoring local and scalable engines
* Adding Data Flow related code to REST API
* Fixing typo in an exception message in Mistral client
* Step 2 refactoring Mistral engines
* Step 1 refactoring Mistral engines
* Fix exceptions output when creating object in DB
* Add SQLAlchemy in requirements.txt
* Fix DB API import in scheduler.py
* Implement single (non-scalable) engine
* Fixing scheduler transactions
* Fixing workbook events creation
* Fixing flak8 excludes in tox.ini
* Adjusting all license headers in python files so they look the same
* Adding license and authors file
* context creation in periodic task to execute workbook
* Fix workbook POST duplicate exception
* Add demo app for Mistral
* Fix client for further patching
* Added trust for workbook runs
* Updating README.md file
* Fixing scalable engine algorithm
* Fixing scripts' headers to make them executable
* Various fixes related to end-to-end testing
* Fix resolving dependencies in workflow
* Add explicit DB transaction management
* Added context for application
* Added keystone token authorization
* Fix periodic tasks running over engine
* Add engine related features
* Implementing scalable Mistral Engine
* Add DSL parser
* Implementing Mistral Rest API Client
* Add SQLAlchemy models and access methods
* Connect DB implementation with DB interface
* Added periodic events
* Working on REST API
* Added initial database setup
* Adding REST API application skeleton based on pecan/wsme
* Adding pecan, wsme, oslo and adjusting packages
* Modify use case example
* Fixing licence in setyp.py
* Add example of using taskflow
* Add .gitreview, setup.py and other infrastructure
* Adding .gitignore
* Adding virtual environment tools
* Adjusting project name in readme file
* Initial commit
