gui*_*lem 8 concurrency download ansible
我正在同时使用 ansible 更新多个主机,但是我有一个限制...
我必须从一个公共存储库下载工件,同时下载不超过 3 个!
我目前的解决方案是将整个剧本限制为最多三个并发任务
strategy: linear
serial: 3
Run Code Online (Sandbox Code Playgroud)
是否可以仅针对特定任务步骤而不是整个剧本来限制并发?
没有直接的办法。只有诸如run_once循环delegate_to或将任务与循环相乘以及每个主机仅执行一项的解决方法。
有关详细信息,请参阅问题#12170,该问题已关闭,状态为“无法修复”。
delegate_to环形:
- mytask: ..
delegate_to: "{{item}}"
run_once: true
# many diff ways to make the loop
with_inventory_hostnames: all
Run Code Online (Sandbox Code Playgroud)
倍增任务:
- name: target task
debug: msg="Performing task on {{ inventory_hostname }}, item is {{ item }}"
with_items: "{{ play_hosts }}"
when: "hostvars[item].inventory_hostname == inventory_hostname"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5653 次 |
| 最近记录: |