2016-05-24 2 views
1

Я хочу запустить команду adsoc adhoc в списке EC2 isntances. Я хочу, чтобы его можно было запускать последовательно, но невозможно запустить их случайным образом. Например:Команда ansible adhoc в последовательности

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 

Любой способ заставить их работать под заказ?
Спасибо!

ответ

3

По умолчанию выполняемые задачи параллельно выполняются. Если вы хотите, чтобы они выполнялись последовательно, вы можете ограничить число работающих одновременно, используя опцию «--forks».

Добавление «-forks 1» к вашему вызову ansible должно запускать вашу команду последовательно на всех хостах (в порядке, определяемом инвентаризацией).

+0

анзибль AWS -a "имя хоста" -f 1 работал для меня, спасибо! –

1

Вы можете использовать forks с командой adhoc и serial: 1 внутри игрового автомата.

По команде AdHoc:

ansible aws -a "hostname" --forks=1 

Внутри сборника пьес:

- hosts: aws 
    become: yes 
    gather_facts: yes 
    serial: 1 
    tasks: 
    - YOUR TASKS HERE 
Смежные вопросы