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
我想在变量中定义的服务器上执行playbook任务。视情况而定。我也有客户。我如何检查主机名是SERVER-1、SERVER-2还是变量中定义的任何其他值并执行任务?我的客户端机器将跳过该任务。我怎样才能做到这一点??
ansible_hostname
内部的Loof forrsyslog_server
var
- 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
var
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(',')