तथ्य एकत्र करने पर अटक गया


52

मैं अपने आंसर बॉक्स (आवारा) के साथ कुछ अजीब मुद्दे रख रहा हूं।

कल सब कुछ काम किया और मेरी प्लेबुक ने ठीक काम किया।

आज, "तथ्यों को इकट्ठा करने" पर लटके हुए हैं?

यहाँ क्रिया आउटपुट है:

<5.xxx.xxx.xxx> ESTABLISH CONNECTION FOR USER: deploy
<5.xxx.xxx.xxx> REMOTE_MODULE setup
<5.xxx.xxx.xxx> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-
o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-s
sh-%h-%p-%r', '-o', 'Port=2221', '-o', 'KbdInteractiveAuthentication=no', '-o',
'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o
', 'PasswordAuthentication=no', '-o', 'User=deploy', '-o', 'ConnectTimeout=10',
'5.xxx.xxx.xxx', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1411372677
.18-251130781588968 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1411372677.18-2
51130781588968 && echo $HOME/.ansible/tmp/ansible-tmp-1411372677.18-251130781588
968'"]

1
यह कितने समय के लिए लटका रहता है? क्या आपने vagrant sshयह देखने के लिए कि क्या कुछ उपयोगी है psऔर देखने के लिए हैंग होने के दौरान कोशिश की थी netstat? इसके अलावा, हैंग में पहले संदिग्धों में से एक डीएनएस है - यह चेक करें कि क्या डीएनएस वर्चुअल मशीन के अंदर से हल हो रहा है।
एंटोनी क्रिस्टोफ़ाइड्स

1
टिप्पणी के लिए धन्यवाद। समाधान सरल था, योनि को नष्ट करना और ऊपर उठना ... मुझे अभी भी लगता है कि यह अजीब है कि यह सिर्फ काम करना बंद कर देता है?
बी.जे. ब्लेज़कोविज़

1
अगर कोई दुर्गम (cifs-) आरोह है तो मुझे अंसिबल को रोकने का मुद्दा था।
आना

1
बस ऐसा हुआ था, यह ज्ञात_होस्ट फ़ाइल में एक पुरानी होस्ट कुंजी के कारण हुआ था। अजीब है कि कनेक्शन विफल नहीं हुआ जैसा कि इस मामले में सामान्य है।
GnP

क्या आप योनि बॉक्स में sshd लॉग की जांच कर सकते हैं? आपको "LogLevel DEBUG" को / etc / ssh / sshd_config पर सेट करने की आवश्यकता हो सकती है, लेकिन जो चल रहा है उसकी अधिक जानकारी प्रदान कर सकता है।
पाब्लो मार्टिनेज

जवाबों:


31

मैं वैगरेंट पर अन्सिबल पिंग के साथ एक समान मुद्दा रहा था, यह अचानक बिना किसी कारण के अटक गया और पहले बिल्कुल ठीक काम किया है। किसी भी अन्य मुद्दे जैसे कि ssh या संयोजी मुद्दे के विपरीत, यह बिना किसी समय-सीमा के हमेशा के लिए मर जाता है।

इस मुद्दे को हल करने के लिए मैंने जो एक काम किया, वह है ~/.ansibleनिर्देशिका को साफ करना और यह फिर से काम करता है। मुझे पता नहीं क्यों, लेकिन यह हल हो गया।

यदि आपको परिवर्तन मिला है तो ~/.ansibleअपने वैग्रांत को ताज़ा करने से पहले फ़ोल्डर को फिर से साफ़ करने का प्रयास करें।


3
rm -rf ~/.ansibleएल Captitan पर मेरे लिए काम नहीं किया
Quanlong

8
rm -rf ~ / .ansible / cp पर्याप्त है
melihovv

20

मेरे लिए सेटअप मॉड्यूल मॉड्यूल मृत NFS माउंट पर अटक गया था।

