Closed
Description
Summary
When I try to execute ansible-lint .
, it fails.
Issue Type
- Bug Report
OS / ENVIRONMENT
❯ system_profiler SPSoftwareDataType SPHardwareDataType
Software:
System Software Overview:
System Version: macOS 15.3 (24D60)
Kernel Version: Darwin 24.3.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: xxx
User Name: xxx
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 3 Tage, 2 Stunden und 29 Minuten
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro18,3
Model Number: MKGP3D/A
Chip: Apple M1 Pro
Total Number of Cores: 8 (6 performance and 2 efficiency)
Memory: 16 GB
System Firmware Version: 11881.81.2
OS Loader Version: 11881.81.2
Serial Number (system): xxx
Hardware UUID: xxx
Provisioning UDID: xxx
Activation Lock Status: Disabled
########################
❯ python --version
Python 3.13.2
########################
❯ ansible --version
ansible [core 2.18.2]
config file = None
configured module search path = ['/Users/marvinmoldenhauer/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansible
ansible collection location = /Users/marvinmoldenhauer/.ansible/collections:/usr/share/ansible/collections
executable location = /Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/bin/ansible
python version = 3.13.2 (main, Feb 4 2025, 14:51:09) [Clang 16.0.0 (clang-1600.0.26.6)] (/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/bin/python3.13)
jinja version = 3.1.5
libyaml = True
########################
❯ ansible-lint --version
ansible-lint 25.1.2 using ansible-core:2.18.2 ansible-compat:25.1.2 ruamel-yaml:0.18.10 ruamel-yaml-clib:None
- ansible installation method: pip
- ansible-lint installation method: pip
STEPS TO REPRODUCE
git clone https://github.com/Xenion1987/ansible-role-user-management.git
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
ansible-lint .
Desired Behavior
ansible-lint
output stuff
Possible security bugs should be reported via email to security@ansible.com
Actual Behavior
ansible-lint
creates a directory .ansible/roles/Xenion1987.user_management
as a symlink to the local cloned repository:
❯ tree .ansible
.ansible
├── collections
├── modules
└── roles
└── Xenion1987.user_management -> /Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management
❯ ansible-lint .
Traceback (most recent call last):
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/bin/ansible-lint", line 8, in <module>
sys.exit(_run_cli_entrypoint())
~~~~~~~~~~~~~~~~~~~^^
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/__main__.py", line 416, in _run_cli_entrypoint
sys.exit(main(sys.argv))
~~~~^^^^^^^^^^
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/__main__.py", line 368, in main
result = get_matches(rules, options)
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/runner.py", line 679, in get_matches
runner = Runner(
*lintables,
...<7 lines>...
_skip_ansible_syntax_check=options._skip_ansible_syntax_check, # noqa: SLF001
)
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/runner.py", line 104, in __init__
expand_dirs_in_lintables(self.lintables)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/file_utils.py", line 549, in expand_dirs_in_lintables
all_files = discover_lintables(options)
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/file_utils.py", line 475, in discover_lintables
for filename in get_all_files(
~~~~~~~~~~~~~^
*[Path(s) for s in options.lintables],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exclude_paths=options.exclude_paths,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/file_utils.py", line 620, in get_all_files
all_files.extend(get_all_files(item, exclude_paths=exclude_paths))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/file_utils.py", line 620, in get_all_files
all_files.extend(get_all_files(item, exclude_paths=exclude_paths))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/file_utils.py", line 620, in get_all_files
all_files.extend(get_all_files(item, exclude_paths=exclude_paths))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Previous line repeated 67 more times]
File "/Users/marvinmoldenhauer/syncThing/Arbeit/workspace/ansible-role-user-management/venv/lib/python3.13/site-packages/ansiblelint/file_utils.py", line 601, in get_all_files
if gitignore.exists():
~~~~~~~~~~~~~~~~^^
File "/opt/homebrew/Cellar/python@3.13/3.13.2/Frameworks/Python.framework/Versions/3.13/lib/python3.13/pathlib/_abc.py", line 450, in exists
self.stat(follow_symlinks=follow_symlinks)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.2/Frameworks/Python.framework/Versions/3.13/lib/python3.13/pathlib/_local.py", line 515, in stat
return os.stat(self, follow_symlinks=follow_symlinks)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 63] File name too long: '.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/roles/Xenion1987.user_management/.ansible/.gitignore'
Metadata
Metadata
Assignees
Type
Projects
Status
Done