跳到内容

内部错误

此错误也可能由内部错误或自定义规则引起。我们不会直接停止工具执行,而是生成错误并继续处理其他文件。这允许用户将此规则添加到他们的warn_list中,直到根本原因得到解决。

请记住,一旦在特定文件中发现internal-error,则不会在同一文件中执行其他规则。

在几乎所有情况下,您都会看到有关触发此规则的原始错误或运行时异常的更详细信息。

如果这些文件故意损坏,例如某些测试装置,则需要将它们添加到exclude_paths中。

问题代码

---
- name: Some title {{ # <-- Ansible will not load this invalid jinja template
  hosts: localhost
  tasks: []

正确代码

---
- name: Some title
  hosts: localhost
  tasks: []

错误!没有主机匹配下标模式

如果您看到此错误,则表示您尝试索引一个主机组变量,其索引超出了其大小。

与其执行类似hosts: all[1]的操作(假设您当前清单中至少有两个主机),不如编写类似hosts: "{{ all[1] | default([]) }}"的内容,这样更安全,不会产生运行时错误。使用安全的回退机制使您的代码更具弹性。