Hi,
I have a curious case that I want to share with you (take me around one hour to realise what was happening)
In RH294 course on section 3.5 Managing Facts I was trying to set up custom facts, following the instructions I set up the custom facts on workstation /etc/ansible/facts.d/<filename>.fact
All ok (here comes the funny part), until I execute the playbook on localhost using ansible.builtin.debug module and referring the var ansible_local, fact were not showing up (facts.d are ok, file rights ok). After many tries, I decided to go old school ansible-playbook, Eureka, it works! but Why?
Just remind that ansible-navigator is executed behind a container if you use localhost ansible_locals will not showing up custom localhost facts because there aren´t custom facts inside the container.
To test my affirmation, I set up custom facts on host b and eureka it works!
My suggestion will be to add a reminder on this lesson about this situation where ansible-navigator use a container and don´t try to gather ansible_locals on localhost
Please feel free to correct me in the case I make a mistake or if there´s something wrong in my post
Excellent observation, however, it can gather facts even from localhost. Keep in mind, localhost isn't workstation. Localhost is actually the container running within the ansible-navigator process. So one other way to test the facts from workstation is be sure to add that to the inventory and target the workstation machine.
Within the newer AAP environments using ansible-navigator to launch commands the concept of localhost is more or less meaningless for any systems to manage. The only thing localhost is useful for within the containerized environment is communicating with APIs and such and prevents needing SSH sessions reaching out to various systems.
I share the following post when I deliver courses.
When Localhost isn't what it seems: https://www.ansible.com/blog/when-localhost-isnt-what-it-seems-in-red-hat-ansible-automation-platfor...
There is also another RHLC post here -
Excellent observation, however, it can gather facts even from localhost. Keep in mind, localhost isn't workstation. Localhost is actually the container running within the ansible-navigator process. So one other way to test the facts from workstation is be sure to add that to the inventory and target the workstation machine.
Within the newer AAP environments using ansible-navigator to launch commands the concept of localhost is more or less meaningless for any systems to manage. The only thing localhost is useful for within the containerized environment is communicating with APIs and such and prevents needing SSH sessions reaching out to various systems.
I share the following post when I deliver courses.
When Localhost isn't what it seems: https://www.ansible.com/blog/when-localhost-isnt-what-it-seems-in-red-hat-ansible-automation-platfor...
There is also another RHLC post here -
Red Hat
Learning Community
A collaborative learning environment, enabling open source skill development.