Understanding fully qualified collection names
Before collections existed, every module that was created and contributed to Ansible had to have a unique name. Thus, it was very common to see modules named like this (both were taken from the Ansible 2.8 release):
ios_bgpeos_bgpfortios_router_bgp
All three of these modules are to modify the Border Gateway Protocol (BGP) configuration of network devices, but they all have the device name added in front of bgp to do the following:
- Ensure their names are unique
- Ensure Ansible coders can understand what their code does
Collections remove the need for unique module names, so it is now possible for contributors to create modules with names that overlap. This is valuable because it removes the need for such long and verbose module names, but it creates the risk of unexpected code behavior. For example, we often use the debug module to understand what our playbook code does and print something out...