अन्सिबल इग्नोर एरर

Ansibala Ignora Erara



किसी अन्य होस्ट डिवाइस पर कार्य को कॉन्फ़िगर करते समय, अन्सिबल एरर एक सामान्य घटना है। वे अद्वितीय और संभवतः महत्वपूर्ण प्रणाली राज्यों का प्रतिनिधित्व करते हैं। इसके बावजूद, कुछ त्रुटियाँ हो सकती हैं जिनसे हम बचना चाहते हैं ताकि कार्य भी निष्पादित हों और यदि वे सफलतापूर्वक निष्पादित होते हैं तो आउटपुट दिखाएँ। इस लेख में, हम अन्सिबल एरर के बारे में बात करेंगे और उन्हें कैसे अनदेखा करें। हम Ansible के साथ विफलताओं को दबाने और अनदेखा करने के लिए विशेष रूप से एक तकनीक प्रदर्शित करते हैं।

त्रुटि फिक्सिंग के विपरीत, विफलताओं से बचने के लिए कार्यों को जारी रखना पड़ता है, क्योंकि अन्सिबल प्लेबुक में गतिविधि अप्रभावित रहती है। ansible टूल एक चेतावनी संदेश जारी करता है जब वह किसी कार्य को डिबग करते समय कार्य या प्लेबुक को पूरा नहीं कर पाता है। इसके कई कारण हैं, लेकिन यह हम पर निर्भर है कि हम उन्हें पहचानें और समाधान खोजें। दुर्भाग्य से, सभी त्रुटियों को ठीक नहीं किया जा सकता है। यदि आप नहीं चाहते हैं या यदि आप समस्या को हल करने में असमर्थ हैं, तो आप त्रुटियों को अनदेखा करना प्रारंभ करना चुन सकते हैं।







Ansible में प्रबंधकों को नियंत्रित करने वाले अधिकांश लोग इस रणनीति का उपयोग वास्तविक दुनिया के परिदृश्यों में लक्ष्य मेजबानों के साथ जुड़ते समय करते हैं। Ansible लक्ष्य डिवाइस पर गतिविधियों को बंद करने और कुछ अन्य सर्वरों पर गतिविधियों को जारी रखने के लिए डिफॉल्ट करता है, जब भी यह किसी कथन या किसी पैकेज से त्रुटि से गैर-शून्य रिटर्न परिणाम देता है। हालाँकि, ऐसी कुछ स्थितियाँ हैं जहाँ आप अलग तरह से कार्य करना चाह सकते हैं। एक लौटाया गया परिणाम जो कभी-कभी शून्य नहीं होता है, प्रगति को दर्शाता है। अक्सर, आप चाहते हैं कि प्रसंस्करण एक सर्वर पर रुक जाए ताकि यह सभी मेजबानों पर रुक जाए।



Ansible में Errors को Ignoring करने के तरीके

Ansible में, प्लेबुक कार्यों को पूरा करने के लिए अलग-अलग तरीकों का उपयोग किया जाता है यदि यह कार्य विफलता दिखाता है। निम्नलिखित विभिन्न तरीके हैं जो कार्य को निष्पादित करने में मदद करेंगे, भले ही Ansible त्रुटियाँ दिखा रहा हो:



1. इग्नोर_एरर्स = ट्रू कमांड का उपयोग





भले ही कार्य विफल होता रहता है, यदि आप गतिविधि के निचले भाग में ign_errors=true कमांड निर्दिष्ट करते हैं तो प्लेबुक निष्पादित करना जारी रखता है। कार्य पूरा होने या विफल होने की परवाह करने के बावजूद, यह अभी भी बाद की गतिविधि को अंजाम देता है। यदि किसी तरह गतिविधि विफल हो जाती है, तो यह अगली गतिविधि पर चली जाती है। यदि गतिविधि सफल होती है, तो यह उसके बाद एक प्रक्रिया को पूरा करती है।

2. Ansible में चेक मोड का उपयोग करना



बूलियन विशेष चर का उपयोग करें, अन्सिबल चेक मोड, जिसे एक बार Ansible के चेकिंग मेथड में परिभाषित किया जाता है, किसी कार्य को बायपास करने के लिए या जब भी Ansible के चेकिंग मेथड संस्करण का उपयोग किया जाता है, तो किसी कार्य पर विफलताओं की अवहेलना करता है।

3. अनुत्तीर्ण प्लेबुक में विफल = जब आदेश का उपयोग

Ansible में, हम प्रत्येक गतिविधि के लिए जो भी 'विफलता' निहित है, उसे निर्दिष्ट करने के लिए सशर्त विफल_जब का उपयोग कर सकते हैं। सभी अन्सिबल सशर्त बयानों के समान, कई असफल_जब मानदंड एक अंतर्निहित के साथ संयुक्त होते हैं। इसलिए, कार्य तभी विफल होता है जब सभी शर्तें पूरी होती हैं।

Ansible में त्रुटियों को अनदेखा करने के लिए पूर्वापेक्षाएँ

