2014-08-28 50 views
2

我在主机库存中有100个主机。主机库存看起来是这样的:从主持人接收主机 - 库存升序 - Ansible

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

当我运行一个ansible-剧本命令:

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] 
................................................ 

我怎样才能运行命令采取以升序的主机?

回答

3

默认情况下,Ansible将尝试并行管理游戏中引用的许多机器。有些机器可能比其他机器稍微快一些。这就是为什么你会在101之前看到103.

如果希望按顺序严格处理托管计算机,则应使用serial: 1参数。但是,请记住,您会显着减慢您的剧本执行速度。如果我正确地做我的数学,在20倍慢的20台机器上。

+0

非常感谢您的回答。它有很多帮助。 – Romulus 2014-09-04 12:37:56