Jak naprawić „wspólne połączenie z x.X.xx zamknięty ”Ansible Błąd

- 3962
- 665
- Seweryn Augustyniak
W tym krótkim artykule wyjaśnimy, jak rozwiązać: „module_stderr„:„ Wspólne połączenie z x.X.X.x zamknięte.\ r \ n ”,„ module_stdout ”:„/bin/sh:/usr/bin/python: brak takiego pliku lub katalogu \ r \ n ”, podczas uruchamiania poleceń ansible.
Poniższy zrzut ekranu pokazuje błąd modułu Ansible. Napotkaliśmy ten błąd podczas uruchamiania polecenia ansible w celu wykonywania poleceń na dwóch nowo wdrożonych Centos 8 serwery.

Z szczegółów błędu połączenie nie powiodło się, ponieważ powłoka w systemie zdalnym nie mogła znaleźć Pyton tłumacz (/usr/bin/python), jak wskazuje linia: „module_stdout ”:„/bin/sh:/usr/bin/python: brak takiego pliku lub katalogu \ r \ n".
Po sprawdzeniu zdalnych hostów odkryliśmy, że systemy nie mają Python 2 zainstalowane.

Oni mają Python 3 zainstalowane domyślnie, a jego binarne jest /usr/bin/python3.

Zgodnie z dokumentacją Ansible, Ansible (2.5 i powyżej) działa tylko z Python wersją 3 i powyżej. Ponadto Ansible ma automatycznie wykrywać i wykorzystywać Python 3 na wielu platformach, które z nim wysyłają.
Jeśli jednak to się nie udało, możesz jawnie skonfigurować interpreter Python 3, ustawiając ansible_python_interpreter zmienna zapasów na poziomie grupy lub hosta do lokalizacji tłumacza Python 3, jak opisano poniżej.
Przekazanie interpretera Pythona do Ansible na wierszu poleceń
Aby tymczasowo naprawić powyższy błąd, możesz użyć -mi
flaga, aby przekazać tłumacz Python 3 do Ansible, jak pokazano.
$ ansible produkt_servers -e 'ansible_python_interpreter =/usr/bin/python3' -A „Systemctl Status Firewalld” -U root

Ustawienie interpretera Pythona dla Ansible w ekwipunku
Aby naprawić błąd na stałe, ustaw ansible_python_interpreter Zmienna zapasów w zapasach /etc/ansible/hosts. Możesz go otworzyć do edycji za pomocą edytora tekstu V/IM lub Nano, jak pokazano.
$ sudo vim/etc/ansible/hosts lub # vim/etc/ansible/hosts
Dodaj następujący wiersz do każdego hosta lub hostów w grupie:
ansible_python_interpreter =/usr/bin/python3
Tak więc definicje hostów mogą wyglądać tak:
[Prod_servers] 192.168.10.1 ansible_python_interpreter =/usr/bin/Python3 192.168.10.20 ansible_python_interpreter =/usr/bin/python3.6

Alternatywnie ustaw ten sam interpreter Python dla grupy hostów, jak pokazano.
[Prod_servers] 192.168.10.1 192.168.10.20 [Prod_Servers: Vars] ansible_python_interpreter =/usr/bin/Python3

Ustawienie domyślnego interpretera Pythona w konfiguracji Ansible
Aby ustawić domyślny interpreter Python, możesz ustawić ansible_python_interpreter Zmienna zapasów w głównym pliku konfiguracyjnym Ansible /etc/ansible/ansible.CFG.
$ sudo vim/etc/ansible/ansible.CFG
Dodaj następujący wiersz pod [domyślne]
Sekcja.
ansible_python_interpreter =/usr/bin/python3

Zapisz plik i zamknij go.
Teraz spróbuj ponownie uruchomić polecenie Ansible:
$ ansible produkt_servers -A „Systemctl Status Firewalld” -u root

Aby uzyskać więcej informacji na ten temat, zobacz wsparcie Python 3 w oficjalnej dokumentacji Ansible.
- « Ostateczny przewodnik po bezpieczeństwie, stwardnienia i poprawie wydajności serwera WWW Nginx
- Frostwire - pobierca chmury, klient BitTorrent i odtwarzacz multimedialny »