ansible via virtualenv gives ERROR: [Errno 21] Is a directory

Viewed 30

I have an issue globally on my iMac ( M1 incase it matters ) where the commands exit with import ansible module is missing

So I tried installing a tmp dir with virtual env and tried using Ansible from there w/o luck.

I'll start from the error:

$ ../venv/bin/ansible-inventory
ERROR: [Errno 21] Is a directory: '/private/tmp/testansible/z'

File structure is like this:

~/$ cd /tmp
tmp$ mkdir testansible && cd $_
testansible$ mkdir z
testansible$ virtualenv venv
testansible$ venv/bin/pip3 install ansible

Then in a different directory i'm trying to use it:

testansible$ cd z
z$ ../venv/bin/ansible-config init > ansible.cfg

Then running any ansible command gave me tons of errors:

ERROR: Invalid settings supplied for DEFAULT_GATHER_TIMEOUT
ERROR: Invalid settings supplied for DEFAULT_NULL_REPRESENTATION
ERROR: Invalid settings supplied for DEFAULT_REMOTE_PORT
ERROR: Invalid settings supplied for GALAXY_IGNORE_INVALID_SIGNATURE_STATUS_CODES

Which is strange by itself because their comments says that if there's no value - it will take some default from somewhere

Each one I "resolved" by commenting them out

Then the command worked:

z$ ../venv/bin/ansible-config init > ansible.cfg

But every other ansible command i'm trying to execute gives the same error:

z$ ../venv/bin/ansible -i inventory.hosts
ERROR: [Errno 21] Is a directory: '/private/tmp/testansible/z'

z$ ../venv/bin/ansible-inventory -i inventory.hosts
ERROR: [Errno 21] Is a directory: '/private/tmp/testansible/z'

Any ideas ?

Edit

Thanks to the comment below the issue was this line in the ansible.cfg file:

# (path) File to which Ansible will log on the controller. When empty logging is disabled.
log_path=

Commenting out this line - and the ansible commands started working. I'm not sure , why across the file it says: When empty logging is disabled - but it's not disabled, it throws an exception. so as all the above variables, they don't really have a default value - they are just getting in the way

0 Answers
Related