Posts

Showing posts from October, 2022

Ansible - run_once, set_fact and include_tasks - The pitfalls

Image
Ansible does provide a wonderful option to execute a module or command in only one host called run_once but the results and facts are applied to all the hosts involved in the play. See definition and working :     This blog has good information on how it can be used to in various scenarios.  However, I don't want to talk about how it can be used and how its working (well, the blog calls it magic 😄) is quite useful. Rather, I want to share an interesting anomaly of run_once, when used in conjunction with either include_roles or include_tasks.   My scenario is quite simple: set_fact with run_once: My playbook: $ cat run_once_set_fact.yml --- - hosts: all gather_facts: False tasks: - name: Set fact fact1 set_fact: fact1: "DUMMY" run_once: True - debug: msg: "fact1: {{ fact1 }}" Output: PLAY [all] *******************************************************************************************