mistral/mistral
Renat Akhmerov a39db2d3dc Fix how Mistral prepares data for evaluating a YAQL expression
* If we use the built-in YAQL function 'str' in a workflow then it
  doesn't represent lists as '[item1, item3, ...]' but instead
  creates '(item1, item2,...). This is because the standard YAQL
  function 'yaql_utils.convert_input_data', which is needed to
  convert a initial user data into an internal YAQL format,
  converts all sequences (except strings) into tuples.
  This patch overrides this behavior for sequences that are not
  strings and tuples so that they now get converted into lists.
  YAQL uses tuples because it needs to obtain a safe immutable
  structure to make calculations upon. But in Mistral list is
  more suitable because lots of users care about string
  representations. Immutability is not so important because
  Mistral code base guarantees that the initial data context
  for an expression won't be changed while an expression is
  being evaluated by YAQL.
* "str" YAQL function used to work well but it was broken in
  https://review.openstack.org/#/c/477816/ that added additional
  context preparation in order to fix the issue
  https://bugs.launchpad.net/mistral/+bug/1772864

Change-Id: I69d32f8772418d586d6c414842bb54aada217481
Closes-Bug: #1815710
2019-02-14 12:20:12 +07:00
..
actions Fix senlin fake client creation 2018-11-06 11:52:32 +01:00
api Add a workflow execution report endpoint 2019-02-11 15:03:35 +07:00
auth make user_info_endpoint_url independent of auth_url 2018-10-14 09:21:52 +03:00
cmd Update version.version_string to actually be a string 2018-10-09 11:30:10 -05:00
db Eliminating datetime.now() 2018-11-21 10:51:44 +01:00
engine Sending TASK_FAILED event in case of MistralException 2019-02-07 19:33:10 +00:00
event_engine [Event-engine] Allow event_engine to work in HA 2018-10-17 16:30:17 +00:00
executors Add loging for sending an action to executor 2018-11-28 14:14:16 +07:00
expressions Add YAQL engine options 2018-06-01 17:06:57 +07:00
ext Use the Mistral syntax highlighting on the dsl v2 page 2017-04-06 10:20:34 +01:00
hacking Fix the pep8 commands failed 2017-07-27 22:15:12 +08:00
lang Update OnClauseSPec task name criteria 2018-10-12 11:58:22 -05:00
notifiers Minor improvement of the NoopPublisher 2018-09-03 11:45:57 +00:00
policies Add a policy to control the right to publish resources 2018-07-05 11:46:52 +02:00
resources Fix for YaqlEvaluationException in std.create_instance workflow. 2016-07-12 00:29:23 -04:00
rpc Merge "[Event-engine] Allow event_engine to work in HA" 2018-12-09 11:31:19 +00:00
scheduler Eliminating datetime.now() 2018-11-21 10:51:44 +01:00
service Optimize API layer: using from_db_model() instead of from_dict() 2017-05-22 12:03:17 +07:00
services Merge "[Event-engine] Allow event_engine to work in HA" 2018-12-09 11:31:19 +00:00
tests Fix how Mistral prepares data for evaluating a YAQL expression 2019-02-14 12:20:12 +07:00
utils Fix how Mistral prepares data for evaluating a YAQL expression 2019-02-14 12:20:12 +07:00
workflow Process all task batches in wf output evaluation 2019-01-15 13:54:41 +01:00
__init__.py Remove eventlet monkey patch in mistral __init__ 2015-02-20 07:49:56 +00:00
_i18n.py Update and optimize documentation links 2017-07-19 17:10:49 +08:00
config.py Add missing ws separator between words 2018-11-21 11:23:37 +08:00
context.py Explicitly convert X-Target-Insecure to a boolean 2018-08-22 09:48:30 +01:00
exceptions.py Create Base class for Mistral Exceptions and Errors 2018-05-31 08:47:04 +00:00
messaging.py [Event-engine] Make listener pool name configurable 2017-10-13 10:47:34 +03:00
version.py Update version.version_string to actually be a string 2018-10-09 11:30:10 -05:00