3795 Commits

Author SHA1 Message Date
Renat Akhmerov
d17ea38b27 Fixing workbook events creation
* Workbook events creation is now called from a REST controller rather
 than from DB API. This is more proper place (level of abstraction).
* Fixed workbook definition controller and evets tests.

Change-Id: Ib17d0b0dae614c474c161cd12ecbb1b05aea74a8
2013-12-31 12:48:54 +07:00
Renat Akhmerov
1652d2e7fd Fixing flak8 excludes in tox.ini
Change-Id: I914b4dfd9155b1f813b951c1b41ca462f33c4e12
2013-12-30 21:19:01 +07:00
Jenkins
e6d4c593f8 Merge "Adding license and authors file" 2013-12-30 11:48:56 +00:00
Renat Akhmerov
593d277bc5 Adjusting all license headers in python files so they look the same
Change-Id: I9fa3b76916964f6675ac2967e80d6fc9b55ada54
2013-12-30 13:27:06 +07:00
Renat Akhmerov
4b0bbfe755 Adding license and authors file
Change-Id: I33960112e28cdac54919468a5a01ed8153c9ecff
2013-12-30 13:11:49 +07:00
Jenkins
2a8f9a7745 Merge "Add demo app for Mistral" 2013-12-29 04:35:24 +00:00
Jenkins
cd2e07a99e Merge "Fix workbook POST duplicate exception" 2013-12-27 14:44:21 +00:00
Alexander Kuznetsov
ae30c553cf context creation in periodic task to execute workbook
Change-Id: I26134a6f83a44abde839576daada9e0de793fdc6
2013-12-26 17:32:27 +04:00
Nikolay Mahotkin
2176d57d15 Fix workbook POST duplicate exception
* 400 status code response on duplicate error
 * new exceptions - Mistral, DBDuplicateEntry
 * import exception from openstack-common

Fixes bug: #1263942

Change-Id: Ia802db5c6b30be96cb0b8ce2cfc0f7fd04122302
2013-12-26 16:20:15 +04:00
Jenkins
f397936294 Merge "Fix client for further patching" 2013-12-26 10:22:04 +00:00
Nikolay Mahotkin
814b030417 Add demo app for Mistral
* Simple server
 * expose one endpoint - /tasks
 * recieve correct signal from mistral
  about task execution, log 'task N started,
 task N finished'
 * logging

Change-Id: I230eac12319be820d64612d242b9190a10be946e
2013-12-25 17:41:13 +04:00
Jenkins
0109320252 Merge "Added trust for workbook runs" 2013-12-25 13:08:19 +00:00
Nikolay Mahotkin
ed9aae73ec Fix client for further patching
Change-Id: Ibf0cd08049c54921af79236e036d58f1b8300ac6
2013-12-25 17:06:25 +04:00
Alexander Kuznetsov
cafa9fed0e Added trust for workbook runs
Change-Id: Id2afa200858ce1cf9481883134d3c3d524f44cd9
2013-12-24 16:54:56 +04:00
Renat Akhmerov
eb957e5eaa Updating README.md file
Change-Id: I1606a6c9c3c6584aef933fbd8e94a43ddd44ca99
2013-12-24 12:31:51 +07:00
Renat Akhmerov
a8acc1934d Fixing scalable engine algorithm
* Filling task dependencies
* Initial workflow tasks to execute

Change-Id: I27fa0fe9d7eb4d8428262903a14a08ff62f43f77
2013-12-19 21:48:42 +07:00
Renat Akhmerov
a4379bc139 Fixing scripts' headers to make them executable
Change-Id: I81fd61419523eecaa3926e02cfe5aac843a5a07a
2013-12-19 21:09:21 +07:00
Renat Akhmerov
50bebda734 Various fixes related to end-to-end testing
* Fixed several problems in scalable engine
* Fixed engine interface
* Fixed several problems in REST API
* Changed task DB model
* Fixed DSL parser
* Added scripts for end-to-end testing

Change-Id: Icbcc46d11a6c687d0ae3aad339ca5f5134c50195
2013-12-19 16:10:03 +07:00
Nikolay Mahotkin
cf4a016143 Fix resolving dependencies in workflow
Change-Id: I9024165a2f4b745ebd85d09baff6138f1388e152
2013-12-18 16:58:39 +04:00
Renat Akhmerov
3fa58bfb8f Add explicit DB transaction management
* Added methods on DB API for explicit transaction demarcation
* Added @session_aware() decorator maker
* Refactoring SqlAlchemy implementation of DB API
* Added all tests for DB API
* Added methods to access thread local variables in mistral/utils.py
* Fixed API Resource class to ignore unset values in transformations

Change-Id: I5fae196f89c77a5e355207907bd08983969922c3
2013-12-17 19:54:39 +07:00
Jenkins
7454f3b950 Merge "Added context for application" 2013-12-16 14:25:36 +00:00
Jenkins
c8eeb096ca Merge "Added keystone token authorization" 2013-12-16 14:25:15 +00:00
Alexander Kuznetsov
b71b588d13 Added context for application
Change-Id: I328c1dddf7eeb2ed557df2ddce6386e0fa5c419e
2013-12-16 16:10:24 +04:00
Alexander Kuznetsov
49643c4ae8 Added keystone token authorization
Change-Id: I585dfd3e2ece26dab7f18d1117cad0dca0baf72b
2013-12-16 15:47:03 +04:00
Nikolay Mahotkin
62ff990a64 Fix periodic tasks running over engine
* Fix unit tests
 * Fix event model
 * Fix using engine module
 * Added sending signal to run workflow in events
 * Creating events when WB definition is uploaded

