Kuidas lahendada "Jagatud ühendus saidiga x.x.xx suletud" Anonymous Error


Selles lühikeses artiklis selgitame, kuidas lahendada: “module_stderr”: “Jagatud ühendus seadmega xxxx suletud.\R\n”, “module_stdout”: “/ bin/sh:/usr/bin/python: Sellist faili pole või kataloog\r\n ", käivitades samal ajal käsud Ansible.

Järgmisel ekraanipildil on kuvatud viga Ansible moodul. Selle tõrega tekkis käsk Ansible, käivitades käskude täitmise kahes äsja juurutatud CentOS 8 serveris.

Vea üksikasjadest ebaõnnestus ühendus, kuna kaugsüsteemi kest (ad) ei leidnud Pythoni tõlki (/ usr/bin/python), nagu on näidatud real: "module_stdout": "/ bin/sh:/usr/bin/python: Sellist faili ega kataloogi pole\r\n “.

Pärast kaughostide kontrollimist avastasime, et süsteemidele pole Python 2 installitud.

Neile on vaikimisi installitud Python 3 ja selle binaarne fail on/usr/bin/python3.

Ansible dokumentatsiooni kohaselt töötab Ansible (2.5 ja uuem) ainult Pythoni versiooniga 3 ja uuemaga. Samuti peaks Ansible Python 3 automaatselt tuvastama ja kasutama paljudel platvormidel, mis sellega kaasas käivad.

Kui see aga ei õnnestu, saate Python 3 tõlgi selgesõnaliselt konfigureerida, määrates ansible_python_interpreter varude muutuja rühma- või hosti tasandil Python 3 tõlgi asukohaks, nagu allpool kirjeldatud.

Pythoni tõlgi edastamine käsurealt Ansible

Ülaltoodud tõrke ajutiseks kõrvaldamiseks võite lipu -e abil edastada Python 3 tõlgi Ansible'ile, nagu näidatud.

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

Pythoni interpretaatori määramine loendis Ansible

Vea jäädavaks parandamiseks määrake oma inventuuri/etc/ansible/hosts ansible_python_interpreter varude muutuja. Redigeerimiseks saate selle avada, kasutades v/im või nano tekstiredaktorit, nagu näidatud.

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

Lisage järgmine rida iga rühma hosti või hostide jaoks:

ansible_python_interpreter=/usr/bin/python3

Nii võivad teie hostide definitsioonid välja näha järgmised:

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

Teise võimalusena määrake hostide rühmale sama Pythoni tõlk, nagu näidatud.

[prod_servers]
192.168.10.1		
192.168.10.20		

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

Vaikimisi Pythoni tõlgi määramine anonüümsesse konfiguratsiooni

Pythoni vaiketõlgi määramiseks saate ansible_python_interpreter varude muutuja määrata Ansible'i peamises konfiguratsioonifailis /etc/ansible/ansible.cfg.

$ sudo vim /etc/ansible/ansible.cfg

Lisage jaotise [default] alla järgmine rida.

ansible_python_interpreter=/usr/bin/python3

Salvestage fail ja sulgege see.

Nüüd proovige käsk Ansible uuesti käivitada:

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

Selle teema kohta lisateabe saamiseks vaadake ametliku Ansible dokumentatsiooni Python 3 tugiteenust.