我正在研究更大的 Ansible 剧本。我想使用的任务之一是使用netcat
. 在其中一台主机上,我想启动一个netcat
“服务器”,然后启动“客户端”以将任何字符串发送到服务器。
我在没有 Ansible 的情况下对此进行测试——一切正常,但在 Ansible 中netcat
返回1
。我知道这意味着网络连接没有建立。这是我的netcat
服务器任务:
- shell: |
nc -d -q0 -l 1234
poll: 0
async: 60
但是,这是行不通的。我试过在命令末尾添加 & 号,但没有成功。我做的另一件事是将 poll 设置为 > 0,然后检查“服务器”主机上的端口是否已打开(通过netstat -tulpn
)。不是。
我在这里错过了什么?
在 CLI 上执行上述命令将导致输出
其中一个最小的示例剧本
将导致输出
关于
建议使用
wait_for
模块 – 在继续之前等待条件,而不是正如人们已经从提供的示例输出中看到的那样,并且由于结果集和行为的差异。
进一步的文件