This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: Ia4da4f94ecada34246a4db95174fa42595f9ff86
* Sphinx 2.0.0 was released on Mar 28 and sphinxcontrib-pecanwsme
became incompatible with it. The version 0.10.0 was released
to fix that.
* See https://review.openstack.org/#/c/649264/
Depends-On: I0378297e099412191a4adc41e53b0eb23f6c43ae
Change-Id: Icb0163f553af690192bfab0e192a32d793db28a9
* The custom profiler notifier defined by Mistral now also prints
the total elapsed time of a profiler trace into the log file .
This makes it much easier to search for bottlenecks.
Change-Id: I1db7e66e1b3756cccfde73feee83baef9edf283f
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: Icb8261ce3371296b8a87e5bfa527a5f64a25157c
Sem-Ver: feature
* We need to avoid using direct DB queries w/o using a mapped
model where possible for performance sake. Using a mapped entity
property is always more efficient because it's cached in an
SQLAlchemy session.
Change-Id: I2d7652ea0cff8f2db7259d285ac98c582bf15b62
* If "target" property of a task is empty, there's no need to
evaluate an expression
* Refactored action input validation logic to avoid preparing
an action input twice for ad-hoc actions. The method
"_prepare_input" was previously called twice for ad-hoc actions
although it may be pretty expensive in some cases.
* Added more profiler decorators to track performance of ad-hoc
actions
Change-Id: Ia56e2fda57c3af1a86a638018c23dd1c3281debb
This sets up the HTTPProxyToWSGI middleware in front of Mistral API. The
purpose of this middleware is to set up the request URL correctly in
the case there is a proxy (for instance, a loadbalancer such as HAProxy)
in front of the Mistral API.
The HTTPProxyToWSGI is off by default and needs to be enabled via a
configuration value.
It can be enabled with the option in mistral.conf:
[oslo_middleware]
enable_proxy_headers_parsing=True
Closes-Bug: #1590608
Closes-Bug: #1816364
Change-Id: I04ba85488b27cb05c3b81ad8c973c3cc3fe56d36
The standalone job is started via a heat process
that skips a portion of the mistral workflow that
is used in overcloud deployments.
An example of missed coverage:
https://bugs.launchpad.net/tripleo/+bug/1816026https://review.openstack.org/#/c/637522/
containers-multinode is a more appropriate
job to fully cover mistral in tripleo.
Change-Id: Ie94e03bdcc14918eb4095e9581d4a935a59b0d6b
keystone_authtoken/auth_uri is deprecated [1]. Use www_authenticate_uri
instead.
keystonemiddleware in requirements and lower constraints should be increased
because www_authenticate_uri was introduced in keystonemiddleware 4.18.0.
[1] https://review.openstack.org/#/c/508522/
Change-Id: I99b0ee941d702a28fb4f392d9747d0e2257a42c8
Closes-Bug: #1788174
* 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
* This patch adds the first version of the REST endpoint that
can generate a report for a workflow execution. Without any
query parameters, GET method of the endpoint returns a tree-like
structure that includes information about all execution objects
associated with the specified workflow execution. The root object
is the workflow execution itself, its children are task executions,
each task execution has either action executions or workflow
executions and so on. So the structure describes the entire set
of execution objects regardless of how deep there are from the
root object. This kind of data itself can be used to better
understand and visualise the process related with a parent workflow,
see what paths were taken while the workflow was running.
If additional parameters are provided in a query string, the
endpoint can give only a subset of the entire tree. Currently,
the filters are:
1. "errors_only" (boolean) to retain only all execution objects
with the error state, meaning that only all error paths are
present in the report. It is useful when we need to do a root
cause analysis of the workflow failure. False by default.
2. "max_depth" (integer) to limit how deep the algorithm can go
into nested workflows. If set to 0, only the root workflow
execution will be in the report. If set to 1, then the report
will have only the root workflow execution and its direct
children. And so on. If negative (by default) then no limit
is set.
Additionally, the report contains statistics about task executions
examined while the report was being generated, like the number of
tasks in the error state, number of tasks that successfully
finished and so on.
* Added all main tests for the endpoint. Note that despite the fact
that this test verifies a REST API endpoint, unlike the other API
tests it runs a Mistral engine to run workflows. This is done to
simplify the test implementation so that we don't have to mock
everything with huge data structures like we do in other API tests.
Possible changes that may be made based on the feedback:
* Statistics can contain not only number of tasks in certain states.
We can also add things like number of actions, depth of the tree,
number of nested workflows, average task/action/workflow execution
time etc.
* Additional query parameters to configure a generated report. For
example, "statistics_only" just to get a general information about
the workflow execution tree, not the tree itself. Another example
is "running_only" to retain only not finished workflow paths.
Implements blueprint: mistral-error-analysis
Change-Id: Id3e17821e04b7a1b84dfea5126d223d90ad8e3c2
If task was failed by unhandled exceptions, Mistral was not sending
TASK_FAILED event, which could be critical for Mistral's clients, who
use notifications mechanism to handle issues.
Change-Id: I460686c2852e3eb642506049ad5c33705697ecd8
Closes-Bug: #1803746
Signed-off-by: Oleg Ovcharuk <vgvoleg@gmail.com>
All batches must be processed in workflow output evaluation. An
empty batch means only that no tasks were end tasks in the queried
slice.
Closes-Bug: 1811775
Change-Id: I0ed4e690f67966ba2d145ad6430b517bd896ced6
openstack-dev was decomissioned this night in https://review.openstack.org/621258
Update openstack-dev to openstack-discuss
Change-Id: I803a5acabe8ccdf18721707f5637d759d9b3d5b6
Closes-Bug: #1808899
Non-containerized multinode scenario jobs are no longer supported
and should be removed from zuul config.
Change-Id: I9abc7c9db1bd216dcd61925061e8bbc8c7e00b85