यदि आप अपनी मशीन पर "डीएफ" करते हैं और कुछ भी नहीं होता है, तो आप उसी मामले पर हो सकते हैं।

पुनश्च: यदि आप NFS शेयर / माउंटपॉइंट को umount नहीं कर सकते हैं, तो खराब "umount -l" का उपयोग करने पर विचार करें


हाँ, यह बात थी!
सौरभ नंदा

मैं शुरू में इस मुद्दे पर सेट हो gather_factsगया, Falseलेकिन इस टिप ने वास्तव में दिन बचा लिया क्योंकि यह मेरी समस्या भी थी।
पामारोल

18

आमतौर पर कई कारणों से इस तरह से लटका जा सकता है, आमतौर पर कनेक्शन समस्या के कारण या क्योंकि सेटअप मॉड्यूल हैंग होता है। यहां समस्या को नीचे संकीर्ण करने का तरीका बताया गया है ताकि आप इसे हल कर सकें।

उत्तर देने योग्य गंतव्य होस्ट से कनेक्ट नहीं हो सकता है

होस्ट कुंजी (ज्ञात_होस्ट) समस्याएं

1) Ansible (2.1 या पुराने) के पुराने संस्करणों पर, Ansible आपको हमेशा यह नहीं बताएगा कि गंतव्य के लिए होस्ट कुंजी स्रोत पर मौजूद नहीं है, या यदि कोई बेमेल है।

समाधान: उस गंतव्य के समान मापदंडों के साथ एक SSH कनेक्शन खोलने का प्रयास करें। आपको SSH त्रुटियाँ मिल सकती हैं जिन्हें आपको हल करने की आवश्यकता है, और फिर कमांड काम करेगी।

2) कभी-कभी Ansible अन्य स्थितियों के बीच में आपको SSH कनेक्शन संदेश प्रदर्शित करता है, जिससे Ansible उस कार्य के लिए "स्थिर" हो जाता है:

Warning: the ECDSA host key for 'myhost' differs from the key for the IP address '10.10.1.10'
Offending key for IP in /etc/ssh/ssh_known_hosts:246
Matching host key in /etc/ssh/ssh_known_hosts:477
Are you sure you want to continue connecting (yes/no)?

इस मामले में, बस एसएसएच प्रश्नों के लिए "हां" टाइप करें जैसा कि आपसे पूछा गया था कि इस खेल को जारी रखने की अनुमति देगा। बाद में आप ज्ञात_होस्ट समस्याओं को ठीक कर सकते हैं।

निजी कुंजी प्रमाणीकरण समस्याएं

यदि कुंजी-आधारित प्रमाणीकरण बनाम पासवर्ड का उपयोग किया जाता है, तो अन्य समस्याओं में शामिल हैं:

  • निजी कुंजी को ठीक से गंतव्य पर सेट नहीं किया जा सकता है
  • निजी कुंजी में स्थानीय रूप से गलत अनुमतियाँ हो सकती हैं (केवल एंसेबल जॉब चलाने वाले उपयोगकर्ता द्वारा पठनीय होनी चाहिए)

समाधान: ansible -m ping <destination> -kसमस्या होस्ट के विरुद्ध चलने का प्रयास करें - यदि वह काम नहीं करता है, तो ऊपर दिए गए होस्ट कुंजी समस्याओं के समाधान का प्रयास करें ।

जवाबदेह जल्दी से तथ्यों को इकट्ठा नहीं कर सकते

setupमॉड्यूल (जब एक की शुरुआत में स्वचालित रूप से चलाने ansible-playbookरन, या जब मैन्युअल रूप से के रूप में चलाने ansible -m setup <host>) अक्सर लटका कर सकते हैं जब हार्डवेयर तथ्यों सभा (जैसे अगर उच्च मैं / हे, बुरा प्रविष्टियों माउंट, आदि के साथ मेजबानों से डिस्क जानकारी प्राप्त करने)।

