DEV Community

Cover image for Fully qualified collection names
XLAB Steampunk
XLAB Steampunk

Posted on

Fully qualified collection names

How does the introduction of the fully qualified collection names (FQCN) affect our Ansible playbooks?

Up until Ansible 2.10, all module names lived in a single global namespace. To use a module in a playbook, all we needed to know was the module's name, and we were ready to go.

But things changed with Ansible 2.10. Now each Ansible plugin and module lives in a collection that, in turn, lives in a namespace. For example, the service module's FQCN is ansible.builtin.service, which means that the service module now lives in the builtin collection from the ansible namespace.

Because breaking all existing playbooks was not an option, Ansible 2.10 also introduced a mapping from 2.9 names to corresponding FQCNs. Which is great because we do not have to update our playbooks at all, right? Well, not quite. Because the mapping only covers the content from Ansible 2.9, we will have to start using FQCNs for content that was never part of Ansible 2.9.

And how to find out where each of the modules moved? Just add a -vv to your ansible-playbook run, and Ansible will tell you. You are welcome ;)

Top comments (0)