我有以下剧本 ( playbook.yaml)
- hosts: myfirsthost[0]
tasks:
- name: Get a token
slurp:
src: /var/mytoken
register: tokenFile
- hosts: myotherhosts
vars:
fileToken: "{{ hostvars[groups['myfirsthost'][0]]['tokenFile']['content'] | b64decode | replace('\n', '') }}"
tasks:
- debug:
msg: The token {{fileToken}}
Run Code Online (Sandbox Code Playgroud)
当我为所有主机运行它时,它工作正常。
但是当我针对组中包含的单个主机myotherhosts(不在 group 中myfirsthosts)运行它时
ansible playbook.yaml --limit thesinglehost
Run Code Online (Sandbox Code Playgroud)
它不执行第一个任务,然后变量无法初始化,这是预期的。
您是否知道我如何强制所有主机执行“获取令牌”任务,即使它们不在myfirsthost?
ansible ×1