V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
plko345
V2EX  ›  Linux

我是不是对 ansible include_role 理解错误

  •  
  •   plko345 · 2020-07-22 19:20:26 +08:00 · 1556 次点击
    这是一个创建于 1569 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我使用 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 理解错了吗?

    3 条回复    2020-07-26 16:14:41 +08:00
    Kronos
        1
    Kronos  
       2020-07-22 19:35:11 +08:00 via Android
    有 main.yaml 可以用来设置要执行的 task 吧?
    plko345
        2
    plko345  
    OP
       2020-07-22 19:37:58 +08:00
    @Kronos 对啊, 这都是 main.yaml 里的, 只是在不同的 role 里面
    plko345
        3
    plko345  
    OP
       2020-07-26 16:14:41 +08:00
    更新下, 确实是我理解错了, apply 指的是设置 tags, 而不是指定要运行的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5611 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:36 · PVG 14:36 · LAX 22:36 · JFK 01:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.