I use following condition to check whether certain role is present: {% if "openmap" in role_names %}
. However it looks like role_names
contains only role names that are executed on the current host. I came to this conclusion because I have following code in my nginx.conf.j2
:
...
{% if "monitoring" in role_names %}
# monitoring proxying if the role is enabled
location = /monitoring {
proxy_pass http://{{ groups['monitoring_server'][0] }}:{{ external_grafana_port | int + group_port_offset | int }};
}
{% endif %}
...
and that part is skipped despite the fact that my yaml
file that I run with ansible-playbook
has this:
...
- hosts: monitoring_server
become: yes
roles:
- role: monitoring
...
I would like to check whether certain role is present in the whole playbook, even though it will not be executed on the current host but rather on another one. How can I do it?
question from:
https://stackoverflow.com/questions/65901598/ansible-playbook-wide-role-names 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…