如何在Ansible剧本中为同一角色指定不同任务文件?
解决方案:使用
tasks_from指定角色任务文件 你完全可以通过Ansible角色的tasks_from参数实现需求,无需新建角色或依赖标签。
在你的reset.yaml剧本中,只需在引用node角色时添加tasks_from字段,指定执行reset.yaml任务文件即可,具体写法如下:
- name: Node Reset hosts: node become: true gather_facts: true roles: - role: node tasks_from: reset.yaml
补充说明:
tasks_from参数用于覆盖角色默认的任务入口(默认是tasks/main.yaml),直接指定角色tasks目录下的目标任务文件- 你的角色目录已存在
tasks/reset.yaml,完全匹配该配置,执行剧本时会运行reset任务而非默认的main任务 - 后续如果需要调用
unmount.yaml这类其他任务文件,同样可以用tasks_from: unmount.yaml来指定
内容的提问来源于stack exchange,提问作者Floren
相关产品推荐
相关产品推荐

