host_pinned strategy not working as expected?

I have a playbook with a couple dozen tasks. It runs against 3000 Windows Server targets with 1000 forks and strategy: host_pinned. It takes about two hours to run to completion when 90% of servers have no changes to be made.

Had an idea to speed it up: Write a pre_task that runs a powershell script to collect some basic info. All other tasks are in blocks with when: parameters that skip the block if the output of the pre_task was correct. This took the runtime against one node from multiple minutes down to just a few seconds.

But a run against all 3000 servers still ran for just under two hours.

Looking at the individual logs for each host, there’s tens of seconds to multiple minutes between each skipped step - When there should be milliseconds, or a couple seconds at worst.

Almost like it’s waiting for other hosts to complete the step before it moves on… that’s the behavior I’d expect if I had set a serial value … not the behavior when using a large fork count and host_pinned strategy

Am I doing something wrong here? How can I speed up execution against individual hosts?

Hello all,

I tried to create basic playbook to collect all windows facts. I could ping the server well but “ansible_facts” is not giving me any info. I end up with error.

Whereas when I run ad hoc command using setup module I could see beautiful windows facts in Jason format. What is the issue when the same kind of output is expected from playbook.

Can anyone help please?

Regards,
Anitha

Hello all,

I tried to create basic playbook to collect all windows facts. I could ping the server well but “ansible_facts” is not giving me any info. I end up with error.

Whereas when I run ad hoc command using setup module I could see beautiful windows facts in Jason format. What is the issue when the same kind of output is expected from playbook.

Can anyone help please?

Regards,
Anitha

Hello all,

I tried to create basic playbook to collect all windows facts. I could ping
the server well but "ansible_facts" is not giving me any info. I end up
with error.

What is the error?

Whereas when I run ad hoc command using setup module I could see beautiful
windows facts in Jason format.

What is the command?

What is the issue when the same kind of output is expected from playbook.

Can you show us the playbook?

Can anyone help please?

We need more information about exactly what you are doing and exactly what the
result is.

Antony.