Hi, now that we’ll be probably upgrading our CheckMK Servers again with Ansible I need another information from the knowledgeable People in this Forum.
When we first Upgraded the Servers the Playbook executed on one Server at a time, with 60+ Server this task takes several hours to complete, I tried to set the “strategy: free” parameter but that isn’t allowed, how do I need to set up the Playbook to run a Server Site Upgrade on 10 Servers in parallel?
My setup is too small to have played around with it in the past, so i do not know if the above info may be a/the solution.
But from what i read in the article it gives you options to try out.
You should probably look at the forks parameter in your ansible.cfg which controls how many processes are spawned on the Ansible controller. It should default to 5.
Hi Thanks for the fast responses, all the mentioned adjustabilities are configured, in my config, I will try the next update and will go on from there.
Hi @robin.gierse
I got a update on this question.
I’ve enabled strategy = free within the ansible.cfg that comes with the Collection and also within the Playbook used for the Update.
The Server starts processing the Playbook as expected but failed at this task:
TASK [checkmk.general.server : Fail if this is a downgrade.]
The error output:
ERROR! The ‘ansible.builtin.pause’ module bypasses the host loop, which is currently not supported in the free strategy and would instead execute for every host in the inventory list.
The error appears to be in ‘/var/ansible/repository/ansible_collections/checkmk/general/roles/server/tasks/update-site.yml’: line 26, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
name: “Short pause for patch update.”
^ here
Maybe you have some time to have a look into this, Updating this much Servers with the free strategy would be a huge win for us. As every Site Update takes currently about 10 Minutes per Server with Backup.
As the error clearly states, the ansible.builtin.pause module is incompatible with strategy = free. You probably also want to double-check, if that strategy really is sensible for upgrade scenarios in general.
The only workaround/solution I can see from the top of my mind is to add a variable to the role, that disables this kind of safeguards entirely, skipping the ansible.builtin.pause module altogether. I do not really like the idea, but I could live with it, if someone wants to create a pull request.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.