V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
plko345
V2EX  ›  Linux

我是不是对 ansible include_role 理解错误

  •  
  •   plko345 · Jul 22, 2020 · 2166 views
    This topic created in 2109 days ago, the information mentioned may be changed or developed.

    我使用 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 replies    2020-07-26 16:14:41 +08:00
    Kronos
        1
    Kronos  
       Jul 22, 2020 via Android
    有 main.yaml 可以用来设置要执行的 task 吧?
    plko345
        2
    plko345  
    OP
       Jul 22, 2020
    @Kronos 对啊, 这都是 main.yaml 里的, 只是在不同的 role 里面
    plko345
        3
    plko345  
    OP
       Jul 26, 2020
    更新下, 确实是我理解错了, apply 指的是设置 tags, 而不是指定要运行的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2337 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:27 · PVG 13:27 · LAX 22:27 · JFK 01:27
    ♥ Do have faith in what you're doing.