Ansible run_once & when
Ansible has issues with “run_once” and “when” in the same task. If the “when” only evaluates to true for some hosts, it's basically undefined wether the task will run or be skipped based on whatever host happens to be the first one to be evaluated. If the first one is skipped, the task won't even run once if all others would evaluate as true.
- name: Create temporary directory to download agent on ansible host when: package.pkgversion != agent_installed_version register: tempdir_ansiblehost run_once: true delegate_to: localhost check_mode: no tempfile: state: directory