ఎలా పరిష్కరించాలి "x.x.xx కు భాగస్వామ్య కనెక్షన్ మూసివేయబడింది" అన్సిబుల్ లోపం


ఈ చిన్న వ్యాసంలో, “module_stderr“: “x.x.x.x కు భాగస్వామ్య కనెక్షన్ మూసివేయబడింది. ”,“ Module_stdout ”:“/bin/sh:/usr/bin/python: అటువంటి ఫైల్ లేదా డైరెక్టరీ లేదు ”, అన్సిబుల్ ఆదేశాలను నడుపుతున్నప్పుడు.

కింది స్క్రీన్ షాట్ అన్సిబుల్ మాడ్యూల్ లోపాన్ని చూపుతుంది. కొత్తగా అమలు చేయబడిన రెండు సెంటొస్ 8 సర్వర్uలలో ఆదేశాలను అమలు చేయడానికి అన్సిబుల్ కమాండ్uను నడుపుతున్నప్పుడు మేము ఈ లోపాన్ని ఎదుర్కొన్నాము.

లోపం వివరాల నుండి, కనెక్షన్ విఫలమైంది ఎందుకంటే రిమోట్ సిస్టమ్uలోని షెల్ (లు) పైథాన్ ఇంటర్ప్రెటర్ (/ usr/bin/python) ను లైన్ ద్వారా సూచించినట్లు కనుగొనలేకపోయింది: “module_stdout”: “/ bin/sh:/usr/bin/python: అటువంటి ఫైల్ లేదా డైరెక్టరీ లేదు “.

రిమోట్ హోస్ట్uలను తనిఖీ చేసిన తర్వాత, సిస్టమ్స్ పైథాన్ 2 ఇన్uస్టాల్ చేయలేదని మేము కనుగొన్నాము.

వారు అప్రమేయంగా పైథాన్ 3 ను వ్యవస్థాపించారు మరియు దాని బైనరీ/usr/bin/python3.

అన్సిబుల్ డాక్యుమెంటేషన్ ప్రకారం, అన్సిబుల్ (2.5 మరియు అంతకంటే ఎక్కువ) పైథాన్ వెర్షన్ 3 మరియు అంతకంటే ఎక్కువ మాత్రమే పనిచేస్తుంది. అలాగే, అన్సిబుల్ పైథాన్ 3 ను స్వయంచాలకంగా గుర్తించి, దానితో రవాణా చేసే అనేక ప్లాట్uఫామ్uలలో ఉపయోగించాల్సి ఉంటుంది.

అయినప్పటికీ, అది విఫలమైతే, మీరు క్రింద వివరించిన విధంగా పైథాన్ 3 వ్యాఖ్యాత యొక్క స్థానానికి ఒక సమూహం లేదా హోస్ట్ స్థాయిలో ansible_python_interpreter జాబితా వేరియబుల్uను సెట్ చేయడం ద్వారా పైథాన్ 3 వ్యాఖ్యాతను స్పష్టంగా కాన్ఫిగర్ చేయవచ్చు.

కమాండ్-లైన్uలో పైథాన్ ఇంటర్uప్రెటర్uను అన్సిబుల్uకు పాస్ చేస్తోంది

పై లోపాన్ని తాత్కాలికంగా పరిష్కరించడానికి, పైథాన్ 3 వ్యాఖ్యాతను చూపిన విధంగా అన్సిబుల్uకు పంపించడానికి మీరు -e ఫ్లాగ్uను ఉపయోగించవచ్చు.

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

ఇన్వెంటరీలో అన్సిబుల్ కోసం పైథాన్ ఇంటర్uప్రెటర్uను సెట్ చేస్తోంది

లోపాన్ని శాశ్వతంగా పరిష్కరించడానికి, మీ జాబితా/etc/ansible/హోస్ట్uలలో ansible_python_interpreter జాబితా వేరియబుల్uను సెట్ చేయండి. మీరు చూపిన విధంగా v/im లేదా నానో టెక్స్ట్ ఎడిటర్ ఉపయోగించి ఎడిటింగ్ కోసం దీన్ని తెరవవచ్చు.

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

సమూహంలోని ప్రతి హోస్ట్ లేదా హోస్ట్uలకు ఈ క్రింది పంక్తిని జోడించండి:

ansible_python_interpreter=/usr/bin/python3

కాబట్టి, మీ హోస్ట్uల నిర్వచనాలు ఇలా ఉంటాయి:

[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

అన్uసిబుల్ కాన్ఫిగరేషన్uలో డిఫాల్ట్ పైథాన్ ఇంటర్uప్రెటర్uను సెట్ చేస్తోంది

డిఫాల్ట్ పైథాన్ వ్యాఖ్యాతను సెట్ చేయడానికి, మీరు అన్సిబుల్ యొక్క ప్రధాన కాన్ఫిగరేషన్ ఫైల్ /etc/ansible/ansible.cfg లో ansible_python_interpreter జాబితా వేరియబుల్uను సెట్ చేయవచ్చు.

$ sudo vim /etc/ansible/ansible.cfg

[డిఫాల్ట్uలు] విభాగం క్రింద ఈ క్రింది పంక్తిని జోడించండి.

ansible_python_interpreter=/usr/bin/python3

ఫైల్ను సేవ్ చేసి దాన్ని మూసివేయండి.

ఇప్పుడు మరోసారి అన్సిబుల్ ఆదేశాన్ని అమలు చేయడానికి ప్రయత్నించండి:

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

ఈ అంశం గురించి మరింత సమాచారం కోసం, అధికారిక అన్సిబుల్ డాక్యుమెంటేషన్uలో పైథాన్ 3 మద్దతు చూడండి.