我有以下要求。
- 在json数据上循环
- 使用以上数据并行运行任务
示例:我的json数据如下
{
"xyx":
{
"hostname": "xyz",
"username": "root",
"password": "welcome1",
"password2": "welcome2",
"version": "19.17",
"toversion" : "19.18",
"netconf": "bond",
"baseversion": "18.8"
},
"abc": {
"hostname": "abc",
"username": "root",
"password": "welcome1",
"password2": "welcome2",
"version": "19.17",
"toversion" : "19.18",
"netconf": "bond",
"baseversion": "18.8"
}
}
我需要在主机名abc
和xyz
中并行运行以下任务
- name: Image a system
command: python3 image.pyc "{{ hostname }}" {{ version }}
有人能帮我实现这个目标吗?
我试着在JSON上循环,但不确定如何在任务中使用它来并行运行。
1条答案
按热度按时间dy1byipe1#
给定变量 * images * 中的字典。使用过滤器 * dict2items *
(not测试)
,或从字典中获取值
(not测试)
也可以为此创建字典。根据需要在 * vars * 中声明以下变量
给予
然后,下面的任务应给出相同的结果
(not测试)
完整的测试行动手册示例
给予
问:***"如何并行运行任务?"***
答:异步运行循环中的任务。请参阅异步操作和轮询。例如,要测试计时,下面的行动手册将运行命令 * sleep 3 *
给予
从上一次调试中,您可以看到:
这是您在Ansible中可以获得的"最佳"并行性。