Current Series Release Notes¶
22.0.0-33¶
Upgrade Notes¶
The
mistral-wsgi-apiWSGI script, previously generated by pbr, has been removed. Deployment tooling should instead reference the Python module pathmistral.wsgi:applicationif the chosen WSGI server supports it (gunicorn, uWSGI), or implement a.wsgiscript wrapping it otherwise (mod_wsgi).
Security Issues¶
Added a new
cron_triggers:publicizepolicy (admin_only) and enforcement on create when scope is public. Previously, the cron trigger POST endpoint hardcoded the scope toprivateand ignored the scope field from the request body, so cron triggers could never be created as public. The scope field is now properly passed through to the database.
Added a new
dynamic_actions:publicizepolicy (admin_only) and enforcement on both create and update operations when scope is public. Previously, the dynamic actions POST endpoint did not persist the scope field and neither POST nor PUT enforced a publicize policy, allowing any user with create or update access to make dynamic actions public.
Added a new
environments:publicizepolicy (admin_only) and enforcement on both create and update operations when scope is public. Previously, the environment POST endpoint did not accept the scope field in the request body and neither POST nor PUT enforced a publicize policy, allowing any user with update access to make environments public.
Added a new
workbooks:publicizepolicy (admin_only) and enforcement on both create and update operations when scope is public. Previously, any project owner could make workbooks public as there was no publicize policy check on the workbook endpoints.
All
code_sourcesanddynamic_actionsAPI policies are now restricted to admin users only (admin_only). Previously, these policies defaulted toadmin_or_owner, allowing any project owner to create, read, update, and delete code sources and dynamic actions. Operators who need to restore the previous behavior can override the relevant policies in theirpolicy.yaml.
The
publicizepolicy for workflows, actions, and event triggers is now restricted to admin users only (admin_only). Previously, any project owner could make these resources public. A newcode_sources:publicizepolicy has also been added with the sameadmin_onlydefault, and publicize checks are now enforced on both create and update operations for code sources and event triggers where they were previously missing.
The Keystone
auth_tokenandservice_catalogare now masked in the workflow execution context (replaced with***). Previously, their real values were persisted in the database and accessible to workflow authors via$.openstack.auth_tokenand$.openstack.service_catalogYAQL expressions, which could allow token exfiltration. Actions are not affected as they receive their authentication token through the RPC context.
Bug Fixes¶
Fixed a keystone authentication failure when a workflow running under a trust-scoped token triggers another keystone call (for example, creating a cron trigger from within a workflow). The previous implementation passed the user’s token to
keystoneclient.Clientdirectly, which internally issuesPOST /v3/auth/tokensto re-authenticate. Keystone rejects this for trust-scoped tokens. The client now uses theadmin_tokenkeystoneauth1 plugin, which consumes the existing token without re-authenticating. See LP#2048851.
Other Notes¶
The REST API documentation is now published as a curated OpenStack API reference at https://docs.openstack.org/api-ref/workflow/, built from the
api-ref/source tree and covering every Mistral v2 resource. The previous auto-generated “REST API V2” page in the user documentation has been removed; requests to its old URL are redirected to the new reference.