Jinsi ya Kurekebisha Muunganisho ulioshirikiwa kwa x.x.xx umefungwa Hitilafu Inayojibika


Katika makala haya mafupi, tutaeleza jinsi ya kutatua: “module_stderr“: “Muunganisho ulioshirikiwa kwa x.x.x.x umefungwa.\r\n”, “module_stdout”: “/bin/sh: /usr/bin/python: Hakuna faili kama hiyo. au saraka\r\n”, huku unaendesha Amri Zinazofaa.

Picha ya skrini ifuatayo inaonyesha hitilafu ya moduli ya Ansible. Tumekumbana na hitilafu hii tulipokuwa tukiendesha amri Ansible ya kutekeleza amri kwenye seva mbili mpya za CentOS 8.

Kutoka kwa maelezo ya makosa, muunganisho haukufaulu kwa sababu ganda (s) kwenye mfumo wa mbali halikuweza kupata mkalimani wa Python (/usr/bin/python) kama inavyoonyeshwa na mstari: module_stdout: /bin/sh:/usr/bin/python: Hakuna faili kama hiyo au saraka\r\n“.

Baada ya kuangalia majeshi ya mbali, tuligundua kuwa mifumo haina Python 2 iliyosakinishwa.

Wana Python 3 iliyosanikishwa kwa chaguo-msingi na binary yake ni /usr/bin/python3.

Kulingana na hati Ansible, Ansible (2.5 na hapo juu) inafanya kazi na Python toleo la 3 na hapo juu tu. Pia, Ansible inapaswa kugundua kiotomatiki na kutumia Python 3 kwenye majukwaa mengi ambayo husafirishwa nayo.

Walakini, ikiwa itashindwa, basi unaweza kusanidi kwa uwazi mkalimani wa Python 3 kwa kuweka utofautishaji wa hesabu wa ansible_python_interpreter katika kiwango cha kikundi au mwenyeji hadi eneo la mkalimani wa Python 3 kama ilivyoelezewa hapa chini.

Kupitisha Mkalimani wa Python kwa Ansible kwenye safu ya Amri

Ili kurekebisha hitilafu iliyo hapo juu kwa muda, unaweza kutumia -e bendera kupitisha mkalimani wa Python 3 kwa Ansible kama inavyoonyeshwa.

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

Kuweka Mkalimani wa Python kwa Ansible katika Mali

Ili kurekebisha kosa kabisa, weka hesabu ya ansible_python_interpreter katika hesabu yako /etc/ansible/hosts. Unaweza kuifungua kwa kuhaririwa kwa kutumia kihariri maandishi cha v/im au nano kama inavyoonyeshwa.

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

Ongeza laini ifuatayo kwa kila mwenyeji au wapangishaji katika kikundi:

ansible_python_interpreter=/usr/bin/python3

Kwa hivyo, ufafanuzi wa mwenyeji wako unaweza kuonekana kama hii:

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

Vinginevyo, weka mkalimani sawa wa Python kwa kikundi cha wapangishi kama inavyoonyeshwa.

[prod_servers]
192.168.10.1		
192.168.10.20		

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

Kuweka Mkalimani Chaguo-msingi wa Python katika Usanidi Unaofaa

Ili kuweka mkalimani chaguo-msingi wa Python, unaweza kuweka utofautishaji wa hesabu wa ansible_python_interpreter katika faili kuu ya usanidi ya Ansible /etc/ansible/ansible.cfg.

$ sudo vim /etc/ansible/ansible.cfg

Ongeza laini ifuatayo chini ya sehemu ya [defaults].

ansible_python_interpreter=/usr/bin/python3

Hifadhi faili na uifunge.

Sasa jaribu kutekeleza Ansible amri tena:

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

Kwa habari zaidi juu ya mada hii, angalia usaidizi wa Python 3 kwenye hati rasmi ya Ansible.