Ansible主机变量

时间:2017-04-25 19:51:51

标签: ansible

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

1 个答案:

答案 0 :(得分:2)

您可以使用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