On 04.07.2017 19:58, Anfield wrote:
Created a custom fact which only seems to work when not executable -
etc/ansible/facts.d/preference.fact
[new facts]
material = concrete
structure = square
I highly recommend against using spaces in fact keys.
You must likely will have a lot of problems if you do.
When the preference.fact is set to executable I get the following error
-
TASK [Gathering Facts]
*********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd":
"/etc/ansible/facts.d/preference.fact", "failed": true, "msg": "[Errno
8]
Exec format error", "rc": 8}
Fixed that by setting the fact to not executable and the playbook runs
fine
This is as expected.
If a file is executable Ansible will try to run the file, and it need to
a valid program/script.
When the file is not an executable Ansible will read it content.
My second question is how to drill into the fact to reference each fact
separately if i need to ?
I cant seem to drill in any further than - debug: msg="Custom facts
are
{{ansible_local.preference}}
Playbook
---
- hosts: localhost
gather_facts: on
tasks:
- name: Display custom facts
debug: msg="Custom facts are {{ansible_local.preference.new
facts}}"
The space is causing the the problem.
To make it work with space you would need to use square brackets and not
the dot notation.
{{ ansible_local.preference.['new facts'] }}
--
Kai Stian Olstad
--
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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/6678e4c64c125acf5863e5901124ffb3%40olstad.com.
For more options, visit https://groups.google.com/d/optout.