kayobe/releasenotes/notes/improve-namespacing-for-internal-playbooks-baed54403608c3e7.yaml
Will Szumski 1bb33e8e41 Prevent accidental overriding of Ansible extensions
When using the custom playbook feature, it is possible to affect the
behaviour of internal kayobe playbooks by installing newer versions of
roles, collections, or plugins. This is almost always undesirable. It
occurs because ansible extensions in kayobe config currently have
precedence over the kayobe internal variants. We can prevent users
accidentally breaking kayobe internal playbooks by searching for
extensions in paths in the kayobe install first, followed by kayobe
config (but only when running internal playbooks). The behaviour when
running external playbooks is unchanged. This method still allows you to
install additional plugins, which can be useful in kayobe config e.g
processing a variable with a custom filter plugin.

Change-Id: I34f0351dbcb50104c9a4d6706d94a349c3ea3b9f
Closes-Bug: #2056473
Co-Authored-By: Matt Crees <mattc@stackhpc.com>
2024-11-12 17:24:29 +01:00

23 lines
1.1 KiB
YAML

---
fixes:
- |
The Ansible search paths, when running Kayobe internal playbooks, have been
modified so that collections, roles and plugins internal to the Kayobe
installation have precedence over those installed in Kayobe configuration.
This improves the usability as it is now possible to install a newer
version of an extension without affecting internal Kayobe playbooks.
`LP#2056473 <https://launchpad.net/bugs/2056473>`__
upgrade:
- |
Ansible plugins, roles, and collections (collectively known as extensions)
installed in Kayobe configuration no longer have precedence over internal
Kayobe variants of the same extension. You can revert back to the previous
behaviour by manually exporting the relevant Ansible variables, e.g
``ANSIBLE_COLLECTIONS_PATH``. It is not anticipated that this will affect
many users as it is still possible to supplement Kayobe with additional
plugins.
- |
System folders and home directories are no longer searched when looking for
Ansible extensions. It is recommended to install your collections using
``$KAYOBE_CONFIG_PATH/ansible/requirements.yml``.