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.