Hvernig á að laga „Samnýtt tenging við x.x.xx lokað“ Ansible Villa


Í þessari stuttu grein munum við útskýra hvernig á að leysa: „module_stderr“: „Sameiginleg tenging við x.x.x.x lokað. ”, “module_stdout”: “/bin/sh: /usr/bin/python: Engin slík skrá eða mappa ”, meðan þú keyrir Ansible skipanir.

Eftirfarandi skjámynd sýnir Ansible mát villuna. Við lentum í þessari villu þegar við keyrðum Ansible skipun til að framkvæma skipanir á tveimur nýuppsettum CentOS 8 netþjónum.

Frá villuupplýsingunum mistókst tengingin vegna þess að skel/skel í ytra kerfinu fann ekki Python túlkinn (/usr/bin/python) eins og línan gefur til kynna: “module_stdout”: “/bin/sh:/usr/bin/python: Engin slík skrá eða skrá “.

Eftir að hafa skoðað ytri gestgjafana komumst við að því að kerfin eru ekki með Python 2 uppsett.

Þeir hafa Python 3 uppsett sjálfgefið og tvöfaldur þess er /usr/bin/python3.

Samkvæmt Ansible skjölunum virkar Ansible (2.5 og nýrri) eingöngu með Python útgáfu 3 og nýrri. Einnig á Ansible að greina og nota Python 3 sjálfkrafa á mörgum kerfum sem fylgja með.

Hins vegar, ef það tekst ekki, þá geturðu beinlínis stillt Python 3 túlk með því að stilla ansible_python_interpreter birgðabreytuna á hóp- eða hýsingarstigi á staðsetningu Python 3 túlks eins og lýst er hér að neðan.

Sendir Python túlk til Ansible á skipanalínunni

Til að laga ofangreinda villu tímabundið geturðu notað -e fánann til að senda Python 3 túlkinn til Ansible eins og sýnt er.

$ ansible prod_servers  -e 'ansible_python_interpreter=/usr/bin/python3' -a "systemctl status firewalld" -u root

Setja Python túlk fyrir Ansible í birgðum

Til að laga villuna varanlega skaltu stilla ansible_python_interpreter birgðabreytuna í birgðum þínum /etc/ansible/hosts. Þú getur opnað það til að breyta með v/im eða nano textaritlinum eins og sýnt er.

$ sudo vim /etc/ansible/hosts
OR
# vim /etc/ansible/hosts

Bættu eftirfarandi línu við hvern gestgjafa eða gestgjafa í hópi:

ansible_python_interpreter=/usr/bin/python3

Svo, skilgreiningar gestgjafa þinna geta litið svona út:

[prod_servers]
192.168.10.1			ansible_python_interpreter=/usr/bin/python3
192.168.10.20			ansible_python_interpreter=/usr/bin/python3.6

Að öðrum kosti skaltu stilla sama Python túlk fyrir hóp gestgjafa eins og sýnt er.

[prod_servers]
192.168.10.1		
192.168.10.20		

[prod_servers:vars]
ansible_python_interpreter=/usr/bin/python3

Stilla sjálfgefinn Python túlk í Ansible stillingum

Til að stilla sjálfgefna Python túlkinn geturðu stillt ansible_python_interpreter birgðabreytuna í aðalstillingarskrá Ansible /etc/ansible/ansible.cfg.

$ sudo vim /etc/ansible/ansible.cfg

Bættu við eftirfarandi línu undir [sjálfgefin] hlutanum.

ansible_python_interpreter=/usr/bin/python3

Vistaðu skrána og lokaðu henni.

Reyndu nú að keyra Ansible skipunina einu sinni enn:

$ ansible prod_servers -a "systemctl status firewalld" -u root

Fyrir frekari upplýsingar um þetta efni, sjá Python 3 stuðning í opinberu Ansible skjölunum.