Workflow Service for OpenStack.
Go to file
Renat Akhmerov 0dbab33c4c Fix serialization of structures that might contain YAQL types
* When YAQL output data conversion is disabled there's still
  an issue caused by presence of not JSON-compatible types within
  a YAQL result. The internal Mistral code is already able to deal
  with that (due to the previous changes) by checking that and
  converting them to what's needed. However, JSON serialization
  may still not work if it's done via the standard "json" library.
  The library simply doesn't handle those non-standard types and
  raises an exception. We have a sanitizing function that all YAQL
  results go through, however, it doesn't make sense to do recursive
  sanitizing for performance reasons. It does make sense to convert
  data as late as possible to avoid redundant data manipulations. So
  the sanitizing function handles only the root object in the object
  graph. The solution for this problem is to use our own utility
  function based on the "oslo_serialization.jsonutils" that is able
  to deal with at least part of the mentioned types, specifically
  FrozenDict and iterators. Generators are still a problem and this
  new function takes care of that separately, assuming that any
  generator is just a special iterator and hence represents a
  collection, i.e. a list in JSON terms. It works for all the cases
  we've encountered so far working with YAQL.
* Used the new function "utils.to_json_str()" everywhere for JSON
  serialization, including the action "std.http".
* Added necessary unit tests.

Closes-Bug: #1869168
Depends-On: I1081a44a6f305eb1dfe68a5bad30110385130725
Change-Id: I9e73ea7cbba215c3e1d174b5189be27c640c4d42
2020-03-31 18:42:11 +07:00
api-ref/source Remove the invalid toctree 2018-01-31 04:16:42 +00:00
devstack Remove OpenStack actions from mistral 2020-02-26 10:12:01 +02:00
doc Merge "Remove OpenStack actions from mistral" 2020-03-06 09:08:24 +00:00
etc Implement policy in code - event trigger (11) 2017-11-27 02:47:50 +00:00
mistral Fix serialization of structures that might contain YAQL types 2020-03-31 18:42:11 +07:00
playbooks [ussuri][goal] Drop python 2.7 support and testing 2019-11-16 14:07:57 +00:00
rally-jobs Reduce the concurrency in the 500 wb join Rally task 2018-10-17 09:36:29 +01:00
releasenotes Remove OpenStack actions from mistral 2020-02-26 10:12:01 +02:00
tools Remove OpenStack actions from mistral 2020-02-26 10:12:01 +02:00
.coveragerc Exclude .tox folder from coverage report 2016-12-19 03:33:29 +00:00
.dockerignore Update default Docker configuration and documentation 2018-06-10 19:21:18 -05:00
.gitignore Update default Docker configuration and documentation 2018-06-10 19:21:18 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:37:05 +00:00
.stestr.conf Switch to using stestr 2018-05-30 14:46:25 -04:00
.zuul.yaml Remove OpenStack actions from mistral 2020-02-26 10:12:01 +02:00
CONTRIBUTING.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-24 15:44:25 +08:00
HACKING.rst Fix the pep8 commands failed 2017-07-27 22:15:12 +08:00
LICENSE Adding license and authors file 2013-12-30 13:11:49 +07:00
README.rst Fix readme 2020-02-27 17:49:19 +07:00
bindep.txt Add bindep.txt file for binary dependencies used in unit tests 2019-06-27 14:15:29 +00:00
lower-constraints.txt Fix requirements 2020-02-26 10:12:27 +02:00
requirements.txt Fix requirements 2020-02-26 10:12:27 +02:00
run_tests.sh Cap psycopg2 to 2.8.3 2019-10-23 09:26:22 +00:00
setup.cfg Refactor expressions 2020-02-26 12:36:34 +07:00
setup.py Updated from global requirements 2017-03-03 10:17:44 +00:00
test-requirements.txt Fix requirements 2020-02-26 10:12:27 +02:00
tox.ini Update hacking and fix warnings 2020-01-02 17:18:38 +02:00

README.rst

Team and repository tags

image

Mistral

Workflow Service integrated with OpenStack. This project aims to provide a mechanism to define tasks and workflows in a simple YAML-based language, manage and execute them in a distributed environment.

Project Resources