Table of Contents
ansible troubleshooting
undefined variable
atal: [10.21.21.11]: FAILED! =>
msg: |-
The task includes an option with an undefined variable. The error was: 'ansible.vars.hostvars.HostVarsVars object' has no attribute bla bla
Check the names in group_vars! They need to match the name of the group in the inventory file.
AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'
Check versions of ansible and dependencies. This was caused by the upgraded cryptography package (and using the old ansible version - 2.9.27) which was being source from /usr/local/lib/python3.10/dist-packages/. This fixed it:
sudo pip uninstall cryptography
to uninstall from system directory and then run this (notice no sudo) to install it in user's directory /home/user/.local/lib/python3.10/site-packages
pip install cryptography==2.6.1
Or just use a newer version of ansible which can use newer version of cryptography package.
.local/bin/ansible: No such file or directory
Happened when pip installing 9.3.0 version over 2.9.27.
Uninstall old version first
pip uninstall 2.9.27
Make sure no ansible dirs are leftover:
~$ ls /home/antisa/.local/lib/python3.10/site-packages/ansible* ls: cannot access '/home/antisa/.local/lib/python3.10/site-packages/ansible*': No such file or directory
Now install via pip
pip install ansible
unsupported locale setting
ERROR: Ansible could not initialize the preferred locale: unsupported locale setting
This might happen when you ssh into a server which doesn't have your locale generated (the one you are using on your local machine) and you are forwarding the locale over ssh (see SendEnv and AcceptEnv in ssh_config and sshd_config on your machine and server respectively).
Fix is to simply generate the locale:
vi /etc/locale.gen
uncomment your locale e.g.
hr_HR.UTF-8
Then run
locale-gen
an unexpected keyword argument 'cert_file'
[WARNING]: Skipping Galaxy server https://old-galaxy.ansible.com/. Got an unexpected error when getting available versions of collection community.docker: Unknown error when attempting to call Galaxy at 'https://old-galaxy.ansible.com/api': HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file'. HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file' ERROR! Unknown error when attempting to call Galaxy at 'https://old-galaxy.ansible.com/api': HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file'. HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file'
Try a different (newer) ansible version.
"msg": "MODULE FAILURE: No start of json char found\nSee stdout/stderr for the exact error"
This is also possibly a mismatch with ansible versions and older python on target hosts. Try a different, older ansible version if running against older OS-es.
couldn't resolve module/action 'community.libvirt.virt_install'
You have the module installed but it still returns a similar error might be because of an older version of plugin. Run this to update it:
ansible-galaxy collection install community.libvirt -U
Now 2 versions are shown, ansible should use the newest one.
ansible-galaxy collection list |grep virt community.libvirt 2.0.0 community.libvirt 1.2.0
Check also if the ansible version itself is compatible with plugin, on plugin document page.
