Hi,
Your fact is simple INI file, not a script which give json output.
Try removing the execution bit on your fact (644 for example)
Info provided here with some 2 mn googling :
https://groups.google.com/forum/#!topic/ansible-project/2JRR8a-K9_8
Regards,
Le 05/04/2020 à 08:22, Rajesh a écrit :
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>
>
<https://groups.google.com/d/msgid/ansible-project/5b9d27a2-cc4e-40b1-9429-284adf50524d%40googlegroups.com?utm_medium=email&utm_source=footer
<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] <javascript:>.
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]
<mailto:[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/cbe78936-1a55-4e2a-4047-ec8afd377a6c%40lenhof.eu.org.