ansible - 显示警告“条件语句不应包含 jinja2 模板分隔符”

Pra*_*esh 3 ansible ansible-2.x

- name: creating  task 
  shell: my_commnad
  when: ns.stdout.find('{{lookup('env',env')}}') == -1
Run Code Online (Sandbox Code Playgroud)

警告

[WARNING]: conditional statements should not include jinja2 templating
delimiters such as {{ }} or {% %}. Found:
ns.stdout.find("{{lookup('env','NAMESPACE')}}") == -1
Run Code Online (Sandbox Code Playgroud)

我的剧本显示警告“条件语句不应包含 jinja2 模板分隔符”。任务是在特定环境不存在时运行 shell 命令。我应该如何避免这个警告并保持任务正常进行?

lar*_*sks 5

您永远不会将{{...}}标记嵌套在 Jinja 模板上下文中。关键字的参数when隐式地位于 Jinja 上下文中,因此您不需要任何{{...}}标记。只需写例如:

when: ns.stdout.find(lookup('env','NAMESPACE')) == -1
Run Code Online (Sandbox Code Playgroud)