{{tag>ansible troubleshooting}}
====== 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.
====== See also ======
* [[wiki:ansible_debug_one_variable|Ansible debug one variable]]
* [[wiki:ansible_debug_all_variables|Ansible debug all variables]]
====== References ======
* https://old.reddit.com/r/ansible/comments/1egtdg6/an_unknown_error_occurred_httpsconnection_init/