Open nomike opened 1 year ago
I guess an appropriately named file needs to be put in vars/
to fix this.
If someone could tell me what the file should be named like, I could submit a pull request.
I was too quick.
The issue is this:
# ansible-galaxy install willshersystems.sshd --force -vvv
ansible-galaxy [core 2.15.5]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible-galaxy
python version = 3.9.16 (main, Sep 8 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
No config file found; using defaults
Starting galaxy role install process
Processing role willshersystems.sshd
Opened /root/.ansible/galaxy_token
- downloading role 'sshd', owned by willshersystems
- downloading role from https://github.com/willshersystems/ansible-sshd/archive/v0.21.0.tar.gz
- extracting willshersystems.sshd to /root/.ansible/roles/willshersystems.sshd
[WARNING]: Illegal filename '..': '..' is not allowed
ERROR! Unexpected Exception, this is probably a bug: join() missing 1 required positional argument: 'a'
the full traceback was:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/ansible/cli/__init__.py", line 659, in cli_executor
exit_code = cli.run()
File "/usr/local/lib/python3.9/site-packages/ansible/cli/galaxy.py", line 719, in run
return context.CLIARGS['func']()
File "/usr/local/lib/python3.9/site-packages/ansible/cli/galaxy.py", line 119, in method_wrapper
return wrapped_method(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/ansible/cli/galaxy.py", line 1370, in execute_install
self._execute_install_role(role_requirements)
File "/usr/local/lib/python3.9/site-packages/ansible/cli/galaxy.py", line 1469, in _execute_install_role
installed = role.install()
File "/usr/local/lib/python3.9/site-packages/ansible/galaxy/role.py", line 426, in install
setattr(member, attr, os.path.join(*n_final_parts))
TypeError: join() missing 1 required positional argument: 'a'
I've filed a bug report for Amazon Linux 2023: https://github.com/amazonlinux/amazon-linux-2023/issues/514
Additionally I filed a bug report for Ansible: https://github.com/ansible/ansible/issues/81965
And I filled the following pull request: https://github.com/ansible/ansible/pull/81966
It might still be worth a look here, as the issue seems to be triggered by a file called ".." being included in ansible-sshd
.
@nomike can you confirm this is/isn't working with v0.22.0? You may need to change your requirements.yaml to:
- name: willshersystems.sshd
src: https://github.com/willshersystems/ansible-sshd
version: v0.22.0
I don't have an AWS account to be able to check this, so I'm not sure if this is still an issue given subsequence changes as a result of the PRs. @nomike can you provide an update?
I'm getting this error on Amazon Linux 2023: