Ansible 临时命令按顺序排列

标签 ansible ansible-2.x ansible-ad-hoc

我想在 EC2 实例列表上运行 ansible adhoc 命令。我希望 ansible 按顺序运行它,但 ansible 随机运行它们。例如:

13:42:21 @cnayak ansible :► ansible aws -a "hostname"
ec2 | SUCCESS | rc=0 >>
ip-172-31-36-255

ec3 | SUCCESS | rc=0 >>
ip-172-31-45-174

13:42:26 @cnayak ansible :► ansible aws -a "hostname"
ec3 | SUCCESS | rc=0 >>
ip-172-31-45-174

ec2 | SUCCESS | rc=0 >>
ip-172-31-36-255

有什么办法可以让它们按顺序运行?

最佳答案

默认情况下,ansible 并行运行任务。如果您希望它们连续执行,那么您可以使用“--forks”选项限制同时运行的 worker 数量。

将“--forks 1”添加到您的 ansible 调用应该在所有主机上按顺序运行您的命令(按 list 定义的顺序)。

关于Ansible 临时命令按顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37408042/

相关文章:

amazon-ec2 - Ansible Timeout (12s) 等待提权提示

ansible - 如何遍历剧本包括?

ssh - 如何在Ansible命令中传递用户名/密码

ansible 2.3.0 - 没有可用的身份验证方法

git - 使用 become/become_user 的 Ansible 2.1.0 无法设置临时文件的权限

vagrant - 在 Vagrant 中运行临时 Ansible 命令?

linux - 如何以 JSON、CSV 或其他格式获取 Ansible ad-hoc 命令的输出?

mysql - 如何使用ansible增加打开进程和文件的限制

list - 将列表转换为字典 - Ansible YAML

ansible - 通过ansible运行Python脚本