Introduction
In today’s episode of Ansible Pilot, I’m Luca Berton, and we’ll be diving into Ansible troubleshooting, focusing on the infamous “not a valid attribute for a Play” error. This error can be a stumbling block for many, but fear not – I’ll guide you through reproducing, troubleshooting, and fixing this issue.
Unveiling the Error in a Live Demo
The most effective way to explore Ansible troubleshooting is through a live Playbooknstration. Let’s reproduce the “not a valid attribute for a Play” error and walk through the steps to resolve it.
Error Code: invalid_play_attribute_error.yml
---
- name: file module demo
hosts: all
vars:
myfile: "~/example.txt"
task:
- name: Creating an empty
ansible.builtin.file:
path: "{{ myfile }}"
state: touch
Error Execution
Executing the playbook with the error:
$ ansible-playbook -i Playbook/inventory troubleshooting/invalid_play_attribute_error.yml
ERROR! 'task' is not a valid attribute for a Play
The error appears to be in 'invalid_play_attribute_error.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- -
- name: file module demo
^ here
Fixing the Code: invalid_play_attribute_fix.yml
---
- name: file module demo
hosts: all
vars:
myfile: "~/example.txt"
tasks:
- name: Creating an empty
ansible.builtin.file:
path: "{{ myfile }}"
state: touch
Executing the Fixed Code
Executing the fixed playbook:
$ ansible-playbook -i inventory invalid_play_attribute_fix.yml
PLAY [file module demo] *********************************************************************
TASK [Gathering Facts] **********************************************************************
ok: [demo.example.com]
TASK [Creating an empty file] ***************************************************************
changed: [demo.example.com]
PLAY RECAP **********************************************************************************
demo.example.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
You can find the code on GitHub.
Conclusion
In summary, you’ve now gained valuable insights into troubleshooting the “not a valid attribute for a Play” error in Ansible. Understanding the error message, reproducing the issue, and implementing the necessary fixes are essential skills for every Ansible practitioner.
If you found this troubleshooting guide helpful, be sure to subscribe for more Ansible insights.
Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.Academy
Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate