Could someone help why I am still getting the below error?
Thanks,
Rajesh
On Thursday, April 2, 2020 at 5:38:27 PM UTC+11, Rajesh wrote:
>
> Thanks for that. I have modified the playbook as you suggested. The
> playbook creates the custom file, but still giving the below error.
>
> [automation@workstation plays]$ cat facts.yml
> - name: Create a custom facts file
> hosts: database
> become: true
> become_user: root
> gather_facts: true
> tasks:
> - name: Create a custom facts directory
> file:
> path: /etc/ansible/facts.d
> state: directory
>
> - name: Create a custom facts
> template:
> src: templates/custom.fact.j2
> dest: /etc/ansible/facts.d/custom.fact
> mode: 0755
>
> - name: Output our newly created static fact
> debug:
> msg: "{{ ansible_local.custom.sample_exam }}"
> [automation@workstation plays]$
>
> [automation@workstation plays]$ ansible-playbook facts.yml
>
> PLAY [Create a custom facts file]
> **********************************************************************************************************************************************************************************************************
>
> TASK [Gathering Facts]
> *********************************************************************************************************************************************************************************************************************
> ok: [ansible5]
>
> TASK [Create a custom facts directory]
> *****************************************************************************************************************************************************************************************************
> ok: [ansible5]
>
> TASK [Create a custom facts]
> ***************************************************************************************************************************************************************************************************************
> changed: [ansible5]
>
> TASK [Output our newly created static fact]
> ************************************************************************************************************************************************************************************************
> fatal: [ansible5]: FAILED! => {"msg": "The task includes an option with an
> undefined variable. The error was: 'dict object' has no attribute
> 'custom'\n\nThe error appears to be in '/home/automation/plays/facts.yml':
> line 18, column 7, but may\nbe elsewhere in the file depending on the exact
> syntax problem.\n\nThe offending line appears to be:\n\n\n - name:
> Output our newly created static fact\n ^ here\n"}
>
> PLAY RECAP
> *********************************************************************************************************************************************************************************************************************************
> ansible5 : ok=3 changed=1 unreachable=0
> failed=1 skipped=0 rescued=0 ignored=0
>
> [automation@workstation plays]$
>
>
> On Thursday, April 2, 2020 at 4:46:20 PM UTC+11, Stefan Hornburg (Racke)
> wrote:
>>
>> On 4/2/20 4:16 AM, Rajesh wrote:
>> > Hi All,
>> >
>> > I created a custom facts playbook. But I am getting an error when I
>> run. I could not figure out why?
>>
>> Hello Rajesh,
>>
>> if /etc/ansible/facts.d/custom.fact is supposed to be a script it needs
>> executable permissions:
>>
>> - name: Create a custom facts
>> template:
>> src: templates/custom.fact.j2
>> dest: /etc/ansible/facts.d/custom.fact
>> mode: 0755
>>
>> Regards
>> Racke
>>
>> >
>> > *_Playbook_*
>> >
>> > - name: Create a custom facts file
>> > hosts: database
>> > become: true
>> > become_user: root
>> > gather_facts: true
>> > tasks:
>> > - name: Create a custom facts directory
>> > file:
>> > path: /etc/ansible/facts.d
>> > state: directory
>> >
>> > - name: Create a custom facts
>> > template:
>> > src: templates/custom.fact.j2
>> > dest: /etc/ansible/facts.d/custom.fact
>> >
>> > - name: Print ansible_local
>> > debug: var=ansible_local
>> > - name: Print the custom facts value
>> > debug:
>> > msg: "{{ ansible_local.custom.sample_exam }}"
>> >
>> > _*Template file*_
>> >
>> > [automation@workstation plays]$ cat templates/server_list.j2
>> > {% for host in groups['all'] %}
>> > {{ hostvars[host]['ansible_facts']['fqdn'] }}
>> > {% endfor %}
>> >
>> > [automation@workstation plays]$
>> >
>> > [automation@workstation plays]$ ansible-playbook facts.yml
>> >
>> > PLAY [Create a custom facts file]
>> >
>> **********************************************************************************************************************************************************************************************************
>>
>>
>> >
>> > TASK [Gathering Facts]
>> >
>> *********************************************************************************************************************************************************************************************************************
>>
>>
>> > fatal: [ansible5]: FAILED! => {"ansible_facts": {}, "changed": false,
>> "failed_modules": {"setup": {"ansible_facts":
>> > {"discovered_interpreter_python": "/usr/libexec/platform-python"},
>> "cmd": "/etc/ansible/facts.d/custom.fact", "failed":
>> > true, "invocation": {"module_args": {"fact_path":
>> "/etc/ansible/facts.d", "filter": "*", "gather_subset": ["all"],
>> > "gather_timeout": 10}}, "msg": "[Errno 8] Exec format error:
>> b'/etc/ansible/facts.d/custom.fact'", "rc": 8}}, "msg":
>> > "The following modules failed to execute: setup\n"}
>> >
>> > PLAY RECAP
>> >
>> *********************************************************************************************************************************************************************************************************************************
>>
>>
>> > ansible5 : ok=0 changed=0 unreachable=0
>> failed=1 skipped=0 rescued=0 ignored=0
>> >
>> > [automation@workstation plays]$
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Ansible Project" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to
>> > [email protected] <mailto:
>> [email protected]>.
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/ansible-project/5b9d27a2-cc4e-40b1-9429-284adf50524d%40googlegroups.com
>>
>> > <
>> https://groups.google.com/d/msgid/ansible-project/5b9d27a2-cc4e-40b1-9429-284adf50524d%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>>
>>
>>
>> --
>> Ecommerce and Linux consulting + Perl and web application programming.
>> Debian and Sympa administration. Provisioning with Ansible.
>>
>>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/01148e2a-5846-447b-857a-4dcecdad6e63%40googlegroups.com.