Change-Id: Ica7a5c0d0c367f3c7396ed1650753f1570f797b7
2013-12-13 18:27:10 +04:00
Nikolay Mahotkin
41e21c7616 Add engine related features
* Workflow in scalable engine
  * find tasks to run
  * find workflow tasks
 * Added unit tests
 * Fix events test

Change-Id: Ib3a97f976b101a68cbbde9d2117f5b2ca5eab5cd
2013-12-12 19:06:43 +04:00
Renat Akhmerov
bb6dd45ec4 Implementing scalable Mistral Engine
* Asynchronous tasks
* Separate stateless task executors
* Notification of task executors via RabbitMQ

TODO:
* DB transaction management
* Analyzing graph of tasks to identify what should be started
* Thorough automated tests

Partially implements blueprint: mistral-poc
Partially implements blueprint: mistral-workflow-execution
Partially implements blueprint: mistral-engine-ha

Change-Id: I022e1b73b9a3c58f1fbc259ba3e5995acd2bf6c3
2013-12-12 21:06:36 +07:00
Nikolay Mahotkin
7d716311df Add DSL parser
* DSL parser
 * Unit tests

Change-Id: I3e56ad7125233ecdafd41036d8b717fb95e2955c
2013-12-11 17:41:12 +04:00
Renat Akhmerov
6f245b199c Implementing Mistral Rest API Client
Added support for:
* Workbooks
* Executions
* Tasks
* Listeners

Partially implements blueprint: mistral-poc
Implements blueprint: mistral-pythonclient

Change-Id: Id515697171e1e94e3354d92343e6bdd5365e45c6
2013-12-10 16:37:35 +07:00
Nikolay Mahotkin
711e6c1731 Add SQLAlchemy models and access methods
* Workflow execution
 * Workbook
 * Task
 * Fix controller tests

Change-Id: I1ec952837fb31451440375fc4a32ad2846ce345b
2013-12-09 18:54:28 +04:00
Alexander Kuznetsov
9403a52bd5 Connect DB implementation with DB interface
Change-Id: I975a2f7346a243a07468375e2f007c2a474f5c66
(cherry picked from commit 43ff6e9)
2013-12-05 19:01:37 +04:00
Alexander Kuznetsov
56816d3910 Added periodic events
Change-Id: Ieb15db84b6ece293a4aa2dbc0d1ff0a7d8afde94
(cherry picked from commit d4b92e3)
2013-12-05 19:01:22 +04:00
Jenkins
40d43a6dec Merge "Working on REST API" 2013-12-02 14:09:14 +00:00
Renat Akhmerov
9288a60915 Working on REST API
* Added installation/running info into README.md
* Added pecan controllers for:
  * executions
  * tasks
  * workbook definitions
* Refactored controllers
* Added simple functional tests for workbooks

Implements: blueprint mistral-rest-api
Change-Id: I604b62b8b0bda5f5363b1fefedcb9ffb7447bd1d
2013-11-30 21:10:56 +07:00
Alexander Kuznetsov
3a43f97918 Added initial database setup
Change-Id: Ife4b36341f85e16f3c6a89b1394df56f8fbe2a35
2013-11-29 16:13:54 +04:00
Renat Akhmerov
039e899d8b Adding REST API application skeleton based on pecan/wsme
* Adding required dependencies to use and test pecan/wsme app
* Adding additional modules from oslo-incubator
* Adding configuration files mistral.conf and specific file
 loggin.conf for logging
* Adding dependencies for testing: fixtures, testtools, mock
* Updating tox.ini to run nosetests for py26 and py27 environments

Change-Id: I4fd63820aaaf3b50fb1c981031f60faa68a6d307
2013-11-27 19:34:43 +07:00
Renat Akhmerov
f880f9b5b2 Adding pecan, wsme, oslo and adjusting packages
Change-Id: I270a1cbdac36a4418775179de9f39e9109ea162f
2013-11-21 13:47:42 +07:00
Nikolay Mahotkin
a32cb61b9d Modify use case example
* Yaml config: actions, transports, tasks
 * Find only one node and subgraph connected
   with graph root and this node

Change-Id: I29935f66152869e169bbe1f0fba7b52cf228b439
2013-11-20 16:57:37 +04:00
Renat Akhmerov
a399e31f8d Fixing licence in setyp.py
Change-Id: I3d29d47d851b23136c736550c0a03c5e32f89a42
2013-11-19 13:35:06 +07:00
Nikolay Mahotkin
56452dd585 Add example of using taskflow
* Example with TaskFlow
 * Simple configuration for Flow execution

Change-Id: I1d21fca6131f45681b7ba3658ecd22e658b09273
2013-11-01 16:34:25 +04:00
Renat Akhmerov
04903b823e Add .gitreview, setup.py and other infrastructure.
* .gitreview
* Disutils files
* tox configuration
* add .venv to ignore
* "mistral" package
* Sphinx documentation skeleton

Change-Id: I1d9aa5105b0dbc458665e9b16fd84826a18a36bf
2013-11-01 02:57:27 +07:00
Renat Akhmerov
750b1976c3 Adding .gitignore 2013-10-22 16:26:41 +07:00
Renat Akhmerov
dacad2793a Adding virtual environment tools 2013-10-22 16:21:29 +07:00
Renat Akhmerov
142b01ae15 Adjusting project name in readme file 2013-10-11 15:18:44 +04:00
rakhmerov
4d49456fe5 Initial commit 2013-10-11 03:26:15 -07:00