Hi,
I’ve been able to run my playbook using fireball and a custom inventory (that queries the ec2 API) reasonably well using 5 hosts.
To completely apply a playbook from scratch takes about 160 seconds with paramiko and 65 seconds with fireball.
However, when I scale this out to 100 hosts, the playbook starts off quite quickly, and outputs lots of successful tasks but then after about 1 minute, it just grounds to a halt, with no apparent diagnostics.
I’m using ansible devel @ 8099e4ac.
What I have noticed is that specifying the inventory on the command line and having that get dynamically evaluated slows ansible down a lot. So to mitigate this, I just ran the inventory script once and piped the output into a text file, so that I could avoid the penalty of the EC2 API.
Then I ran this playbook to get fireballs running on each host:
- hosts: all
user: root
gather_facts: false
connection: paramiko
tasks: - action: fireball
Running it like this:
$ ansible-playbook -i hosts.txt boot-fireball.yml -f 100 -vvv
took about 5 seconds to complete for 100 hosts.
Then I tried to run my actual playbook via fireball using the same hosts.txt forks=100, and this kicks off very quickly, successfully executing many tasks.
However, after about a minute, it completely grinds to a halt, without any diagnostics.
Is there anything that I can prod to get it to tell me where it is hanging?
For note, switching to paramiko appears to work, i.e. it is able to complete the entire playbook against all of the 100 hosts.
Cheers,
Ben