हल: चलाने का प्रयास करें ansible -m setup -a gather_subset=!all <destination>। यदि यह काम करता है, तो आपको इस लाइन को अपने ansible.cfg में सेट करने पर विचार करना चाहिए:

gather_subset=!hardware

1
सेटअप करने के लिए 'collect_subset =! हार्डवेयर' पास करना एक विशेष VM के लिए काम करता है जो प्रतिक्रिया नहीं दे रहा था।
जेम्सपी

2
मेरे लिए तय किया। डोडी माउंट पॉइंट्स, मुझे लगता है। मेरे पास एक वीएम था जिसे मैंने अनसुने प्रोविजनिंग के लिए इस्तेमाल किया और जब तक मैंने एक नया एनएफएस शेयर नहीं जोड़ा तब तक यह काम करता रहा। अब यह नहीं है, जब तक मैं ऊपर जोड़ा।
डेविड बॉस्टन

मेरे मामले में एक मेजबान प्रमुख समस्या बन गई। होस्ट को फिर से शुरू किया गया, इसलिए मेरा पहला रन विफल हो गया और मैंने ssh-keygen -Rआपत्तिजनक कुंजी को हटाने के लिए सुझाव दिया । मैंने एक बार चाबी जोड़ने के लिए ssh चलाया, लेकिन दूसरा रन लटक गया। जब मैंने ssh को फिर से दौड़ाया, तो मुझे महत्वपूर्ण पुष्टिकरण संकेत मिला जो अप्रत्याशित था। मुझे एहसास हुआ कि एक अपमानजनक कुंजी है जिसे हटाने की आवश्यकता है, इसलिए उस और फिर से तेज ssh को हटाने के बाद, मुझे Warning: Permanently added the ECDSA host key ...संदेश मिला और फिर केवल तथ्य एकत्र करना जारी रहा।
:

मैं @DavidBoshton से अवलोकन की पुष्टि कर सकता हूं। VM पर यह समस्या थी जिसमें NFS निर्देशिकाएं थीं, जो उपलब्ध नहीं थीं (NFS सर्वर समस्या)। NFS सर्वर को ठीक करने के बाद यह काम किया
tschale

7

मैं इसी तरह के मुद्दे पर अंकन के साथ गैदरिंग तथ्यों पर लटका था। मैंने अपनी स्क्रिप्ट को बिना किसी कार्य या भूमिका के एक संकेत के लिए तैयार किया और यह अभी भी लटका हुआ है।

मैंने अपनी प्रक्रिया सूची में 12 त्रिशंकु अनुवर्ती प्रक्रियाओं को पाया जो दिन भर में जमा हो गए थे।

/usr/bin/python /tmp/ansible_Jfv4PA/ansible_module_setup.py
/usr/bin/python /tmp/ansible_M2T10L/ansible_module_setup.py

एक बार मैंने उन लोगों को मार दिया, फिर से काम करना शुरू कर दिया।


5

कई वजहें हैं, जो वास्तव में एकत्रित होने पर लटकी हो सकती हैं, लेकिन आगे बढ़ने से पहले, यहां पर आपको ऐसी किसी भी स्थिति में पहली परीक्षा देनी चाहिए:

ansible -m ping <hostname>

यह परीक्षण केवल होस्ट से जुड़ता है, और लौटने के लिए पर्याप्त कोड निष्पादित करता है:

<hostname> | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

यदि यह काम करता है, तो आप किसी भी सेटअप या कनेक्टिविटी समस्या का बहुत अधिक नियंत्रण कर सकते हैं, क्योंकि यह साबित करता है कि आप लक्ष्यनाम को हल कर सकते हैं, कनेक्शन खोल सकते हैं, प्रमाणित कर सकते हैं, और दूरस्थ पायथन दुभाषिया के साथ एक अनसुने मॉड्यूल को निष्पादित कर सकते हैं।

