Ansible:包含变量

时间:2015-01-13 12:21:59

标签: ansible

我试图根据操作系统应用任务,但似乎变量无法使用include

我尝试了什么

- include: {{ ansible_distribution }}_mongodb.yml

同样适用于调试模式。 ansible版本:1.8.2

1 个答案:

答案 0 :(得分:3)

对于ansible 1.7.2,变量不会在include语句中展开。

您可以使用:

- include: ubuntu_mongodb.yml
  when: ansible_distribution == 'Ubuntu'

或者:

- include: ubuntu_mongodb.yml
  when: ansible_distribution in ['Ubuntu']

请注意,使用ansible_os_family变量可以更通用。对于一个ubuntu框,这些变量的内容是:

  • ansible_os_family:" Debian"
  • ansible_distribution:" Ubuntu"