启用Ansible的jinja2_extensions时出错,请求技术支持
解决Ansible Jinja2扩展配置报错问题
问题原因
你用了Python列表语法(带方括号、引号)配置jinja2_extensions,但Ansible的ansible.cfg是INI格式,不解析这类语法。Ansible会把['jinja2.ext.do']整个当成模块名去加载,自然找不到对应模块,所以抛出No module named "['jinja2"这类错误。
正确配置方法
修改ansible.cfg文件:
改成逗号分隔的纯字符串形式,去掉方括号和引号:jinja2_extensions = jinja2.ext.do若需加载多个扩展,用逗号分隔即可:
jinja2_extensions = jinja2.ext.do, jinja2.ext.loopcontrols使用环境变量:
同样采用逗号分隔的字符串,不要用Python列表语法:export ANSIBLE_JINJA2_EXTENSIONS=jinja2.ext.do
验证配置
运行以下命令确认配置是否正确加载:
ansible-config dump | grep JINJA2_EXTENSIONS
输出应显示正确的扩展名称,无多余符号。
内容的提问来源于stack exchange,提问作者Dave Kennard
相关产品推荐
相关产品推荐