अब, यहां उन चीजों की सूची दी गई है, जो प्लेबुक की शुरुआत में गलत हो सकती हैं:

Ansible द्वारा निष्पादित कमांड एक संवादात्मक इनपुट की प्रतीक्षा कर रहा है

मुझे याद है कि यह पुराने पुराने संस्करणों पर हो रहा है, जहां एक कमांड एक इंटरएक्टिव इनपुट की प्रतीक्षा करेगा जो कभी नहीं आएगा, जैसे कि एक सूडो पासवर्ड (जब आप एक -Kस्विच भूल गए थे ), या एक नए ssh होस्ट फिंगरप्रिंट (नए लक्ष्य के लिए) की स्वीकृति मेज़बान)।

इन संस्करणों के आधुनिक संस्करण इन दोनों मामलों को इनायत से संभालते हैं और सामान्य usecases के लिए तुरंत एक त्रुटि उठाते हैं, इसलिए जब तक आप खुद को ssh या sudo जैसी चीजें नहीं कर रहे हैं, तब तक आपके पास इस तरह का मुद्दा नहीं होना चाहिए। और अगर आपने किया भी, तो यह तथ्य एकत्र करने के बाद होगा।

मृत ssh मास्टर कनेक्शन

यहाँ दिए गए डीबग लॉग में ssh क्लाइंट के लिए कुछ बहुत ही दिलचस्प विकल्प दिए गए हैं:

  • ControlMaster=auto
  • ControlPersist=60s
  • ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r

ये विकल्प आदमी ssh_config में प्रलेखित हैं ।

डिफ़ॉल्ट रूप से, ansible अपने ssh कनेक्शन के उपयोग के बारे में कोशिश करेगा और स्मार्ट होगा। किसी दिए गए होस्ट के लिए, नाटक में प्रत्येक कार्य के लिए एक नया कनेक्शन बनाने के बजाय, यह एक बार इसे खोलेगा, और इसे पूरी प्लेबुक (और यहां तक ​​कि प्लेबुक के लिए भी) खुला रखेगा।

यह अच्छा है, क्योंकि एक नया कनेक्शन स्थापित करना पहले से मौजूद एक का उपयोग करने की तुलना में कहीं अधिक धीमा और संगणनीय है।

व्यवहार में, प्रत्येक ssh कनेक्शन एक सॉकेट के अस्तित्व के लिए जाँच करेगा ~/.ansible/cp/some-host-specific-path। पहला कनेक्शन इसे नहीं मिल सकता है, इसलिए यह सामान्य रूप से जोड़ता है, और फिर इसे बनाता है। प्रत्येक बाद का कनेक्शन तब पहले से स्थापित कनेक्शन के माध्यम से जाने के लिए बस इस सॉकेट का उपयोग करेगा।

यहां तक ​​कि अगर स्थापित कनेक्शन अंत में बार-बार बाहर निकलता है और लंबे समय तक उपयोग नहीं किए जाने के बाद बंद हो जाता है, तो सॉकेट भी बंद हो जाता है, और हम एक वर्ग में वापस आ जाते हैं।

अब तक सब ठीक है।

हालांकि कभी-कभी, कनेक्शन वास्तव में मर जाता है, लेकिन ssh क्लाइंट अभी भी इसे स्थापित मानता है। यह आमतौर पर तब होता है जब आप लैपटॉप से ​​प्लेबुक निष्पादित करते हैं, और आप अपना वाईफाई कनेक्शन खो देते हैं (या वाईफाई से ईथरनेट, आदि) पर स्विच करते हैं।

यह अंतिम उदाहरण एक भयानक स्थिति है: आप डिफ़ॉल्ट ssh config के साथ लक्ष्य मशीन के लिए ssh कर सकते हैं , लेकिन जब तक आपका पिछला कनेक्शन अभी भी सक्रिय माना जाता है, तब तक ansible एक नया स्थापित करने का प्रयास नहीं करेगा।

