Brian Coca
unread,Oct 20, 2023, 11:14:16 AM10/20/23Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ansible...@googlegroups.com
short answer:
Because collections
long answer:
Since we added the 'collections' feature we also introduced
namespaces, including for the modules that existed before collections
(version 2.9), they CAN still use the 'short name' or 'module name' as
you called it, even for modules that were moved to collections, will
still work (as long as the providing collection is installed) with the
short name. So you DO NOT NEED to update your playbooks to work with
newer versions of Ansible, it is just what the updated documentation
and linting tools recommend for new content or when you are updating
existing plays/roles.
To ensure disambiguation the ansible.builtin and ansible.legacy
namespaces were created, the 'builtin' will always select the modules
'shipped' with ansible, while 'legacy' will allow for the overridden
module of same name. For example `ansible.builtin.ping` will always
used the shipped copy, while `ansible.legacy.ping` will use that copy
unless there is another version of the copy module in a play adjacent
`library/` directory (or in role). Using the 'ping' name will work
like if using `ansible.legacy.ping` which is the same as 'pre
collection' behavior.
For modules that used to be in core in <= 2.9, you can still use the
short name as we have a 'redirect file' that will go to the collection
version of the module, ensuring backwards compatibility.
note: what i just wrote for 'modules' applies to all plugin types, it
is just modules are the most commonly used/thought of.
--
----------
Brian Coca