ఎలా పరిష్కరించాలి "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 మద్దతు చూడండి.