Skip to content

ansible-lint fails to run from current workspace #1772

Closed
@devvick

Description

@devvick

Summary

It looks like the ansible-lint is trying to run out of /usr instead of the current workspace directory (at least according to error logs).
I have the project directory in my /home and the .ansible-lint and ansible.cfg are in the root of the project. These files didn't change since at least a year ago, and up until last month all was working fine.

Extension version

25.1.0

VS Code version

1.96.4

Ansible Version

$ ansible --version
ansible [core 2.18.1]
  config file = /home/pit/infra/ansible.cfg
  configured module search path = ['/home/pit/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.13/site-packages/ansible
  ansible collection location = /home/pit/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.13.1 (main, Dec  4 2024, 18:05:56) [GCC 14.2.1 20240910] (/usr/bin/python)
  jinja version = 3.1.5
  libyaml = True

OS / Environment

Arch Linux
$ ansible-lint --version
ansible-lint 24.12.3.dev0 using ansible-core:2.18.1 ansible-compat:25.0.0 ruamel-yaml:0.18.10 ruamel-yaml-clib:0.2.12

Relevant log output

Path for lint: /usr/bin/ansible-lint
Validating using ansible-lint
[Info  - 00:00:55] [ansible-lint] Traceback (most recent call last):
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/.ansible/roles'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/ansible-lint", line 8, in <module>
    sys.exit(_run_cli_entrypoint())
             ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 400, in _run_cli_entrypoint
    sys.exit(main(sys.argv))
             ~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 280, in main
    cache_dir_lock = initialize_options(argv[1:])
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 138, in initialize_options
    options.cache_dir = get_cache_dir(pathlib.Path(options.project_dir))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansible_compat/prerun.py", line 27, in get_cache_dir
    (cache_dir / name).mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 726, in mkdir
    self.parent.mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/usr/.ansible'

cmd 'ansible-lint --version' was not executed with the following error: ' Command failed: /usr/bin/ansible-lint --version
Traceback (most recent call last):
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/.ansible/roles'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/ansible-lint", line 8, in <module>
    sys.exit(_run_cli_entrypoint())
             ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 400, in _run_cli_entrypoint
    sys.exit(main(sys.argv))
             ~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 280, in main
    cache_dir_lock = initialize_options(argv[1:])
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 138, in initialize_options
    options.cache_dir = get_cache_dir(pathlib.Path(options.project_dir))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansible_compat/prerun.py", line 27, in get_cache_dir
    (cache_dir / name).mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 726, in mkdir
    self.parent.mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/usr/.ansible'

cmd 'ansible-lint --version' was not executed with the following error: ' Command failed: /usr/bin/ansible-lint --version
Traceback (most recent call last):
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/.ansible/roles'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/ansible-lint", line 8, in <module>
    sys.exit(_run_cli_entrypoint())
             ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 400, in _run_cli_entrypoint
    sys.exit(main(sys.argv))
             ~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 280, in main
    cache_dir_lock = initialize_options(argv[1:])
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 138, in initialize_options
    options.cache_dir = get_cache_dir(pathlib.Path(options.project_dir))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansible_compat/prerun.py", line 27, in get_cache_dir
    (cache_dir / name).mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 726, in mkdir
    self.parent.mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/usr/.ansible'

cmd 'ansible-lint --version' was not executed with the following error: ' Command failed: /usr/bin/ansible-lint --version
Traceback (most recent call last):
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/.ansible/roles'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/ansible-lint", line 8, in <module>
    sys.exit(_run_cli_entrypoint())
             ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 400, in _run_cli_entrypoint
    sys.exit(main(sys.argv))
             ~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 280, in main
    cache_dir_lock = initialize_options(argv[1:])
  File "/usr/lib/python3.13/site-packages/ansiblelint/__main__.py", line 138, in initialize_options
    options.cache_dir = get_cache_dir(pathlib.Path(options.project_dir))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ansible_compat/prerun.py", line 27, in get_cache_dir
    (cache_dir / name).mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 726, in mkdir
    self.parent.mkdir(parents=True, exist_ok=True)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/pathlib/_local.py", line 722, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/usr/.ansible'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions