2014-08-28 34 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