Renat Akhmerov dfdff78315 Fix how Mistral calculates workflow output
* Workflow output sometimes is not calculated correctly due to
  the race condition between different transactions: the one that
  checks workflow completion (i.e. calls "check_and_complete") and
  the one that processes action execution completion (i.e. calls
  "on_action_complete"). Calculating output sometimes was based on
  stale data cached by the SQLAlchemy session. To fix this, we just
  need to expire all objects in the session so that they are
  refreshed automatically if we read their state in order to make
  required calculations. See the bug description for more details
  on how the problem was observed.
* Added another test for direct workflow that formally checks
  calculation of workflow output. It doesn't pretend to test the
  aforementioned issue (it can be reproduced only with a big number
  of attempts, and/or under load). It's for the sake of the test
  module completeness.

Change-Id: I4a7e7fd9a4bbb6e93df169b4b40bc2d83ccfce89
Closes-Bug: #1792090
2018-09-12 16:48:43 +07:00
2018-01-31 04:16:42 +00:00
2018-03-07 13:04:21 +02:00
2018-08-01 05:08:48 +00:00
2018-05-30 14:46:25 -04:00
2018-08-30 11:42:18 +00:00
2017-07-27 22:15:12 +08:00
2013-12-30 13:11:49 +07:00
2017-03-03 10:17:44 +00:00

Team and repository tags

image

Mistral

Workflow Service for OpenStack cloud. This project aims to provide a mechanism to define tasks and workflows without writing code, manage and execute them in the cloud environment.

Project Resources

Description
Workflow Service for OpenStack.
Readme 51 MiB
Languages
Python 98.9%
Shell 1%