如何在Ansible模板模块中使用变量

时间:2015-12-17 00:30:39

标签: ansible jinja2

我正在尝试使用keepalived.conf.j2模板文件中的一个变量,我将其推送到远程计算机。基本上我试图将eth1接口的远程机器动态IP地址插入keepalived.conf.j2

这是任务:

- name: Keepalived config push
  template: src=keepalived.conf.j2 dest=/etc/keepalived/keepalived.conf force=yes owner=root mode=664
  tags: Config push

以下是jinja2 conf文件的内容:

   }
vrrp_instance 50 {
  virtual_router_id 50
  advert_int 1
  priority 101
  state MASTER
  interface eth0
  virtual_ipaddress {
    {{ ansible_eth1:network}} dev eth0

实现这一点的最佳方法是什么,所以每次推送到远程计算机时,它都会在conf文件中有eth1接口?

1 个答案:

答案 0 :(得分:1)

好吧,好像我已经弄明白了。 你的剧本必须有gather_facts:on和j2模板你需要有以下一行:

{{ ansible_eth1.ipv4.address }}