ठोस उदाहरण को शामिल करने के लिए Ansible कॉन्फ़िगरेशन टूल को आवश्यक मानदंडों का पालन करना चाहिए:

  • एक Ansible main सर्वर या हम कह सकते हैं कि एक कंट्रोलिंग सर्वर आवश्यक है ताकि हम लक्ष्य डिवाइस पर कमांड को कॉन्फ़िगर कर सकें।
  • हमें स्थानीय मेजबानों की आवश्यकता है ताकि हम उनमें से प्रत्येक से संपर्क कर सकें ताकि अन्सिबल सॉफ़्टवेयर में त्रुटियों को अनदेखा करने के विभिन्न तरीकों का उपयोग किया जा सके। हम इस उदाहरण में गतिविधि की अवधि के लिए लक्ष्य दूरस्थ सर्वर के रूप में स्थानीय होस्ट का उपयोग करते हैं।
  • हम प्लेबुक लिखते हैं, अन्सिबल इग्नोर एरर कमांड चलाते हैं, और दूर के मेजबानों पर परिणामों को ट्रैक करने के लिए एंसिबल-कंट्रोलर डिवाइस का उपयोग करते हैं।

एक अन्सिबल प्लेबुक में इग्नोर एरर का उपयोग करने के सिद्धांत को समझने में शिक्षार्थी की सहायता करने के लिए, आइए निम्नलिखित उदाहरण को लागू करें:

उदाहरण: Ignore_Errors=True कमांड का उपयोग

यह सबसे सरल उदाहरण है जो कार्यान्वयन के लिए Ansible का उपयोग करता है जहां हम प्लेबुक में कई कार्यों को शामिल करते हैं और इग्नोर एरर कमांड का उपयोग करके कार्यों को निष्पादित करते हैं। ऐसा करने के लिए, हम पहले निम्नलिखित कोड को Ansible टर्मिनल में लिखते हैं:

[ जड़ @ मास्टर जवाब देने योग्य ] # नैनो इग्नोर_एरर्स.आईएमएल

ign_errors.yml प्लेबुक के निर्माण और लॉन्चिंग के बाद, अब हम प्लेबुक में कमांड दर्ज करना शुरू करते हैं। सबसे पहले, हम 'होस्ट' विकल्प का उपयोग करते हैं, आपूर्ति किए गए होस्ट को 'लोकलहोस्ट' के रूप में पास करते हैं। हम 'तथ्यों को इकट्ठा करें' तर्क में 'गलत' मान दर्ज करते हैं ताकि जब हम प्लेबुक चलाएंगे तो हम स्थानीय होस्ट के बारे में अतिरिक्त जानकारी प्राप्त नहीं कर पाएंगे।

उसके बाद, हम प्रत्येक कार्य को सूचीबद्ध करना शुरू करते हैं जिसे हम 'कार्य' विकल्प के तहत पूरा करना चाहते हैं। पहले कार्य में, हम उस दस्तावेज़ को प्रदर्शित करते हैं जो Ansible निर्देशिका में मौजूद नहीं है। सबसे पहले, हम उस कार्य का शीर्षक पास करते हैं जिसे हम कार्यान्वित करना चाहते हैं। फिर, हम कमांड विकल्प का उपयोग करते हैं और गैर-मौजूद टेक्स्ट डॉक्यूमेंट को स्टोर करते हैं और 'ls' का उपयोग करते हैं ताकि हम पहले कार्य में कमांड को निष्पादित कर सकें। पहले कार्य के बाद, हम ign_errors = true कमांड का उपयोग करते हैं ताकि यदि इग्नोर स्टेटमेंट के ऊपर का कार्य विफल हो जाए, तो यह कार्य को अनदेखा कर देता है और अगले कार्य पर चला जाता है और इसे निष्पादित करता है।

हम एक और कार्य सूचीबद्ध करते हैं जिसका उपयोग किया जाता है। यदि पहला कार्य विफल हो जाता है, तो Ansible टूल को अगला कार्य निष्पादित करना चाहिए। फिर, हम कार्यपुस्तिका में कार्य को चलाने के लिए डीबग पैरामीटर का उपयोग करते हैं।

- होस्ट: लोकलहोस्ट
इकट्ठा_तथ्य: असत्य
कार्य:
- नाम: एक गैर-मौजूद की सूची बनाएं फ़ाइल
आज्ञा: रास गैर-मौजूद.txt
अनदेखा_त्रुटियाँ: सत्य

- नाम: जारी रखना असफल होने के बाद कार्य
डिबग:
संदेश: 'विफलता के बाद कार्य जारी रखें'

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

[ जड़ @ मास्टर जवाब देने योग्य ] # ansible-playbookign_errors.yml

उपरोक्त आदेश को निष्पादित करने के बाद, हमें निम्न आउटपुट मिलता है। जैसा कि आप देखते हैं, गैर-मौजूद फ़ाइल को सूचीबद्ध करने वाला पहला कार्य विफलता दिखाता है। लेकिन दूसरा कार्य सफलतापूर्वक निष्पादित किया गया क्योंकि हमने प्लेबुक में ign_error=true का उपयोग करके पहले कार्य को अनदेखा कर दिया।

निष्कर्ष

हमने सीखा कि अन्सिबल में इग्नोर एरर का क्या मतलब है। हमने चर्चा की कि यह अन्सिबल प्लेबुक में कैसे काम करता है। हमने कार्यों को निष्पादित करते समय Ansible में त्रुटि को अनदेखा करने के विभिन्न तरीकों पर भी चर्चा की। हमने एक उदाहरण लागू किया ताकि उपयोगकर्ता के लिए हर अवधारणा स्पष्ट हो।