我在角色的开头有一个任务:
- name: check if pg_* variables are defined
fail: msg="variable {{item}} is undefined"
when: "{{item}} is undefined"
with_items:
- pg_dbname
- pg_host
- pg_port
- pg_username
- pg_password
但较新版本的Ansible引发了以下警告:
[警告]:when语句不应包含jinja2模板分隔符,例如{{}}或{%%}。找到: {{item}}未定义
删除Jinja2大括号when: item is undefined
不起作用,因为最终评估基本上等同于:
"pg_dbname" is undefined` # False
"pg_host" is undefined` # False
.
.
"pg_password" is undefined` # False
这不是我想要的。