从主机库存中按升序排列主机 - Ansible

时间:2014-08-28 09:45:06

标签: ansible ansible-playbook ansible-inventory

我在hosts-inventory中有100个主机。 hosts-inventory看起来像这样:

[workstations-new]
de001pc[100:201] ansible_connection=ssh ansible_ssh_user=root

当我运行ansible-playbook命令时:

ansible-playbook playbooks/linux/uptime.yml -i hosts-inventory --extra-vars "hosts=workstations-new" -k

正在所有主机上运行它,但它不会按升序排列主机。它使主机处于非顺序(103,14,102,100,...)

示例:

TASK: [uptime machine] ******************************************************** 
changed: [de001pc103]
changed: [de001pc104]
changed: [de001pc102]
changed: [de001pc100]
changed: [de001pc101]
changed: [de001pc107]
changed: [de001pc106]
changed: [de001pc108]
changed: [de001pc109]
changed: [de001pc110]
changed: [de001pc116]
changed: [de001pc112]
................................................

如何运行命令以升序获取主机?

1 个答案:

答案 0 :(得分:4)

默认情况下,Ansible将尝试并行管理播放中引用的许多计算机。 有些机器的回复速度可能比其他机器快一些。这就是为什么你在101之前看到103。

如果您希望严格按顺序处理托管计算机,则应使用serial: 1参数。但是,请记住,您将显着降低您的Playbook执行速度。如果我正确地进行数学计算,那就是在100台机器上慢了20倍。