What is Facts
Facts are information derived from speaking with your remote systems.
Turning Off Facts
If you know you don’t
need any fact data about your hosts, and know everything about your systems
centrally, you can turn off fact gathering. This has advantages in scaling
Ansible in push mode with very large numbers of systems, mainly, or if you are
using Ansible on experimental platforms. In any play, just do this:
- hosts: whatever
gather_facts: no
Local Facts (Facts.d)
As discussed in the
playbooks chapter, Ansible facts are a way of getting data about remote systems
for use in playbook variables.
Usually these are discovered automatically by the
setup module in Ansible. Users can also write custom facts modules, as
described in the API guide. However, what if you want to have a simple way to
provide system or user provided data for use in Ansible variables, without
writing a fact module?
For instance, what if you want users to be able to
control some aspect about how their systems are managed? “Facts.d”
is one such mechanism.
In Remote Server [Client]
[root@ansic1 facts.d]# cat /etc/ansible/facts.d/hn.fact
[local_facts]
hostname=client1
environment=production
application=test1
In Master Server
In Master Server run the setup command with filter ansible_local option, then we can see the local facts getting pulled. Like this we can use our own custom facts to manage the servers based on different environment.
In Master Server run the setup command with filter ansible_local option, then we can see the local facts getting pulled. Like this we can use our own custom facts to manage the servers based on different environment.
[root@ansim0 ~]# ansible test -m setup -a "filter=ansible_local"
client1 | SUCCESS => {
"ansible_facts": {
"ansible_local": {
"hn": {
"local_facts": {
"application": "test1",
"environment": "production",
"hostname": "client1"
}
},
"one": {
"general": {
"asdf": "1",
"bar": "2"
}
}
}
},
"changed": false
}
Errors Observed while creating custom facts
a) Exec Format error
Solution : Custom fact file has execute permission, but it is not actually an executable file. So remove the execute permission for custom facts file.
Solution : Custom fact file has execute permission, but it is not actually an executable file. So remove the execute permission for custom facts file.
b) error loading fact - please check content
Solution : Custom fact file did'nt have the proper contents.
Solution : Custom fact file did'nt have the proper contents.
No comments:
Post a Comment