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.