【问题标题】:Ansible Host VariableAnsible 主机变量
【发布时间】:2017-04-25 19:51:50
【问题描述】:

我有一个非常简单的剧本,我通过 IP 地址对数百个主机运行。这些主机是移动设备,并且经常更改 IP 地址。发生这种情况时,它可能会挂起整个剧本,因为它永远不会完成任务。我添加了一个 local_action 等待 30 秒然后继续。问题是我无法弄清楚主机变量是什么。从主机文件传递的 IP 地址不会显示在清单中,因为它是一个单元连接。我使用什么变量让它等待我运行 playbook 的 IP 地址?

---
- hosts: all   
  tasks:

  - name: Search Messages
    shell: /bin/grep 'eth1:'  /var/log/messages
    register: sysout

    - name: Wait For 30 Seconds
      local_action:
        module: wait_for
          host= "????"
          port=22
          delay=20
          timeout=30
      ignore_errors: true
      register: Back

【问题讨论】:

    标签: ansible


    【解决方案1】:

    您可以使用inventory_hostname变量引用当前主机:

    - name: Wait For 30 Seconds
      local_action:
        module: wait_for
        host: "{{ inventory_hostname }}"
        port: 22
        delay: 20
        timeout: 30
     ignore_errors: true
     register: Back
    

    【讨论】:

    • 是的,这是正在寻找的变量。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2019-06-20
    相关资源
    最近更新 更多