इस बिंदु पर, हम केवल इस पुराने सॉकेट से छुटकारा पाना चाहते हैं, और इसे हटाने का सबसे सरल तरीका है:

# Delete all the current sockets (may disrupt currently running playbooks)
rm -r ~/.ansible/cp
# Delete only the affected socket (requires to know which one it is)
rm ~/.ansible/cp/<replace-by-your-socket>

यह एक-शॉट फिक्स के लिए एकदम सही है, लेकिन अगर यह बहुत बार होता है, तो आपको एक दीर्घकालिक फिक्स की तलाश करनी पड़ सकती है। यहाँ कुछ संकेत दिए गए हैं जो इस लक्ष्य की मदद कर सकते हैं:

  • सर्वर से प्लेबुक शुरू करें (आपके लैपटॉप की तुलना में अधिक स्थिर नेटवर्क कनेक्शन के साथ)
  • कनेक्शन साझाकरण को अक्षम करने के लिए ansible कॉन्फ़िगरेशन या सीधे ssh क्लाइंट कॉन्फ़िगरेशन का उपयोग करें
  • समान संसाधनों का उपयोग करें, लेकिन टाइम-ट्यून को ठीक करने के लिए, ताकि मास्टर कनेक्शन क्रैश वास्तव में तेजी से बाहर हो

कृपया ध्यान दें कि लेखन के समय, कुछ विकल्प बदल गए हैं (उदाहरण के लिए, मेरे नवीनतम रन ने मुझे ControlPath=/home/toadjaune/.ansible/cp/871b533295), लेकिन सामान्य विचार अभी भी मान्य है।

तथ्य जुटाने में वास्तव में बहुत अधिक समय लग रहा है

हर नाटक की शुरुआत में, लक्ष्य प्रणाली पर बहुत सारी जानकारी एकत्र करता है, और इसे तथ्यों में डालता है । ये चर हैं जिन्हें आप अपनी प्लेबुक में उपयोग कर सकते हैं, और आमतौर पर वास्तव में काम करते हैं, लेकिन कभी-कभी, यह जानकारी प्राप्त करना बहुत लंबा हो सकता है (खराब माउंट बिंदु, उच्च i / o, उच्च भार के साथ डिस्क ...)

यह कहा जा रहा है, आपको प्लेबुक चलाने के लिए कड़ाई से तथ्यों की आवश्यकता नहीं है , और लगभग निश्चित रूप से उन सभी को नहीं, तो चलिए कोशिश करते हैं और अक्षम करते हैं जो हमें ज़रूरत नहीं है। उसके लिए कई विकल्प:

डिबगिंग उद्देश्यों के लिए, कमांड-लाइन से सीधे सेटअप मॉड्यूल को लागू करना वास्तव में सुविधाजनक है:

ansible -m setup <hostname>

यह अंतिम कमांड आपकी प्लेबुक के साथ ही लटकनी चाहिए, और अंततः टाइमआउट (या सफल) होनी चाहिए। अब, मॉड्यूल को फिर से निष्पादित करें, जो हम कर सकते हैं सब कुछ अक्षम करें:

ansible -m setup -a gather_subset='!all' <hostname>

यदि यह अभी भी लटका हुआ है, तो आप हमेशा कोशिश कर सकते हैं और अपने खेलने में पूरी तरह से मॉड्यूल को अक्षम कर सकते हैं, लेकिन यह वास्तव में संभावना है कि आपकी समस्या कहीं और है।

यदि, हालांकि, यह ठीक (और जल्दी से) काम करता है, तो मॉड्यूल प्रलेखन पर एक नज़र डालें । आपके पास दो विकल्प हैं:

  • तथ्य को एक उपसमुच्चय तक सीमित करें, इसके अलावा आपको क्या ज़रूरत नहीं है (इसके लिए संभावित मान देखें gather_subset)
  • gather_timeout अधिक समय की अनुमति देकर भी आप अपने मुद्दे को ठीक करने में मदद कर सकते हैं (हालांकि यह टाइमआउट त्रुटि को ठीक करने के लिए होगा, हैंग नहीं होगा)

