根据 Ansible 自己的说法文档:
已更改:
指示任务是否必须进行更改的布尔值。
那么为什么报告主机名的命令会返回“已更改”状态呢?
localhost:/Users/me/VMs $:ansible multi -a "hostname" -f 1
192.168.60.4 | CHANGED | rc=0 >>
orc-app1.test
192.168.60.5 | CHANGED | rc=0 >>
orc-app2.test
192.168.60.6 | CHANGED | rc=0 >>
orc-db.test
答案1
不过,您没有运行该hostname
模块。事实上,您根本没有指定模块。-a
设置争论对于一个模块,而不是模块本身(即-m
)。默认模块是命令如果成功运行,命令(以及 shell 和类似模块)的状态始终为更改(因为 Ansible 不知道如何跟踪某些任意命令可能做出的更改)。