Ansible troubleshooting - VARIABLE IS NOT DEFINED! ansible_hostname
Root cause analysis when the variable is not misspelled or not defined using the ansible_hostname internal variable and gather_facts boolean.
Today we’re going to talk about Ansible troubleshooting, specifically about VARIABLE IS NOT DEFINED! Message.
Most of the time the root cause is a misspelled variable or a variable really not defined. This use case is special about the ansible_hostname
internal variable.
I’m Luca Berton and welcome to today’s episode of Ansible Pilot.
demo
The best way of talking about Ansible troubleshooting is to jump in a live demo to show you practically the VARIABLE IS NOT DEFINED! and how to solve it!
error code
---
- name: hostname demo
hosts: all
gather_facts: false
tasks:
- name: print hostname
ansible.builtin.debug:
var: ansible_hostname
error execution
ansible-pilot $ ansible-playbook -i virtualmachines/demo/inventory troubleshooting/variablenotdefined_error.yml
PLAY [hostname demo] ******************************************************************************
TASK [print hostname] *****************************************************************************
ok: [demo.example.com] => {
"ansible_hostname": "VARIABLE IS NOT DEFINED!"
}
PLAY RECAP ****************************************************************************************
demo.example.com : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ansible-pilot $
fix code
---
- name: hostname demo
hosts: all
gather_facts: true
tasks:
- name: print hostname
ansible.builtin.debug:
var: ansible_hostname
fix execution
ansible-pilot $ ansible-playbook -i virtualmachines/demo/inventory troubleshooting/variablenotdefined_fix.yml
PLAY [hostname demo] ******************************************************************************
TASK [Gathering Facts] ****************************************************************************
ok: [demo.example.com]
TASK [print hostname] *****************************************************************************
ok: [demo.example.com] => {
"ansible_hostname": "demo"
}
PLAY RECAP ****************************************************************************************
demo.example.com : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ansible-pilot $
Recap
Now you know better how to troubleshoot the Ansible VARIABLE IS NOT DEFINED! message. Subscribe to the YouTube channel, Medium, Website and Twitter to not miss the next episode of the Ansible Pilot.
Academy
Learn the Ansible automation technology with some real-life examples in my
My book Ansible By Examples: 100+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate