CHANGES
=======

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
* 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
