【问题标题】:Ansible skip import_playbook with variable definition带有变量定义的 Ansible 跳过 import_playbook
【发布时间】:2018-03-16 17:49:21
【问题描述】:

我有一个main.yaml,如下所示:

- import_playbook:1.yaml - import_playbook:2.yaml 变量: 允许2:假 时间:允许2

我希望剧本2.yaml 可以完全跳过(不要尝试在2.yaml 中执行任何任务)。 但是看起来2.yaml中的所有任务都会被调用但不会被执行。

文件1.yaml

- 名称:Go1 主持人:测试 收集事实:假 任务: - 调试:msg="来自 1.yaml 的消息"

文件2.yaml

- 名称:Go2 主持人:测试 收集事实:假 任务: - 调试:msg="来自 2.yaml 的消息"

输出是:

$ ansible-playbook main.yaml 播放 [Go1] *********** 任务[调试] ********* 2017 年 10 月 5 日星期四 03:10:12 -0400 (0:00:00.116) 0:00:00.116 ****** 好的:[test1] => {} 味精: 来自 1.yaml 的消息 播放 [Go2] ************ 任务[调试] ************ 2017 年 10 月 5 日星期四 03:10:12 -0400 (0:00:00.090) 0:00:00.206 ****** 跳过:[test1]

你可以说2.yaml 中的任务也被调用但被跳过了。 但我不希望在2.yaml 中调用任何任务。

有可能吗?

【问题讨论】:

    标签: ansible


    【解决方案1】:

    不,这是不可能的。

    请在 serverfault 上查看关于 import/include difference 的答案。

    import_playbook 是静态的,所以它总是完成并且when 语句附加到其中的所有内容。

    【讨论】:

    猜你喜欢
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多