Today while I was running a particularly large Ansible playbook about the 15th time in a row, I was wondering why this playbook seemed to run quite a bit slower than most other playbooks, even though I was managing a server that was in the same datacenter as most of my other infrastructure.
I have had
pipelining = True in my system
/etc/ansible/ansible.cfg for ages, and initially wondered why the individual tasks were so delayed—even when doing something like running three
lineinfile tasks on one config file. The only major difference in this slow playbook's configuration was that I had a local
ansible.cfg file in the playbook, to override my global
roles_path (I wanted the specific role versions for this playbook to be managed and stored local to the playbook).
So, my curiosity led me to a more thorough reading of Ansible's configuration documentation, specifically a section talking about Ansible configuration file precedence: