"X.x.xx உடன் பகிரப்பட்ட இணைப்பு மூடப்பட்டது" எவ்வாறு சரிசெய்வது என்பது பதிலளிக்கக்கூடிய பிழை


இந்த சிறு கட்டுரையில், “module_stderr“: “x.x.x.x உடன் பகிரப்பட்ட இணைப்பு மூடப்பட்டது எப்படி என்பதை விளக்குவோம். ”,“ Module_stdout ”:“/bin/sh:/usr/bin/python: அத்தகைய கோப்பு அல்லது அடைவு இல்லை ”, அன்சிபிள் கட்டளைகளை இயக்கும் போது.

பின்வரும் ஸ்கிரீன்ஷாட் அன்சிபிள் தொகுதி பிழையைக் காட்டுகிறது. புதிதாக பயன்படுத்தப்பட்ட இரண்டு CentOS 8 சேவையகங்களில் கட்டளைகளை இயக்க ஒரு Ansible கட்டளையை இயக்கும் போது இந்த பிழையை எதிர்கொண்டோம்.

பிழை விவரங்களிலிருந்து, இணைப்பு தோல்வியுற்றது, ஏனெனில் தொலை கணினியில் உள்ள ஷெல் (கள்) பைத்தான் மொழிபெயர்ப்பாளரை (/ usr/bin/python) கண்டுபிடிக்க முடியவில்லை: “module_stdout”: “/ bin/sh:/usr/bin/python: அத்தகைய கோப்பு அல்லது அடைவு இல்லை “.

தொலை ஹோஸ்ட்களைச் சரிபார்த்த பிறகு, கணினிகள் பைதான் 2 நிறுவப்படவில்லை என்பதைக் கண்டுபிடித்தோம்.

அவை முன்னிருப்பாக பைதான் 3 ஐ நிறுவியுள்ளன, அதன் பைனரி/usr/bin/python3 ஆகும்.

அன்சிபிள் ஆவணத்தின் படி, அன்சிபில் (2.5 மற்றும் அதற்கு மேற்பட்டது) பைதான் பதிப்பு 3 மற்றும் அதற்கு மேல் மட்டுமே இயங்குகிறது. மேலும், அன்சிபில் தானாகவே பைதான் 3 ஐக் கொண்டு வந்து பல தளங்களில் பயன்படுத்த வேண்டும்.

இருப்பினும், அது தோல்வியுற்றால், கீழே விவரிக்கப்பட்டுள்ளபடி பைதான் 3 மொழிபெயர்ப்பாளரின் இருப்பிடத்திற்கு ஒரு குழு அல்லது புரவலன் மட்டத்தில் ansible_python_interpreter சரக்கு மாறியை அமைப்பதன் மூலம் நீங்கள் பைதான் 3 மொழிபெயர்ப்பாளரை வெளிப்படையாக உள்ளமைக்கலாம்.

கட்டளை வரியில் பைதான் மொழிபெயர்ப்பாளரை அன்சிபிலுக்கு அனுப்புகிறது

மேலே உள்ள பிழையை தற்காலிகமாக சரிசெய்ய, காட்டப்பட்டுள்ளபடி பைதான் 3 மொழிபெயர்ப்பாளரை அன்சிபிலுக்கு அனுப்ப -e கொடியைப் பயன்படுத்தலாம்.

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

சரக்குகளில் அன்சிபிலுக்கு பைதான் மொழிபெயர்ப்பாளரை அமைத்தல்

பிழையை நிரந்தரமாக சரிசெய்ய, உங்கள் சரக்கு/etc/ansible/புரவலன்களில் ansible_python_interpreter சரக்கு மாறியை அமைக்கவும். காட்டப்பட்டுள்ளபடி v/im அல்லது நானோ உரை திருத்தியைப் பயன்படுத்தி திருத்துவதற்கு இதைத் திறக்கலாம்.

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

ஒரு குழுவில் உள்ள ஒவ்வொரு ஹோஸ்ட் அல்லது ஹோஸ்ட்களுக்கும் பின்வரும் வரியைச் சேர்க்கவும்:

ansible_python_interpreter=/usr/bin/python3

எனவே, உங்கள் ஹோஸ்ட்களின் வரையறைகள் இப்படி இருக்கும்:

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

மாற்றாக, காட்டப்பட்டுள்ளபடி ஹோஸ்ட்களின் குழுவுக்கு அதே பைதான் மொழிபெயர்ப்பாளரை அமைக்கவும்.

[prod_servers]
192.168.10.1		
192.168.10.20		

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

இயல்புநிலை பைதான் மொழிபெயர்ப்பாளரை அன்சிபிள் உள்ளமைவில் அமைத்தல்

இயல்புநிலை பைதான் மொழிபெயர்ப்பாளரை அமைக்க, நீங்கள் அன்சிபலின் முக்கிய உள்ளமைவு கோப்பில் /etc/ansible/ansible.cfg இல் ansible_python_interpreter சரக்கு மாறியை அமைக்கலாம்.

$ sudo vim /etc/ansible/ansible.cfg

[இயல்புநிலை] பிரிவின் கீழ் பின்வரும் வரியைச் சேர்க்கவும்.

ansible_python_interpreter=/usr/bin/python3

கோப்பை சேமித்து மூடவும்.

இப்போது மீண்டும் ஒரு முறை Ansible கட்டளையை இயக்க முயற்சிக்கவும்:

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

இந்த தலைப்பைப் பற்றிய கூடுதல் தகவலுக்கு, அதிகாரப்பூர்வ அன்சிபிள் ஆவணத்தில் பைதான் 3 ஆதரவைப் பார்க்கவும்.