内部错误¶
此错误也可能由内部错误或自定义规则引起。我们不会直接停止工具执行,而是生成错误并继续处理其他文件。这允许用户将此规则添加到他们的warn_list
中,直到根本原因得到解决。
请记住,一旦在特定文件中发现internal-error
,则不会在同一文件中执行其他规则。
在几乎所有情况下,您都会看到有关触发此规则的原始错误或运行时异常的更详细信息。
如果这些文件故意损坏,例如某些测试装置,则需要将它们添加到exclude_paths
中。
问题代码¶
---
- name: Some title {{ # <-- Ansible will not load this invalid jinja template
hosts: localhost
tasks: []
正确代码¶
错误!没有主机匹配下标模式¶
如果您看到此错误,则表示您尝试索引一个主机组变量,其索引超出了其大小。
与其执行类似hosts: all[1]
的操作(假设您当前清单中至少有两个主机),不如编写类似hosts: "{{ all[1] | default([]) }}"
的内容,这样更安全,不会产生运行时错误。使用安全的回退机制使您的代码更具弹性。