content of inventory file:
all:
vars:
rsyslog_server: SERVER-1,SERVER-2 # It can have one or more server
content of my task is:
- name: Copy server file in to /etc/rsyslog.d
template:
src: ../templates/server.j2
dst: /etc/rsyslog.d/server.conf
when: ansible_hostname == rsyslog_server
我想在服务器上执行在变量中定义的攻略任务。根据情况而定。我也有一些客户。如何检查主机名是SERVER-1、SERVER-2还是变量中定义的任何其他值并执行任务。我的客户端机器将跳过该任务。我怎么才能做到这一点?
发布于 2021-01-29 22:01:18
rsyslog_server
变量中ansible_hostname
的Loof
- name: Copy server file in to /etc/rsyslog.d
template:
src: ../templates/server.j2
dst: /etc/rsyslog.d/server.conf
when: rsyslog_server | search(ansible_hostname)
或者,您可以在rsyslog_server
变量的列表中查找ansible_hostname
- name: Copy server file in to /etc/rsyslog.d
template:
src: ../templates/server.j2
dst: /etc/rsyslog.d/server.conf
when: ansible_hostname in rsyslog_server.split(',')
https://stackoverflow.com/questions/65955481
复制相似问题