अन्य मामले

जाहिर है, अन्य चीजें गलत हो सकती हैं। डीबगिंग में मदद करने के लिए कुछ संकेत:

  • प्रयोग योग्य अधिकतम वर्बोसिटी स्तर ( -vvvv) का उपयोग करें , क्योंकि यह आपको निष्पादित प्रत्येक कमांड को दिखाएगा
  • ऊपर बताए अनुसार कमांड-लाइन से सीधे उपयोग pingऔर setupमॉड्यूल
  • अगर ansible -m pingकाम नहीं करता है तो मैन्युअल रूप से ssh करने का प्रयास करें

4

Dmytro कुछ करने के लिए पर है!

होस्ट की FQDN का उपयोग करता है। यदि आपका होस्ट DNS रिज़ॉल्वेबल नहीं है और आपके पास /etc/hostsansible में मैपिंग नहीं है , तो DNS के समय समाप्त होने तक प्रतीक्षा करेंगे।

::1 <fqdn>उन मशीनों की होस्ट फ़ाइल में जोड़कर जिन्हें आप अंसिबल जोड़ रहे हैं, उन्हें DNS से ​​गुजरे बिना तुरंत FQDN मिल जाएगा।

ध्यान दें कि मेजबान को मेजबानों को देखना चाहिए /etc/hosts, यह अधिकांश के लिए डिफ़ॉल्ट है, यदि सभी नहीं, लिनक्स सिस्टम लेकिन यदि आपका संपादन और /etc/nsswitch.confसाथ ही एक मुद्दा हो सकता है।


2

मेरी भी यही समस्या थी। क्रिया मोड में ansible चलाने से कोई उपयोगी जानकारी नहीं मिली।

प्लेबुक चलाने से पहले सर्वर को फिर से प्रावधान किया गया था।

ज्ञात होस्ट सूची से सर्वर को हटाकर इसे नीचे दिए गए आदेश का उपयोग करके निर्धारित किया गया है।

$ ssh-keygen -f "~/.ssh/known_hosts" -R <hostname>
$ ssh-keygen -f "~/.ssh/known_hosts" -R <ip_address>

नोट: आपको होस्टनाम और आईपी एड्रेस दोनों को निकालना होगा


मेरे मामले में मैंने एक आईपी पते का पुन: उपयोग किया। इसलिए ज्ञात दो होस्ट कीज़ ज्ञात थीं- hss फ़ाइल में
कार्तिक

1

मुझे नहीं पता कि आप एक sudo playbook का उपयोग कर रहे हैं - लेकिन मैं था, और यह sudo पासवर्ड पर लटका हुआ था।

प्रलेखन से - आप इसे मार सकते हैं, और फिर उपयोग -Kभी कर सकते हैं।

सौभाग्य।


1

हो सकता है कि आपके टारगेट सिस्टम का फ़िंगरप्रिंट बदल गया हो, उदाहरण के लिए जब आप सर्वर ओएस को फिर से इंस्टॉल करते हैं। आपको ज्ञात_होस्ट में प्रविष्टियों को हटाना होगा, ansible को सूचित नहीं किया जाएगा कि एक गैर-विश्वसनीय प्रविष्टि समस्या है, यह ठीक वैसे ही अटक जाती है जैसा आप वर्णन करते हैं।


1

ऐसा लगता है कि ansible प्रमाणित करने में असमर्थ है ... इसलिए का उपयोग करने के लिए सर्वर पासवर्ड के लिए ansible पूछना है .... जैसा कि नीचे दिखाया गया है:

ansible-playbook  -K -i hosts playbook.yml -vvvv

0

