ansible在连接到其他主机时不读入变量
我有一本剧本,里面有一系列变量:ansible在连接到其他主机时不读入变量,ansible,Ansible,我有一本剧本,里面有一系列变量: vars_files: - vars/myvariables.yml tasks: - name: Debug Variable List debug: msg: "An item: {{item}}" with_list: "{{ myvariables }}" 这将从variables.yml文件中打印出“myvariables”列表,其中包含: --- myvariables: - variable1 -
vars_files:
- vars/myvariables.yml
tasks:
- name: Debug Variable List
debug:
msg: "An item: {{item}}"
with_list: "{{ myvariables }}"
这将从variables.yml文件中打印出“myvariables”列表,其中包含:
---
myvariables:
- variable1
- variable2
我得到了如下预期结果
"msg": "An item: variable1"
"msg": "An item: variable2"
但是,当我连接到另一台主机并运行相同的调试语句时,它会抛出一个错误:
vars_files:
- vars/myvariables.yml
tasks:
- name: Configure instance(s)
hosts: launched
become: True
remote_user: ubuntu
port: 22
gather_facts: False
tasks:
- name: Wait for SSH to come up
delegate_to: ***
remote_user: ubuntu
connection: ssh
register: item
- name: Debug Variable List
debug:
msg: "An item: {{item}}"
with_list: "{{ myvariables }}"
输出:
"msg": "'myvariables' is undefined"
当连接到另一个不是本地主机的主机时,如何定义变量文件
在此方面的任何帮助都将不胜感激 通过“主机:启动”,您开始了新的剧本。将vars_文件放入本手册的范围(见下文)
查看。包括足够的代码,以允许其他人重现问题。有关这方面的帮助,请阅读如何创建一个@Vladimir Botka谢谢。我已经添加了额外的任务。我希望这是一个关于如何将变量文件传递到主机的解决方案?谢谢!这就解决了问题。作为主机:启动启动一个新的剧本,这是连接到主机时的最佳实践方法吗?是的。剧本从连接主机开始。尝试“ansible playbook-VVV…”并查看工作流。
- name: Configure instance(s)
hosts: launched
become: True
remote_user: ubuntu
port: 22
gather_facts: False
vars_files:
- vars/myvariables.yml
tasks: