【发布时间】:2016-03-18 15:51:51
【问题描述】:
我正在编写一个 Ansible 剧本,用于设置系统,在某些配置中,某些系统可能由另一个组织提供。一个很简单的例子:
库存:
- 应用服务器
- 数据库服务器
剧本:
设置两台服务器,并将application.properties 文件添加到应用服务器,其中包含数据库服务器的 IP、端口和用户/密码。
到目前为止工作,但随后出现了一个要求,即在某些部署中,数据库服务器由另一个组织提供,因此我无法将其包含在清单中,因为设置步骤失败,但我仍想生成属性应用服务器的文件(包含我从其他人那里获得的数据库服务器信息)。
考虑到有 6 种这样的服务器类型,而不仅仅是 2 种(所以不只是 2 种不同的场景,其中有很多排列),什么是涵盖这两种场景(我自己的数据库服务器和提供的数据库服务器)的最不痛苦的解决方案服务器是为我提供的,这是我的)。
编辑:
更具体地说,我遇到的问题是,如果我在系统不是我的时候使用 vars,而在系统是我的时候使用事实,那么我在编写 application.properties.j2 模板时会遇到问题,因为事实和变量的引用方式不同。如何在模板中使用 var,但如果未定义 var 则使用事实?
【问题讨论】:
标签: ansible ansible-playbook ansible-2.x