【问题标题】:Ansible - include one playbook into another in loopAnsible - 在循环中将一个剧本包含到另一个剧本中
【发布时间】:2019-11-06 17:17:45
【问题描述】:

我是 ansible 的新手,并试图弄清楚如何从另一个 playbook 循环调用一个 playbook。我还想在主剧本中使用输出。不确定在 Ansible 中是否可行。

以下是其他编程语言的存根 -

masterplaybook.yml - from where I want to invoke auditplaybook

   for devicePair in devicePairList
        output = auditdevice.yml -e "d1=devicePair.A d2=devicePair.B"
    save/process output

auditdevice.yml playbook 使用 d1 和 d2 作为执行审计、运行命令等的主机。它正在对作为参数的一部分传递的动态清单执行审计。

是否可以使用 Ansible 实现上述目标?如果是,有人可以举个例子吗?

【问题讨论】:

  • 正如 Vladimir 所指出的,include_playbook 无法做到这一点。但是include_tasks 可以在带有循环的任务中使用。请参阅有关including and importing的文档
  • 是否可以将播放包含在循环中?因为我需要在动态库存上运行游戏。
  • 没有。不过,您可以将播放 hosts 指定为变量。

标签: ansible ansible-2.x


【解决方案1】:

问:“如何在循环中从另一个 playbook 调用一个 playbook?”

答:不可能。引用自import_playbook

“你不能在剧本中使用这个动作。”

请参阅example


FWIW。 ansible-runner 能够控制带有类似于 AWX 的项目的剧本。见example

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    相关资源
    最近更新 更多