Skip to content

[Bug] - "Unexpected Exception, this is probably a bug: join() missing 1 required positional argument: 'a'" on ansible-galaxy #514

Open
@nomike

Description

@nomike

Describe the bug
ansible-galaxy fails with an error message:

# 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'

To Reproduce
Steps to reproduce the behavior:

  1. Install ansible
  2. Run ansible-galaxy install willshersystems.sshd

Expected behavior
I would expect the program not to crash and to install the ansible role completely. Due to this bug, the role is only installed halfway through and thus does not work.

Additional context

# ansible-galaxy --version
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, Feb 23 2023, 00:00:00) [GCC 11.3.1 20221121 (Red Hat 11.3.1-4)] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True

Since the ansible version in Amazon Linux 2023 is the latest, I will also file this bug report upstream.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingupstream-prFix is in a pull request to upstream project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions