ansible-lint
ansible-lint copied to clipboard
`import_tasks` caused `syntax-check[missing-file]` error.
Summary
I use import_tasks in my ansible playbook, it works very well when using ansible-playbook. But it failed with syntax-check[missing-file] in ansible-lint
Issue Type
- Bug Report
OS / ENVIRONMENT
ansible-lint --version
ansible-lint 24.2.3 using ansible-core:2.16.6 ansible-compat:4.1.11 ruamel-yaml:0.18.6 ruamel-yaml-clib:0.2.8
- ansible installation method:
pip - ansible-lint installation method:
pip
STEPS TO REPRODUCE
$ tree
.
├── hosts
├── roles
│ └── common
│ └── tasks
│ └── main.yml
├── site.yml
└── tasks
└── debug.yml
4 directories, 4 files
# hosts
localhost ansible_connection=local
# roles/common/tasks/main.yml
---
- name: "import_tasks testing"
ansible.builtin.import_tasks: "tasks/debug.yml"
# tasks/debug.yml
---
- name: "print debug"
ansible.builtin.debug:
msg: "Hello"
# site.yml
---
- hosts: all
roles:
- common
ansible-playbook works very well:
$ ansible-playbook -i hosts --syntax-check site.yml
playbook: site.yml
$ ansible-playbook -i hosts --connection=local -D site.yml
PLAY [all] ****************************************************************************************************************************************************
TASK [Gathering Facts] ****************************************************************************************************************************************
ok: [localhost]
TASK [common : print debug] ***********************************************************************************************************************************
ok: [localhost] => {
"msg": "Hello"
}
PLAY RECAP ****************************************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
But ansible-link failed:
$ $ ansible-lint -v
INFO Identified / as project root due file system root.
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
INFO Executing syntax check on role roles/common (0.39s)
INFO Executing syntax check on playbook site.yml (0.40s)
WARNING Listing 1 violation(s) that are fatal
syntax-check[missing-file]: Unable to retrieve file contents
roles/common:1:1 Could not find or access '/tmp/tasks/debug.yml' on the Ansible Controller.
Rule Violation Summary
count tag profile rule associated tags
1 syntax-check[missing-file] min core, unskippable
Failed: 1 failure(s), 0 warning(s) on 5 files.
Desired Behavior
ansible-lint could support import_tasks
Actual Behavior
Please give some details of what is happening. Include a [minimum complete verifiable example] with:
- minimized playbook to reproduce the error
- the output of running ansible-lint including the command line used
- if you're getting a stack trace, also the output of
ansible-playbook --syntax-check playbook
$ ansible-lint -vvvv
DEBUG Logging initialized to level 10
INFO Identified / as project root due file system root.
DEBUG Options: Options(_skip_ansible_syntax_check=False, cache_dir=PosixPath('/home/gitlab-runner/.cache/ansible-compat/e3b0c4'), colored=True, configured=True, cwd=PosixPath('/home/gitlab-runner/tmp'), display_relative_path=True, exclude_paths=['.cache', '.git', '.hg', '.svn', '.tox'], format=None, lintables=[], list_rules=False, list_tags=False, write_list=[], parseable=False, quiet=0, rulesdirs=[PosixPath('/home/gitlab-runner/.local/lib/python3.10/site-packages/ansiblelint/rules')], skip_list=[], tags=[], verbosity=4, warn_list=['experimental', 'jinja', 'fqcn'], mock_filters=[], mock_modules=[], mock_roles=[], loop_var_prefix=None, only_builtins_allow_collections=[], only_builtins_allow_modules=[], var_naming_pattern=None, offline=None, project_dir='/', extra_vars=None, enable_list=[], skip_action_validation=True, strict=False, rules={}, profile=None, task_name_prefix='{stem} | ', sarif_file=None, config_file=None, generate_ignore=False, rulesdir=[], use_default_rules=False, version=False, list_profiles=False, ignore_file=None, max_tasks=100, max_block_depth=20)
DEBUG CWD: /home/gitlab-runner/tmp
DEBUG Logging initialized to level 10
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
DEBUG Added role: roles/common (role)
DEBUG data set to None for hosts due to being '' (unknown) kind.
DEBUG Logging initialized to level 10
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
INFO Executing syntax check on playbook site.yml (0.53s)
INFO Executing syntax check on role roles/common (0.58s)
WARNING Listing 1 violation(s) that are fatal
syntax-check[missing-file]: Unable to retrieve file contents
roles/common:1:1 Could not find or access '/tmp/tasks/debug.yml' on the Ansible Controller.
DEBUG Attempting to release lock 264580821593168 on /home/gitlab-runner/.cache/ansible-compat/e3b0c4/.lock
DEBUG Lock 264580821593168 released on /home/gitlab-runner/.cache/ansible-compat/e3b0c4/.lock
DEBUG Determined rule-profile order: {'internal-error': (0, 'min'), 'load-failure': (1, 'min'), 'parser-error': (2, 'min'), 'syntax-check': (3, 'min'), 'command-instead-of-module': (4, 'basic'), 'command-instead-of-shell': (5, 'basic'), 'deprecated-bare-vars': (6, 'basic'), 'deprecated-local-action': (7, 'basic'), 'deprecated-module': (8, 'basic'), 'inline-env-var': (9, 'basic'), 'key-order': (10, 'basic'), 'literal-compare': (11, 'basic'), 'jinja': (12, 'basic'), 'no-free-form': (13, 'basic'), 'no-jinja-when': (14, 'basic'), 'no-tabs': (15, 'basic'), 'partial-become': (16, 'basic'), 'playbook-extension': (17, 'basic'), 'role-name': (18, 'basic'), 'schema': (19, 'basic'), 'name': (20, 'basic'), 'var-naming': (21, 'basic'), 'yaml': (22, 'basic'), 'name': (23, 'moderate'), 'name': (24, 'moderate'), 'name': (25, 'moderate'), 'spell-var-name': (26, 'moderate'), 'avoid-implicit': (27, 'safety'), 'latest': (28, 'safety'), 'package-latest': (29, 'safety'), 'risky-file-permissions': (30, 'safety'), 'risky-octal': (31, 'safety'), 'risky-shell-pipe': (32, 'safety'), 'galaxy': (33, 'shared'), 'ignore-errors': (34, 'shared'), 'layout': (35, 'shared'), 'meta-incorrect': (36, 'shared'), 'meta-no-tags': (37, 'shared'), 'meta-video-links': (38, 'shared'), 'meta-version': (39, 'shared'), 'meta-runtime': (40, 'shared'), 'no-changed-when': (41, 'shared'), 'no-changelog': (42, 'shared'), 'no-handler': (43, 'shared'), 'no-relative-paths': (44, 'shared'), 'max-block-depth': (45, 'shared'), 'max-tasks': (46, 'shared'), 'unsafe-loop': (47, 'shared'), 'avoid-dot-notation': (48, 'production'), 'sanity': (49, 'production'), 'fqcn': (50, 'production'), 'import-task-no-when': (51, 'production'), 'meta-no-dependencies': (52, 'production'), 'single-entry-point': (53, 'production'), 'use-loop': (54, 'production')}
Rule Violation Summary
count tag profile rule associated tags
1 syntax-check[missing-file] min core, unskippable
Failed: 1 failure(s), 0 warning(s) on 5 files.
@abcfy2 Have you tried reproducing this bug with the code from main branch? I am asking as I know for sure that we made some changes in that area.
@abcfy2 Have you tried reproducing this bug with the code from main branch? I am asking as I know for sure that we made some changes in that area.
Thanks. But still not working:
$ ansible-lint --version
ansible-lint 24.2.4.dev21 using ansible-core:2.16.6 ansible-compat:24.5.1a0 ruamel-yaml:0.18.6 ruamel-yaml-clib:0.2.8
You are using a pre-release version of ansible-lint.
$ ansible-lint -vvvv
DEBUG Logging initialized to level 10
INFO Identified / as project root due file system root.
DEBUG Options: Options(_skip_ansible_syntax_check=False, cache_dir=PosixPath('/home/gitlab-runner/.cache/ansible-compat/e3b0c4'), colored=True, configured=True, cwd=PosixPath('/home/gitlab-runner/tmp'), display_relative_path=True, exclude_paths=['.cache', '.git', '.hg', '.svn', '.tox'], format=None, lintables=[], list_rules=False, list_tags=False, write_list=[], parseable=False, quiet=0, rulesdirs=[PosixPath('/home/gitlab-runner/.local/lib/python3.10/site-packages/ansiblelint/rules')], skip_list=[], tags=[], verbosity=4, warn_list=['experimental', 'jinja', 'fqcn'], mock_filters=[], mock_modules=[], mock_roles=[], loop_var_prefix=None, only_builtins_allow_collections=[], only_builtins_allow_modules=[], var_naming_pattern=None, offline=None, project_dir='/', extra_vars=None, enable_list=[], skip_action_validation=True, strict=False, rules={}, profile=None, task_name_prefix='{stem} | ', sarif_file=None, config_file=None, generate_ignore=False, rulesdir=[], use_default_rules=False, version=False, list_profiles=False, ignore_file=None, max_tasks=100, max_block_depth=20)
DEBUG CWD: /home/gitlab-runner/tmp
DEBUG Logging initialized to level 10
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
DEBUG Added role: roles/common (role)
DEBUG Logging initialized to level 10
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
DEBUG data set to None for codeclimate-results.json due to being '' (text/json) kind.
DEBUG data set to None for hosts due to being '' (unknown) kind.
DEBUG data set to None for ansible-lint.xml due to being '' (unknown) kind.
INFO Executing syntax check on role roles/common (0.37s)
INFO Executing syntax check on playbook site.yml (0.40s)
DEBUG Examining site.yml of type playbook
DEBUG Running rule internal-error
DEBUG Running rule load-failure
DEBUG Running rule parser-error
DEBUG Running rule warning
DEBUG Running rule yaml
DEBUG Running rule args
DEBUG Running rule avoid-implicit
DEBUG Running rule command-instead-of-module
DEBUG Running rule command-instead-of-shell
DEBUG Running rule complexity
DEBUG Running rule deprecated-bare-vars
DEBUG Running rule deprecated-local-action
DEBUG Running rule deprecated-module
DEBUG Running rule fqcn
DEBUG Running rule galaxy
DEBUG Running rule ignore-errors
DEBUG Running rule inline-env-var
DEBUG Running rule jinja
DEBUG Running rule key-order
DEBUG Running rule latest
DEBUG Running rule literal-compare
DEBUG Running rule loop-var-prefix
DEBUG Running rule meta-incorrect
DEBUG Running rule meta-no-tags
DEBUG Running rule meta-runtime
DEBUG Running rule meta-video-links
DEBUG Running rule name
DEBUG Running rule no-changed-when
DEBUG Running rule no-free-form
DEBUG Running rule no-handler
DEBUG Running rule no-jinja-when
DEBUG Running rule no-relative-paths
DEBUG Running rule no-tabs
DEBUG Running rule package-latest
DEBUG Running rule partial-become
DEBUG Running rule playbook-extension
DEBUG Running rule risky-file-permissions
DEBUG Running rule risky-octal
DEBUG Running rule risky-shell-pipe
DEBUG Running rule role-name
DEBUG Running rule run-once
DEBUG Running rule sanity
DEBUG Running rule schema
DEBUG Running rule var-naming
DEBUG Examining roles/common/tasks/main.yml of type tasks
DEBUG Running rule internal-error
DEBUG Running rule load-failure
DEBUG Running rule parser-error
DEBUG Running rule warning
DEBUG Running rule yaml
DEBUG Running rule args
DEBUG Running rule avoid-implicit
DEBUG Running rule command-instead-of-module
DEBUG Running rule command-instead-of-shell
DEBUG Running rule complexity
DEBUG Running rule deprecated-bare-vars
DEBUG Running rule deprecated-local-action
DEBUG Running rule deprecated-module
DEBUG Running rule fqcn
DEBUG Running rule galaxy
DEBUG Running rule ignore-errors
DEBUG Running rule inline-env-var
DEBUG Running rule jinja
DEBUG Running rule key-order
DEBUG Running rule latest
DEBUG Running rule literal-compare
DEBUG Running rule loop-var-prefix
DEBUG Running rule meta-incorrect
DEBUG Running rule meta-no-tags
DEBUG Running rule meta-runtime
DEBUG Running rule meta-video-links
DEBUG Running rule name
DEBUG Running rule no-changed-when
DEBUG Running rule no-free-form
DEBUG Running rule no-handler
DEBUG Running rule no-jinja-when
DEBUG Running rule no-relative-paths
DEBUG Running rule no-tabs
DEBUG Running rule package-latest
DEBUG Running rule partial-become
DEBUG Running rule playbook-extension
DEBUG Running rule risky-file-permissions
DEBUG Running rule risky-octal
DEBUG Running rule risky-shell-pipe
DEBUG Running rule role-name
DEBUG Running rule run-once
DEBUG Running rule sanity
DEBUG Running rule schema
DEBUG Running rule var-naming
DEBUG Examining tasks/debug.yml of type tasks
DEBUG Running rule internal-error
DEBUG Running rule load-failure
DEBUG Running rule parser-error
DEBUG Running rule warning
DEBUG Running rule yaml
DEBUG Running rule args
DEBUG Running rule avoid-implicit
DEBUG Running rule command-instead-of-module
DEBUG Running rule command-instead-of-shell
DEBUG Running rule complexity
DEBUG Running rule deprecated-bare-vars
DEBUG Running rule deprecated-local-action
DEBUG Running rule deprecated-module
DEBUG Running rule fqcn
DEBUG Running rule galaxy
DEBUG Running rule ignore-errors
DEBUG Running rule inline-env-var
DEBUG Running rule jinja
DEBUG Running rule key-order
DEBUG Running rule latest
DEBUG Running rule literal-compare
DEBUG Running rule loop-var-prefix
DEBUG Running rule meta-incorrect
DEBUG Running rule meta-no-tags
DEBUG Running rule meta-runtime
DEBUG Running rule meta-video-links
DEBUG Running rule name
DEBUG Running rule no-changed-when
DEBUG Running rule no-free-form
DEBUG Running rule no-handler
DEBUG Running rule no-jinja-when
DEBUG Running rule no-relative-paths
DEBUG Running rule no-tabs
DEBUG Running rule package-latest
DEBUG Running rule partial-become
DEBUG Running rule playbook-extension
DEBUG Running rule risky-file-permissions
DEBUG Running rule risky-octal
DEBUG Running rule risky-shell-pipe
DEBUG Running rule role-name
DEBUG Running rule run-once
DEBUG Running rule sanity
DEBUG Running rule schema
DEBUG Running rule var-naming
WARNING Listing 4 violation(s) that are fatal
syntax-check[missing-file]: Unable to retrieve file contents
roles/common:1:1 Could not find or access '/tmp/tasks/debug.yml' on the Ansible Controller.
name[casing]: All names should start with an uppercase letter.
roles/common/tasks/main.yml:2 Task/Handler: import_tasks testing
name[play]: All plays should be named.
site.yml:2
name[casing]: All names should start with an uppercase letter.
tasks/debug.yml:2 Task/Handler: print debug
DEBUG Attempting to release lock 263144386112832 on /home/gitlab-runner/.cache/ansible-compat/e3b0c4/.lock
DEBUG Lock 263144386112832 released on /home/gitlab-runner/.cache/ansible-compat/e3b0c4/.lock
Read documentation for instructions on how to ignore specific rule violations.
DEBUG Determined rule-profile order: {'internal-error': (0, 'min'), 'load-failure': (1, 'min'), 'parser-error': (2, 'min'), 'syntax-check': (3, 'min'), 'command-instead-of-module': (4, 'basic'), 'command-instead-of-shell': (5, 'basic'), 'deprecated-bare-vars': (6, 'basic'), 'deprecated-local-action': (7, 'basic'), 'deprecated-module': (8, 'basic'), 'inline-env-var': (9, 'basic'), 'key-order': (10, 'basic'), 'literal-compare': (11, 'basic'), 'jinja': (12, 'basic'), 'no-free-form': (13, 'basic'), 'no-jinja-when': (14, 'basic'), 'no-tabs': (15, 'basic'), 'partial-become': (16, 'basic'), 'playbook-extension': (17, 'basic'), 'role-name': (18, 'basic'), 'schema': (19, 'basic'), 'name': (20, 'basic'), 'var-naming': (21, 'basic'), 'yaml': (22, 'basic'), 'name': (23, 'moderate'), 'name': (24, 'moderate'), 'name': (25, 'moderate'), 'spell-var-name': (26, 'moderate'), 'avoid-implicit': (27, 'safety'), 'latest': (28, 'safety'), 'package-latest': (29, 'safety'), 'risky-file-permissions': (30, 'safety'), 'risky-octal': (31, 'safety'), 'risky-shell-pipe': (32, 'safety'), 'galaxy': (33, 'shared'), 'ignore-errors': (34, 'shared'), 'layout': (35, 'shared'), 'meta-incorrect': (36, 'shared'), 'meta-no-tags': (37, 'shared'), 'meta-video-links': (38, 'shared'), 'meta-version': (39, 'shared'), 'meta-runtime': (40, 'shared'), 'no-changed-when': (41, 'shared'), 'no-changelog': (42, 'shared'), 'no-handler': (43, 'shared'), 'no-relative-paths': (44, 'shared'), 'max-block-depth': (45, 'shared'), 'max-tasks': (46, 'shared'), 'unsafe-loop': (47, 'shared'), 'avoid-dot-notation': (48, 'production'), 'sanity': (49, 'production'), 'fqcn': (50, 'production'), 'import-task-no-when': (51, 'production'), 'meta-no-dependencies': (52, 'production'), 'single-entry-point': (53, 'production'), 'use-loop': (54, 'production')}
Rule Violation Summary
count tag profile rule associated tags
1 syntax-check[missing-file] min core, unskippable
1 name[play] basic idiom
2 name[casing] moderate idiom
Failed: 4 failure(s), 0 warning(s) on 7 files.
You are using a pre-release version of ansible-lint.
Any updates? I try to install the latest version but this issue still exists.
$ ansible-lint --version
ansible-lint 24.5.0 using ansible-core:2.16.6 ansible-compat:24.5.1a0 ruamel-yaml:0.18.6 ruamel-yaml-clib:0.2.8
$ ansible-lint -vvvv
DEBUG Logging initialized to level 10
INFO Identified / as project root due file system root.
DEBUG Options: Options(_skip_ansible_syntax_check=False, cache_dir=PosixPath('/home/gitlab-runner/.cache/ansible-compat/e3b0c4'), colored=True, configured=True, cwd=PosixPath('/home/gitlab-runner/tmp'), display_relative_path=True, exclude_paths=['.cache', '.git', '.hg', '.svn', '.tox'], format=None, lintables=[], list_rules=False, list_tags=False, write_list=[], parseable=False, quiet=0, rulesdirs=[PosixPath('/home/gitlab-runner/.local/lib/python3.10/site-packages/ansiblelint/rules')], skip_list=[], tags=[], verbosity=4, warn_list=['experimental', 'jinja', 'fqcn'], mock_filters=[], mock_modules=[], mock_roles=[], loop_var_prefix=None, only_builtins_allow_collections=[], only_builtins_allow_modules=[], var_naming_pattern=None, offline=None, project_dir='/', extra_vars=None, enable_list=[], skip_action_validation=True, strict=False, rules={}, profile=None, task_name_prefix='{stem} | ', sarif_file=None, config_file=None, generate_ignore=False, rulesdir=[], use_default_rules=False, version=False, list_profiles=False, ignore_file=None, max_tasks=100, max_block_depth=20)
DEBUG CWD: /home/gitlab-runner/tmp
DEBUG Logging initialized to level 10
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
DEBUG Added role: roles/common (role)
DEBUG Logging initialized to level 10
DEBUG Effective yamllint rules used: {'anchors': {'level': 'error', 'forbid-undeclared-aliases': True, 'forbid-duplicated-anchors': False, 'forbid-unused-anchors': False}, 'braces': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 1, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'brackets': {'level': 'error', 'forbid': False, 'min-spaces-inside': 0, 'max-spaces-inside': 0, 'min-spaces-inside-empty': -1, 'max-spaces-inside-empty': -1}, 'colons': {'level': 'error', 'max-spaces-before': 0, 'max-spaces-after': 1}, 'commas': {'level': 'error', 'max-spaces-before': 0, 'min-spaces-after': 1, 'max-spaces-after': 1}, 'comments': {'level': 'warning', 'require-starting-space': True, 'ignore-shebangs': True, 'min-spaces-from-content': 1}, 'comments-indentation': False, 'document-end': False, 'document-start': False, 'empty-lines': {'level': 'error', 'max': 2, 'max-start': 0, 'max-end': 0}, 'empty-values': False, 'float-values': False, 'hyphens': {'level': 'error', 'max-spaces-after': 1}, 'indentation': {'level': 'error', 'spaces': 'consistent', 'indent-sequences': True, 'check-multi-line-strings': False}, 'key-duplicates': {'level': 'error', 'forbid-duplicated-merge-keys': False}, 'key-ordering': False, 'line-length': {'level': 'error', 'max': 160, 'allow-non-breakable-words': True, 'allow-non-breakable-inline-mappings': False}, 'new-line-at-end-of-file': {'level': 'error'}, 'new-lines': {'level': 'error', 'type': 'unix'}, 'octal-values': {'forbid-implicit-octal': True, 'forbid-explicit-octal': True, 'level': 'error'}, 'quoted-strings': False, 'trailing-spaces': {'level': 'error'}, 'truthy': {'level': 'warning', 'allowed-values': ['true', 'false'], 'check-keys': True}}
INFO Set ANSIBLE_LIBRARY=/home/gitlab-runner/.cache/ansible-compat/cf10d3/modules:/home/gitlab-runner/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO Set ANSIBLE_COLLECTIONS_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/collections:/home/gitlab-runner/.ansible/collections:/usr/share/ansible/collections
INFO Set ANSIBLE_ROLES_PATH=/home/gitlab-runner/.cache/ansible-compat/cf10d3/roles:roles:/home/gitlab-runner/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
DEBUG data set to None for hosts due to being '' (unknown) kind.
DEBUG data set to None for codeclimate-results.json due to being '' (text/json) kind.
DEBUG data set to None for ansible-lint.xml due to being '' (unknown) kind.
INFO Executing syntax check on role roles/common (0.41s)
INFO Executing syntax check on playbook site.yml (0.46s)
DEBUG Examining tasks/debug.yml of type tasks
DEBUG Running rule internal-error
DEBUG Running rule load-failure
DEBUG Running rule parser-error
DEBUG Running rule warning
DEBUG Running rule yaml
DEBUG Running rule args
DEBUG Running rule avoid-implicit
DEBUG Running rule command-instead-of-module
DEBUG Running rule command-instead-of-shell
DEBUG Running rule complexity
DEBUG Running rule deprecated-bare-vars
DEBUG Running rule deprecated-local-action
DEBUG Running rule deprecated-module
DEBUG Running rule fqcn
DEBUG Running rule galaxy
DEBUG Running rule ignore-errors
DEBUG Running rule inline-env-var
DEBUG Running rule jinja
DEBUG Running rule key-order
DEBUG Running rule latest
DEBUG Running rule literal-compare
DEBUG Running rule loop-var-prefix
DEBUG Running rule meta-incorrect
DEBUG Running rule meta-no-tags
DEBUG Running rule meta-runtime
DEBUG Running rule meta-video-links
DEBUG Running rule name
DEBUG Running rule no-changed-when
DEBUG Running rule no-free-form
DEBUG Running rule no-handler
DEBUG Running rule no-jinja-when
DEBUG Running rule no-relative-paths
DEBUG Running rule no-tabs
DEBUG Running rule package-latest
DEBUG Running rule partial-become
DEBUG Running rule playbook-extension
DEBUG Running rule risky-file-permissions
DEBUG Running rule risky-octal
DEBUG Running rule risky-shell-pipe
DEBUG Running rule role-name
DEBUG Running rule run-once
DEBUG Running rule sanity
DEBUG Running rule schema
DEBUG Running rule var-naming
DEBUG Examining site.yml of type playbook
DEBUG Running rule internal-error
DEBUG Running rule load-failure
DEBUG Running rule parser-error
DEBUG Running rule warning
DEBUG Running rule yaml
DEBUG Running rule args
DEBUG Running rule avoid-implicit
DEBUG Running rule command-instead-of-module
DEBUG Running rule command-instead-of-shell
DEBUG Running rule complexity
DEBUG Running rule deprecated-bare-vars
DEBUG Running rule deprecated-local-action
DEBUG Running rule deprecated-module
DEBUG Running rule fqcn
DEBUG Running rule galaxy
DEBUG Running rule ignore-errors
DEBUG Running rule inline-env-var
DEBUG Running rule jinja
DEBUG Running rule key-order
DEBUG Running rule latest
DEBUG Running rule literal-compare
DEBUG Running rule loop-var-prefix
DEBUG Running rule meta-incorrect
DEBUG Running rule meta-no-tags
DEBUG Running rule meta-runtime
DEBUG Running rule meta-video-links
DEBUG Running rule name
DEBUG Running rule no-changed-when
DEBUG Running rule no-free-form
DEBUG Running rule no-handler
DEBUG Running rule no-jinja-when
DEBUG Running rule no-relative-paths
DEBUG Running rule no-tabs
DEBUG Running rule package-latest
DEBUG Running rule partial-become
DEBUG Running rule playbook-extension
DEBUG Running rule risky-file-permissions
DEBUG Running rule risky-octal
DEBUG Running rule risky-shell-pipe
DEBUG Running rule role-name
DEBUG Running rule run-once
DEBUG Running rule sanity
DEBUG Running rule schema
DEBUG Running rule var-naming
DEBUG Examining roles/common/tasks/main.yml of type tasks
DEBUG Running rule internal-error
DEBUG Running rule load-failure
DEBUG Running rule parser-error
DEBUG Running rule warning
DEBUG Running rule yaml
DEBUG Running rule args
DEBUG Running rule avoid-implicit
DEBUG Running rule command-instead-of-module
DEBUG Running rule command-instead-of-shell
DEBUG Running rule complexity
DEBUG Running rule deprecated-bare-vars
DEBUG Running rule deprecated-local-action
DEBUG Running rule deprecated-module
DEBUG Running rule fqcn
DEBUG Running rule galaxy
DEBUG Running rule ignore-errors
DEBUG Running rule inline-env-var
DEBUG Running rule jinja
DEBUG Running rule key-order
DEBUG Running rule latest
DEBUG Running rule literal-compare
DEBUG Running rule loop-var-prefix
DEBUG Running rule meta-incorrect
DEBUG Running rule meta-no-tags
DEBUG Running rule meta-runtime
DEBUG Running rule meta-video-links
DEBUG Running rule name
DEBUG Running rule no-changed-when
DEBUG Running rule no-free-form
DEBUG Running rule no-handler
DEBUG Running rule no-jinja-when
DEBUG Running rule no-relative-paths
DEBUG Running rule no-tabs
DEBUG Running rule package-latest
DEBUG Running rule partial-become
DEBUG Running rule playbook-extension
DEBUG Running rule risky-file-permissions
DEBUG Running rule risky-octal
DEBUG Running rule risky-shell-pipe
DEBUG Running rule role-name
DEBUG Running rule run-once
DEBUG Running rule sanity
DEBUG Running rule schema
DEBUG Running rule var-naming
WARNING Listing 4 violation(s) that are fatal
syntax-check[missing-file]: Unable to retrieve file contents
roles/common:1:1 Could not find or access '/tmp/tasks/debug.yml' on the Ansible Controller.
name[casing]: All names should start with an uppercase letter.
roles/common/tasks/main.yml:2 Task/Handler: import_tasks testing
name[play]: All plays should be named.
site.yml:2
name[casing]: All names should start with an uppercase letter.
tasks/debug.yml:2 Task/Handler: print debug
DEBUG Attempting to release lock 272136381070112 on /home/gitlab-runner/.cache/ansible-compat/e3b0c4/.lock
DEBUG Lock 272136381070112 released on /home/gitlab-runner/.cache/ansible-compat/e3b0c4/.lock
Read documentation for instructions on how to ignore specific rule violations.
DEBUG Determined rule-profile order: {'internal-error': (0, 'min'), 'load-failure': (1, 'min'), 'parser-error': (2, 'min'), 'syntax-check': (3, 'min'), 'command-instead-of-module': (4, 'basic'), 'command-instead-of-shell': (5, 'basic'), 'deprecated-bare-vars': (6, 'basic'), 'deprecated-local-action': (7, 'basic'), 'deprecated-module': (8, 'basic'), 'inline-env-var': (9, 'basic'), 'key-order': (10, 'basic'), 'literal-compare': (11, 'basic'), 'jinja': (12, 'basic'), 'no-free-form': (13, 'basic'), 'no-jinja-when': (14, 'basic'), 'no-tabs': (15, 'basic'), 'partial-become': (16, 'basic'), 'playbook-extension': (17, 'basic'), 'role-name': (18, 'basic'), 'schema': (19, 'basic'), 'name': (20, 'basic'), 'var-naming': (21, 'basic'), 'yaml': (22, 'basic'), 'name': (23, 'moderate'), 'name': (24, 'moderate'), 'name': (25, 'moderate'), 'spell-var-name': (26, 'moderate'), 'avoid-implicit': (27, 'safety'), 'latest': (28, 'safety'), 'package-latest': (29, 'safety'), 'risky-file-permissions': (30, 'safety'), 'risky-octal': (31, 'safety'), 'risky-shell-pipe': (32, 'safety'), 'galaxy': (33, 'shared'), 'ignore-errors': (34, 'shared'), 'layout': (35, 'shared'), 'meta-incorrect': (36, 'shared'), 'meta-no-tags': (37, 'shared'), 'meta-video-links': (38, 'shared'), 'meta-version': (39, 'shared'), 'meta-runtime': (40, 'shared'), 'no-changed-when': (41, 'shared'), 'no-changelog': (42, 'shared'), 'no-handler': (43, 'shared'), 'no-relative-paths': (44, 'shared'), 'max-block-depth': (45, 'shared'), 'max-tasks': (46, 'shared'), 'unsafe-loop': (47, 'shared'), 'avoid-dot-notation': (48, 'production'), 'sanity': (49, 'production'), 'fqcn': (50, 'production'), 'import-task-no-when': (51, 'production'), 'meta-no-dependencies': (52, 'production'), 'single-entry-point': (53, 'production'), 'use-loop': (54, 'production')}
Rule Violation Summary
count tag profile rule associated tags
1 syntax-check[missing-file] min core, unskippable
1 name[play] basic idiom
2 name[casing] moderate idiom
Failed: 4 failure(s), 0 warning(s) on 7 files.
Any updates? 24.9.3.dev0 still failed:
ansible-lint 24.9.3.dev0 using ansible-core:2.17.4 ansible-compat:24.9.1 ruamel-yaml:0.18.6 ruamel-yaml-clib:0.2.8