使用ansible.builtin.ini解析INI文件报错:Invalid filename: 'None'求助
问题原因及解决办法
错误原因
Ansible 2.9版本的ansible.builtin.ini lookup插件不支持file参数,该参数是Ansible后续版本才新增的配置项。你当前使用file指定INI文件路径,插件无法识别该参数,导致文件路径被解析为None,从而触发Invalid filename: 'None'的解析错误。
修正方案
将playbook中的file参数替换为2.9版本支持的path参数即可,修正后的playbook代码如下:
- name: Parse dependency jars set_fact: common_jars: "{{ lookup('ansible.builtin.ini', 'common-dependency', section='common', path='DEPENDENCY-JARS.ini') }}" interface_jars: "{{ lookup('ansible.builtin.ini', 'interface-dependency', section='interface', path='DEPENDENCY-JARS.ini') }}"
额外验证
若替换参数后仍有问题,可明确指定文件的绝对路径,比如使用{{ playbook_dir }}/DEPENDENCY-JARS.ini,确保Ansible能准确定位到INI文件(playbook_dir变量会自动指向当前playbook所在的目录)。
内容的提问来源于stack exchange,提问作者george jiang
相关产品推荐
相关产品推荐

