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: