Thanks Dennis for your help. Once I changed the mode to "644" as suggested by Jean-Yves, the playbook worked fine.
On Sun, Apr 5, 2020 at 6:02 PM Dennis McCarthy <[email protected]> wrote: > try deleting: /etc/ansible/facts.d > > and let ansible recreate it. If you still get the same issue (delete > /etc/ansible/facts.d again) and try running ansible either as root or with > sudo just to rule out permissions. > > > > On Sun, 5 Apr 2020 at 07:22, Rajesh <[email protected]> wrote: > >> Tried that but still not working. Thanks for your help. >> >> On Saturday, April 4, 2020 at 7:35:12 PM UTC+11, Jean-Yves LENHOF wrote: >>> >>> The first time you run it, files are not yet in place, so you probably >>> need to regather fact, no ? You can do it with setup: >>> >>> Regards, >>> >>> >>> Le 04/04/2020 à 10:18, Rajesh a écrit : >>> >>> 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 >>> <https://groups.google.com/d/msgid/ansible-project/01148e2a-5846-447b-857a-4dcecdad6e63%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> -- >> 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/5000fa54-3f67-4d99-8f2c-6d1a33cb6b58%40googlegroups.com >> <https://groups.google.com/d/msgid/ansible-project/5000fa54-3f67-4d99-8f2c-6d1a33cb6b58%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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/CAA%3Df3eLBc-yE5FSSMoOdMXWQVGwPUB_aT9u93Fb8p8_NyGuKBw%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CAA%3Df3eLBc-yE5FSSMoOdMXWQVGwPUB_aT9u93Fb8p8_NyGuKBw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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/CAGt19NvxCYhyL-0QOO_esuM0%2BaxFggVNoLwrBzscaHHAevWXww%40mail.gmail.com.