FQDN और hostname बेमेल भी ansible हैंगआउट का कारण बन सकता है। मैंने होस्टनाम डोमेन से डोमेन भिन्न के साथ FQDN का उपयोग किया है। दोनों को समान बनाने के बाद , काम पूरी तरह से काम करता है। दूरस्थ मेजबान पर कार्यों को निष्पादित करने से पहले Possiblly ans FQDN और hostname की तुलना करता है। आशा है ये मदद करेगा!


0

मैंने इस मुद्दे को योनि बॉक्स को रीसेट करके हल किया

vagrant destroy
vagrant up

0

मेरे मामले में ansible ने एक कार्य के बीच में काम करना बंद कर दिया। कारण यह था कि मेरे ssh- एजेंट ने काम करना बंद कर दिया ssh-add -lथा ( कुछ भी वापस नहीं कर रहा था)। मैंने सब कुछ फिर से शुरू किया और इसने फिर से काम किया। इसलिए जांचें कि क्या आपका ssh- एजेंट ठीक से काम कर रहा है ( ssh-add -lअटक नहीं जाना चाहिए)।


0

~/.ansibleअकेले हटना मेरे लिए नहीं था। तो यह देखने के लिए कि उस निर्देशिका में मैंने अभी-अभी एक ctrl-z (सोने के लिए प्रक्रिया कैसे डाली) और जाँच की, और फिर इसके माध्यम से एक निश्चित प्रक्रिया जारी रखी fg। मैंने उस मामले में कुछ भी नहीं हटाया। लेकिन इसके बाद भी यह जारी रहा। इसलिए मैंने सिर्फ ctrl-z-> को fgअकेले करने की कोशिश की और यह काम भी कर गया। बारिश के नृत्य की तरह लगता है, लेकिन अगर कोई और अटक गया है, तो कृपया यह भी कोशिश करें।


0

मैंने इस मुद्दे का कारण इस सलाह से लिया है कि मेरी अनूकूल-प्लेबुक "तथ्यों को इकट्ठा करना" क्यों है? ब्लॉग पोस्ट।

इसे सरल बनाया जा सकता है:

  1. DEFAULT_KEEP_REMOTE_FILES=yesआदेशों को संरक्षित करने और सक्षम करने के लिए सेट करें-vvvv

  2. फिर से प्लेबुक चलाएं।

  3. जब प्ले स्टिक प्रिंट किए गए अंतिम शेल कमांड को कॉपी करता है (इसके बाद वाला हिस्सा /bin/sh -c)

  4. सर्वर के माध्यम से लॉग ऑन करें ssh

  5. straceनाटक के अंतिम चरण को फिर से खेलने के लिए उपयोग करें । स्टेप कमांड -vvvआउटपुट से कॉपी किया जाता है। उदाहरण के लिए:strace -f /bin/sh -c "echo BECOME-SUCCESS-ltxvshvezrnmumzdprccoiekhjheuwxt; /usr/bin/python /home/user/.ansible/tmp/ansible-tmp-1527099315.31-224479822965785/setup.py"

  6. चेक करें जिस पर "स्ट्रेस्ड" स्टेप है और इसे ठीक करें :)

मेरे मामले में यह एक दुर्गम नेटवर्क ड्राइव था ...


-1

सूडो का पासवर्ड समस्या है। सुनिश्चित करें कि (1) आप जारी कर सकते हैं 'sudo बनाने के लिए कुछ भी नए खुले टर्मिनल पर' (जहां पासवर्ड कैश नहीं में) उपलब्ध कराने के एक (2) कि कठपुतली अपने पहले मैनुअल 'sudoers' परिवर्तन वापस नहीं लिया गया है बिना।


1
कठपुतली? क्या कठपुतली? यह एक अटूट सवाल है।
हिरण हंटर

हाँ मैं जानता हूँ। कुछ लोग उसी मशीन पर कठपुतली स्थापित कर सकते हैं, जहां पर प्रयोग किया जाता है (यह वास्तव में एक बार मेरा मामला था)
witkacy26
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.