我有一个非常简单的剧本,我通过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
答案 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