我需要在Ansible中以并发模式运行一些角色。
我通过以下方式运行ansible:
ansible-playbook install_full.yml --tags "10_clean_up,20_pull_images,30_install_postgres_11,40_install_jboss-eap-7.0" --extra-vars "ansible_user=user ansible_password=password"
剧本install_full.yml如下:
- hosts: localhost
vars_files:
- "vars/build.yml"
roles:
- { role: 10_clean_up, tags: 10_clean_up }
- { role: 20_pull_images, tags: 20_pull_images }
- { role: 30_install_postgres_11, tags: 30_install_postgres_11 }
- { role: 40_install_jboss-eap-7.0, tags: 40_install_jboss-eap-7.0 }
30个和40个角色可以同时运行(以节省时间),是否可以并行运行几个角色,而不是像现在这样-按订单列表?
非常感谢!
答案 0 :(得分:1)
目前不可能,许多人都要求使用该功能。来自ansible项目:https://github.com/ansible/ansible/issues/19083。 仅供参考,可以在任务上使用异步,但不能在角色上使用异步。
答案 1 :(得分:0)
您需要策略:免费使用要同时运行的一组角色。检查一下:
https://medium.com/@ibrahimgunduz34/parallel-playbook-execution-in-ansible-30799ccda4e0