如何避免使用ansible进行变量替换

时间:2018-06-01 07:46:46

标签: ansible

我有一个像

这样的剧本
- name: Set Config Knox - knox-config
  uri:
    url: "http://{{ ansible_fqdn }}:8080/api/v1/clusters/{{ cluster_name }}"
    method: PUT
    force_basic_auth: yes
    user: "{{ ambari_admin_user }}"
    password: "{{ ambari_admin_password }}"
    body: "{{ lookup('template','templates/knox/knox-config.json') }}"
    body_format: json

一般来说这很好用。但现在我在knox-config.json本身的内容中有哪个容器{{}}。现在它尝试用不存在的变量替换它。

知道如何避免在ansible的uri模块中替换变量吗?

1 个答案:

答案 0 :(得分:2)

你正在使用template的查找插件,所以我想这会调用jinja2模板引擎,这就是替换它完成的原因。

让jinja"忽略" {{}},您需要分别用{{ '{{' }}{{ '}}' }}替换它们。

希望它有所帮助。