技术解析

我是不是对 ansible include_role 理解错误
0
2021-06-16 16:40:34
idczone

我使用 include_role 指明了要执行的 tags, 但结果却是目标 role 中的所有 task 都执行了

ansible 2.9.10, 我有两个 role, 叫 apple 和 cat

  • apple

    - name: Exec `cccc` tasks
      include_role:
        name: cat
        apply:
          tags:
            - cccc	# 设置 cccc, 我理解是执行目标 role 下设置了 cccc 的 task
    
  • cat

    - name: task1
      # ...
    
    - name: task2
      # ...
    
    - name: task3
      include_tasks: cat_fish.yaml	               # 执行另一文件中的 task
      loop:
        - a
        - b
      loop_control:
        loop_var: out_item
      tags:
        - cccc						# 设置了 cccc, 我希望只执行这个 task3
    - name: task4
      # ...
    

结果却是 cat 中的所有 task 都执行了一遍, 这是怎么回事? 是我对 apply.tags 理解错了吗?


有 main.yaml 可以用来设置要执行的 task 吧?

对啊, 这都是 main.yaml 里的, 只是在不同的 role 里面

更新下, 确实是我理解错了, apply 指的是设置 tags, 而不是指定要运行的

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服