Multiple users running ansible on the same host causes blocking

I am running Ansible 2.2.0 on Ubuntu 16.04. When I have more than one user running a playbook on hosts all from this same server, I sometimes observe this behavior:

  • user 1 starts running a playbook on host A, playbook is running along fine
  • user 2 starts running a playbook on host B, playbook runs along fine
  • user 1’s playbook gets stuck on a task, if you strace it it is waiting on a select() call
  • user 2’s playbook finishes running, immediately user 1’s playbook stops blocking and finishes running

I don’t see resource contention on this machine (RAM or CPU) and each ansible instance is running as different users on the system. Any ideas what could be causing this “one ansible-playbook run blocks the other” behavior and how to fix it?

Thanks,

Andrew

ansible itself does not share resources across invocations, but there
are a few things that could be configures to cause this.

Are you using a common user? do you have custom callbacks or facts
cache setup to a absolute path? are your contol persist settings
relative or absolute?

Brian,

Thanks, these are good ideas:

Are you using a common user?

no, separate users

do you have custom callbacks or facts cache setup to a absolute path?

yes, but the custom callback path is relative

are your contol persist settings relative or absolute?

absolute; I have changed this to be a relative path inside each user’s home directory

I’ll re-test and let you know if this fixes it.

Thanks,

Andrew