ansible-lint
ansible-lint copied to clipboard
`Permission denied: '/.config/ansible-lint.yml'` when no config file exists and executed outside of a project
Summary
I have originally reported this issue downstream in the Ansible VSC extension, but it seems it's an issue in ansible-lint.
Issue Type
- Bug Report
OS / ENVIRONMENT
[130] % rm -f ~/.config/ansible-lint.yml; ansible-lint --version
Traceback (most recent call last):
File "/usr/bin/ansible-lint", line 8, in <module>
sys.exit(_run_cli_entrypoint())
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/ansiblelint/__main__.py", line 408, in _run_cli_entrypoint
sys.exit(main(sys.argv))
^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/ansiblelint/__main__.py", line 290, in main
cache_dir_lock = initialize_options(argv[1:])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/ansiblelint/__main__.py", line 125, in initialize_options
new_options = cli.get_config(arguments or [])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/ansiblelint/cli.py", line 606, in get_config
project_dir, method = find_project_root(
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/ansiblelint/file_utils.py", line 526, in find_project_root
if resolved_cfg_path.is_file():
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/pathlib.py", line 892, in is_file
return S_ISREG(self.stat().st_mode)
^^^^^^^^^^^
File "/usr/lib/python3.12/pathlib.py", line 840, in stat
return os.stat(self, follow_symlinks=follow_symlinks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/.config/ansible-lint.yml'
[0] % echo '{}' > ~/.config/ansible-lint.yml
[0] % ansible-lint --version
ansible-lint 24.7.1.dev0 using ansible-core:2.17.3 ansible-compat:24.8.0 ruamel-yaml:0.18.6 ruamel-yaml-clib:0.2.8
Running on Arch Linux from the repo packages:
% pacman -Q ansible-core ansible-lint
ansible-core 2.17.3-1
ansible-lint 24.7.0-1
STEPS TO REPRODUCE
Execute ansible-lint
in home folder. even --version
fails.
Desired Behavior
No error.
Actual Behavior
Error.