当前位置:网站首页>ansible模块之include_tasks:为什么加了tags后导入的任务没有执行?
ansible模块之include_tasks:为什么加了tags后导入的任务没有执行?
2022-04-23 05:59:00 【Sebastien23】
本文中ansible的版本为2.9。
场景再现
下面是Role中的要测试的任务:
# role01.yml
# ...前面的tasks
- name: included task for test
include_tasks: test01.yml
tags:
- test01
# ... 后面的tasks
在执行整个Role时,test01.yml会被正常导入playbook并执行:
$ ansible-playbook -i hosts.ini all role01.yml
但是当我们想通过tags单独测试这个任务时,
$ ansible-playbook -i hosts.ini all role01.yml --tags "test01"
奇怪的事情发生了:include_tasks本身这个任务执行成功了,但是被导入的test01.yml却并没有被执行!
原因分析
在对include_tasks任务使用tags时,只会对include_tasks任务本身生效,而并不会对其中包含的任务生效。
那如果我们要对其中包含的任务也生效,该怎么做呢?
解决办法
可以通过include_tasks模块的apply参数,为包含的任务添加标签。
将上面的任务改成下面的形式
# role01.yml
# ...前面的tasks
- name: included task for test
include_tasks:
file: test01.yml
apply:
tags: test01
tags: always
# ... 后面的tasks
然后调用即可:
$ ansible-playbook -i hosts.ini all role01.yml --tags "test01"
注意,上面的 tags: always
不能省略,否则 include_tasks本身不会被执行。always标签只对include_tasks本身生效。在调用其他tags时,include_tasks也会always执行,但是其中包含的任务不会被执行。
版权声明
本文为[Sebastien23]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Sebastien23/article/details/122648720
边栏推荐
- redis 常见问题
- offset和client获取dom元素位置信息
- 【代码解析(1)】Communication-Efficient Learning of Deep Networks from Decentralized Data
- Tensorflow&&Pytorch常见报错
- 【代码解析(2)】Communication-Efficient Learning of Deep Networks from Decentralized Data
- Get DOM element location information by offset and client
- Binary sum of leetcode questions
- 数据可视化基础了解
- 阅读笔记:FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation
- surprise库中evaluate函数弃用解决方法
猜你喜欢
TP5 error reporting variable type error: array solution
Kids and COVID: why young immune systems are still on top
Decentralized Collaborative Learning Framework for Next POI Recommendation
SQL学习|窗口函数
Imitation scallop essay reading page
postMan 传参总结
leetcode之爬楼梯方法数
TP5 uses redis
freeCodeCamp----arithmetic_arranger练习
redis 实践笔记和源码分析
随机推荐
初步认识Promse
百度地图案例-缩放组件、地图比例组件
XDP类型的BPF程序
JS正则匹配先行断言和后行断言
模仿扇贝短文阅读页面
JS实现网页轮播图
leetcode之爬楼梯方法数
JS handwriting compatibility event binding
Get DOM element location information by offset and client
Leetcode刷题之实现strStr()
Each traversal usage of tp6
offset和client獲取dom元素比特置信息
Leetcode integer plus one
浏览器中堆栈内存的底层处理
freeCodeCamp----budget & category 练习
阅读笔记:FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation
Kids and COVID: why young immune systems are still on top
freeCodeCamp----arithmetic_arranger练习
TP5 uses redis
Set and map