What's the sane way run a task only if the host belongs to one or more groups?
Currently, I'm using a boolean within the relevant group, e.g.:
[db_servers:vars]
copy_connection_string=true
-
name: Copy db connection string file
synchronize: src= ... (truncated for clarity)
when: copy_connection_string is defined
What's the right condition in the when
clause to check whether the current host belongs to the db_servers
group?
Ansible contains special or magic variables - one of the most common is group_names
which is a list (array) of all the groups the current host is in.
- name: Copy db connection string file
synchronize:.........
when: "'db_servers' in group_names"
The above Ansible task will only run if the host is a member of the db_servers
group.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With