Ansible:在playbook期间访问主机块之间的set_fact变量

时间:2018-05-30 12:17:17

标签: ansible ansible-facts ansible-template

[注意]:这与访问其他主机的yaml数据不同,如https://docs.microsoft.com/en-us/azure/sql-database/sql-database-develop-error-messages所述。这是在执行期间设置我自己的变量,并希望以后访问它

我正在使用ansible-playbook在2个vm池上执行某项任务。

假设我在vms1池中只有一个主机。 我尝试动态地从该系统获取主机名,并且我希望在同一文件中的另一个hosts块中重用相同的变量。

我收到的错误是,

  

失败! => {“msg”:“任务包含一个未定义的选项   变量。 错误是:'myHostname'未定义

我的playbook yml文件看起来有点像这样,

- hosts: vms1
  tasks:
    - name: Getting file list
      shell: ls /my/path/
      register: shellOutput

    - set_fact:
        fileList: "{{ shellOutput.stdout }}"

- hosts: vms2
  tasks:
    - name: Get file list
      shell: "echo {{ fileList }} >> /tmp/hostFileList.txt"

0 个答案:

没有答案