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.

Reply via email to