Introduction to Ansible collections
Although we’ve mentioned some of this earlier in this book, our goal is for this to be a complete one-stop source of information for collections – thus, if you’ve skipped directly to this chapter, don’t worry – we’ve got you covered. Let’s start with some history as this is important to understand the intention behind collections.
With Ansible releases prior to 2.9, everything was managed in one huge monolithic code base. While the core Ansible team owned this code base, the modules that really form the lifeblood of Ansible (after all, they are what enable it to automate so many disparate systems with ease) were not. Let’s say a network device vendor wanted to release a new module. Perhaps they added a new feature or fixed a bug in a prior release. They would have to make these changes, test them, and then submit them as a pull request to the main Ansible repository – not only is this...