我如何放慢ansible?

问题描述 投票:0回答:1

是否有一种通过在每次运行的服务器之间放置“休眠5秒”来减慢ansable的方法。

例如,我需要这样的东西:

# --sleep-in-between is a hypothetical flag that would easily explain what I'm looking for
ansible production_servers -a "systemctl restart network" -f 1 --sleep-in-between 5secs

因此,如果production_servers是一组服务器:server_1server_2server_3,那么以上命令将执行以下操作:

Output:
server_1: Executing systemctl restart network
sleep 5 seconds
server_2: Executing systemctl restart network
sleep 5 seconds
server_3: Executing systemctl restart network
sleep 5 seconds

我需要缓慢地进行自动化,以便在ansible运行时可以观察系统中监视系统中发生的任何故障。

ansible ansible-2.x ansible-facts
1个回答
0
投票

Q:“是否有一种方法可以通过在每次运行的服务器之间放置“休眠5秒”来减慢ansable?”

A:是的。它是。使用wait_for模块并将serial设置为1。例如,>

$ cat playbook.yml
- hosts: all
  serial: 1
  tasks:
    - debug:
        msg: systemctl restart network
    - wait_for:
        timeout: "{{ sleep_in_between|default(5) }}"

默认情况下,每个主机将等待5秒钟才能终止。可以从命令行进行设置。例如,睡眠10秒钟

$ ansible-playbook -e "sleep_in_between=10" playbook.yml
© www.soinside.com 2019 - 2024. All rights reserved.