summaryrefslogtreecommitdiffstats
path: root/src/ansiblelint/_internal/internal_error.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:56 +0000
commitd964cec5e6aa807b75c7a4e7cdc5f11e54b2eda2 (patch)
tree794bc3738a00b5e599f06d1f2f6d79048d87ff8e /src/ansiblelint/_internal/internal_error.md
parentInitial commit. (diff)
downloadansible-lint-d964cec5e6aa807b75c7a4e7cdc5f11e54b2eda2.tar.xz
ansible-lint-d964cec5e6aa807b75c7a4e7cdc5f11e54b2eda2.zip
Adding upstream version 6.13.1.upstream/6.13.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/ansiblelint/_internal/internal_error.md')
-rw-r--r--src/ansiblelint/_internal/internal_error.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/ansiblelint/_internal/internal_error.md b/src/ansiblelint/_internal/internal_error.md
new file mode 100644
index 0000000..8db5e5e
--- /dev/null
+++ b/src/ansiblelint/_internal/internal_error.md
@@ -0,0 +1,43 @@
+# internal-error
+
+This error can also be caused by internal bugs but also by custom rules.
+Instead of just stopping tool execution, we generate the errors and continue
+processing other files. This allows users to add this rule to their `warn_list`
+until the root cause is fixed.
+
+Keep in mind that once an `internal-error` is found on a specific file, no
+other rules will be executed on that same file.
+
+In almost all cases you will see more detailed information regarding the
+original error or runtime exception that triggered this rule.
+
+If these files are broken on purpose, like some test fixtures, you need to add
+them to the `exclude_paths`.
+
+## Problematic code
+
+```yaml
+---
+- name: Some title {{ # <-- Ansible will not load this invalid jinja template
+ hosts: localhost
+ tasks: []
+```
+
+## Correct code
+
+```yaml
+---
+- name: Some title
+ hosts: localhost
+ tasks: []
+```
+
+## ERROR! No hosts matched the subscripted pattern
+
+If you see this error, it means that you tried to index a host group variable
+that is using an index above its size.
+
+Instead of doing something like `hosts: all[1]` which assumes that you have
+at least two hosts in your current inventory, you better write something like
+`hosts: "{{ all[1] | default([]) }}`, which is safe and do not produce runtime
+errors. Use safe fallbacks to make your code more resilient.