来自剧本

时间:2017-03-17 15:27:00

标签: ansible-inventory ansible-tower

如何从剧本中引用塔库存组?我的剧本正在调用特定角色,每个角色都会调用塔上的其他库存组。

到目前为止,我所尝试的是:

host: "{{ inventory_hostname in groups['ios'] }}"

host: "ios"

host: ios

这只是我在模板上的语法吗? 使用塔库存组时,我找不到任何参考。

我收到某种类型的错误,说明无法找到,或尝试正常连接到“ios”

"failed to connect to ios:22"

3 个答案:

答案 0 :(得分:0)

如果您想引用某个群组,则应使用host:代替{{1}}。

答案 1 :(得分:0)

来自Ansible Tower支持:

  

每个作业模板只能看到一个顶级广告资源。但是,可以在单个清单中创建可能重叠的组和子组。对于大多数应用程序,可以组织单个清单以提供必要的特异性。如果必须在多个作业模板中引用特定库存分组,则必须在两种情况下使用相同的顶级库存,或者将库存组复制到两个库存。

因此,您无法在hosts中引用其他群组,每个作业模板只会看到其提供的广告资源,但您可以使用工作流程来更改库存或创建重叠的群组。

答案 2 :(得分:0)

尝试从以下开始: hosts: "{{ ansible_play_batch }}"

此“魔术变量”为您提供了从Tower传入的[活动,可访问的]主机的列表

我之所以这样,是因为hosts:是剧本中的必填字段,并且我不想在塔式广告资源选择的顶部进行硬编码。