Currently we have AWX (AWX 22.5.0) running. Inventory is setup by configuring the source from bitbucket. All the hosts that are present in the ini file are getting reflected in the inventory along with the groups. Inventory is working as expected.
Issue:
My inventory has 50 hosts with the group name [test-set1] and all of them are linux hosts. The playbook in the job template is a simple ping module task. When i run the job template, which has a ansible playbook of testing the connectivity, out 50 host 40 host fails with connectivity issue.
I have configured ansible control server as my instance, where on these ACS, i have the receptor running. This ACS acts as a Execution Node.
On this ACS server when i run the playbook manually against the inventory file which consist of same 50 hosts, i have a success of 40 servers and 10 have issue( which is known issue).
Why is there a discrepancy in the execution. The credentials used in both the scenario is same. In AWX template execution we see a lot of connectivity issue w.r.t hosts.
=====================================================
one of the below error is being throwing in the output section of the awx job:
The first error, Could not resolve hostname <xyz>
, indicates a DNS issue. The second error is a note that you’ve accepted the host key fingerprint and then an incorrect password issue.
The discrepancy is, I would guess, because Ansible / Tower / AWX do not manage your DNS infrastructure. Your ability to connect to a server over SSH does not relate to AWX Credential usage.
If you have the ability, I would suggest connecting to your AWX instances (ssh, or kubectl exec bash, something like this) and trying to SSH from there to the servers in your inventory.
I would guess that the problem is not specific to AWX or Ansible but it is just a general networking or availability problem.
You have mentioned to connect to AWX instance and then ssh to the target hosts. But when we run the AWX template using the execution node, as per our understanding (quay.io / ansible / awx-ee:latest) image is pulled and will be spun up in the execution node, inside this container the Template (actual playbook) performs its tasks. If the execution node has the connectivity to hosts, then the same hosts which is part of the inventory used in the template should also have the connectivity. This is working for several other hosts and other templates.
If the above described scenario is incorrect with respect to the triggering of a template in awx and it getting completed, then what would be the internal mechanism of AWX, when a user triggers the template by selecting inventory, credentials, and instance group (which has a instance → execution node)
Can someone please explian?