Pike Series Release Notes

Pike Series Release Notes


New Features

  • Support to specify ‘action_region’ for OpenStack actions so that it’s possible to operate different resources in different regions in one single workflow.
  • Added ability to create public event triggers. Public event triggers are applied to all projects, i.e. workflows are triggered by event in any project. Currently public event triggers may be created only by admin but it can be changed in policy.json.
  • Creating and running workflows within a namespace. Workflows with the same name can be added to the same project as long as they are within a different namespace. This feature is backwards compatible.

    All existing workflows are assumed to be in the default namespace, represented by an empty string. Also if a workflow is created without a namespace spcified, it is assumed to be in the defualt namespace.

    When a workflow is being executed, the namespace is saved under params and passed to all its sub workflow executions. When looking for the next sub-workflow to run, the correct workflow will be found by name and namespace, where the namespace can be the workflow namespace or the default namespace. Workflows in the same namespace as the top workflow will be given a higher priority.

  • External OpenStack action mapping file could be specified at sync_db.sh or mistral-db-mange script. For more details see ‘sync_db.sh –help’ or ‘mistral-db-manage –help’.
  • From now it is optional to list openstack modules in mapping file which you would not include into supported action set.
  • New function, called tasks, available from within an expression (Yaql, Jinja2). This function allows to filter all tasks of a user by workflow execution id and/or state. In addition it is possible to get tasks recursively and flatten the tasks list.
  • New parameter called ‘include_output’ added to action execution api. By default output field does not return when calling list action executions API
  • By default, admin user could get/list/update/delete other projects’ resources. In Pike, only workflow/execution are supported.
  • Mistral action developer can get the start time of a workflow execution by using <% execution().created_at %>.
  • The Mistral docker image and tooling has been updated to significantly ease the starting of a Mistral cluster. The setup now supports all-in-one and multi-container deployments. Also, the scripts were cleaned up and aligned with the Docker best practice.

Upgrade Notes

  • Run python tools/sync_db.py --config-file <mistral-conf-file> to re-populate database.

Deprecation Notes

  • The config option ‘os-actions-endpoint-type’ is moved from DEFAULT group to ‘openstack_actions’ group.

Critical Issues

  • By default, output field will not return when calling list action executions. In the previous version it did, so if a user used this, and/or wants to get output field when calling list action executions API, it will be possible only by using the new include output parameter.

Bug Fixes

  • When we pass a workflow environment to workflow parameters using ‘env’ Mistral first evaluates it assuming that it can contain expressions (YAQL/Jinja) For example, one environment variable can be expressed through the other. In some cases it causes problems. For example, if the environment is too big and has many expressions, especially something like <% $ %> or <% env() %>. Also, in some cases we don’t want any evaluations to happen if we want to have some informative text in the environment containing expressions. In order to address that the ‘evaluate_env’ workflow parameter was added, defaulting to True for backwards compatibility. If it’s set to False then it disables evaluation of expressions in the environment.
  • Added support for referencing task and workflow context data, including environment variables via env(), when using YAQL/Jinja2 expressions inside AdHoc Actions. YAQL/Jinja2 expressions can reference env() and other context data in the base-input section.
  • Javascript support in docker image.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.