تجاهل الخطأ

Tjahl Alkhta



أثناء تكوين المهمة على جهاز مضيف آخر ، تعد الأخطاء التي لا يمكن حلها أمرًا شائعًا. إنها تمثل حالات نظام فريدة وربما مهمة. على الرغم من ذلك ، قد تكون هناك بعض الأخطاء التي نريد تجنبها حتى يتم أيضًا تنفيذ المهام وإظهار المخرجات إذا تم تنفيذها بنجاح. في هذه المقالة سوف نتحدث عن أخطاء أنسبل وكيفية تجاهلها. نعرض على وجه التحديد تقنية لقمع وتجاهل الإخفاقات مع Ansible.

على النقيض من إصلاح الأخطاء ، فإن تجنب الإخفاقات يستلزم الاستمرار في المهام بقدر ما لا يتأثر النشاط في كتاب اللعب Ansible. تُصدر الأداة ansible رسالة تحذير عندما لا تتمكن من إنهاء مهمة أو دليل التشغيل أثناء تصحيح أخطاء مهمة. هناك عدة أسباب ، ولكن الأمر متروك لنا لتحديدها وإيجاد حل. لسوء الحظ ، لا يمكن إصلاح جميع الأخطاء. يمكنك اختيار البدء في تجاهل الأخطاء إذا كنت لا تريد ذلك أو إذا كنت غير قادر على حل المشكلة.







يستخدم غالبية التحكم في المديرين في Ansible هذه الإستراتيجية أثناء الاتصال بالمضيفين المستهدفين في سيناريوهات العالم الحقيقي. افتراضات غير مقبولة لإيقاف الأنشطة على الجهاز المستهدف واستمرار الأنشطة على بعض الخوادم الأخرى عندما تقوم بإرجاع نتيجة غير صفرية مرتجعة من عبارة أو خطأ من حزمة. على الرغم من وجود مواقف معينة قد ترغب في التصرف فيها بشكل مختلف. النتيجة التي تم إرجاعها ليست صفرًا تشير أحيانًا إلى التقدم. في كثير من الأحيان ، قد ترغب في إيقاف المعالجة على خادم واحد بحيث تتوقف عند جميع الأجهزة المضيفة.



طرق تجاهل الأخطاء في أنسبل

في Ansible ، تُستخدم طرق مختلفة لتنفيذ مهام كتاب اللعبة إذا أظهر فشل المهمة. فيما يلي الطرق المختلفة التي ستساعد في تنفيذ المهمة حتى إذا كان Ansible يعرض الأخطاء:



1. استخدام Ignore_Errors = True Command





على الرغم من استمرار فشل المهمة ، يستمر كتاب التشغيل في التنفيذ إذا حددت الأمر ignore_errors = true في أسفل النشاط. على الرغم من الاهتمام بإنجاز المهمة أو الفشل ، إلا أنها لا تزال تقوم بالنشاط اللاحق. إذا كان النشاط غير ناجح بطريقة ما ، فإنه ينتقل إلى النشاط التالي. إذا كان النشاط ناجحًا ، فإنه يكمل عملية بعد ذلك.

2. الاستفادة من وضع الاختيار في أنسبل



استخدم المتغيرات المنطقية الخاصة ، وضع الاختيار Ansible ، والذي تم تعريفه إلى True بمجرد أن يكون Ansible في طريقة التحقق لتجاوز مهمة أو تجاهل الإخفاقات في مهمة كلما تم استخدام إصدار أسلوب التحقق من Ansible.

3. الاستفادة من فشل = عند القيادة في دليل التشغيل Ansible

في Ansible ، يمكننا أيضًا استخدام fail_when الشرطي لتحديد أي 'فشل' متضمن لكل نشاط. على غرار جميع العبارات الشرطية Ansible ، فإن قوائم الفاشلة العديدة عندما يتم دمج المعايير مع ضمني. لذلك ، تفشل المهمة فقط إذا تم استيفاء جميع الشروط.

المتطلبات الأساسية لتجاهل الأخطاء في Ansible

يجب أن تمتثل أداة التكوين Ansible للمعايير اللازمة لتضمين المثال الملموس:

  • خادم رئيسي Ansible أو يمكننا القول أن خادم التحكم ضروري حتى نتمكن من تكوين الأوامر على الجهاز الهدف.
  • نحتاج إلى مضيفين محليين حتى نتمكن من الاتصال بكل منهم لاستخدام الطرق المختلفة لتجاهل الأخطاء في برنامج Ansible. نستخدم المضيف المحلي في هذه الحالة كخادم بعيد مستهدف طوال مدة النشاط.
  • نكتب قواعد اللعبة ، ونشغل أوامر خطأ التجاهل Ansible ، ونستخدم جهاز التحكم غير القابل للكسر لتتبع النتائج على المضيفات البعيدة.

لمساعدة المتعلم على فهم مبدأ استخدام خطأ التجاهل في دليل اللعب Ansible ، دعنا ننفذ المثال التالي:

مثال: استخدام Ignore_Errors = True Command

هذا هو أبسط مثال يستخدم Ansible للتنفيذ حيث نقوم بتضمين العديد من المهام في Playbook وتنفيذ المهام باستخدام أمر ignore error. للقيام بذلك ، نكتب أولاً الكود التالي في محطة Ansible:

[ جذر @ إتقان ansible ] # nano ignore_errors.yml

بعد إنشاء وتشغيل ignore_errors.yml playbook ، نبدأ الآن في إدخال الأوامر في دليل التشغيل. أولاً ، نستخدم خيار 'hosts' ، ونمرر المضيفين المقدمين كـ 'localhost'. نقوم بإدخال القيمة 'false' في حجة 'جمع الحقائق' حتى لا نتمكن من الحصول على معلومات إضافية حول المضيف المحلي عند تشغيل دليل التشغيل.

بعد ذلك ، نبدأ في سرد ​​كل مهمة نرغب في إكمالها ضمن خيار 'المهام'. في المهمة الأولى ، نعرض المستند غير الموجود في دليل Ansible. أولاً ، نقوم بتمرير عنوان المهمة التي نريد تنفيذها. بعد ذلك ، نستخدم خيار الأمر ونخزن المستند النصي غير الموجود ونستخدم 'ls' حتى نتمكن من تنفيذ الأمر في المهمة الأولى. بعد المهمة الأولى ، نستخدم الأمر ignore_errors = true بحيث إذا فشلت المهمة الموجودة أعلى بيان التجاهل ، فإنها تتجاهل المهمة وتنتقل إلى المهمة التالية وتنفذها.

نقوم بسرد مهمة أخرى يتم استخدامها. إذا فشلت المهمة الأولى ، يجب أن تقوم أداة Ansible بتنفيذ المهمة التالية. بعد ذلك ، نستخدم معلمة التصحيح لتشغيل المهمة في كتاب التشغيل.

- المضيفون: المضيف المحلي
جمع الحقائق: خطأ شنيع
مهام:
- الاسم: قائمة غير موجودة ملف
يأمر: ls غير موجود
تجاهل الأخطاء: حقيقي

- اسم: يكمل المهمة بعد الفشل
تصحيح:
الرسالة: 'متابعة المهمة بعد الفشل'

الآن ، نقوم بإدراج مهام كافية للتنفيذ والتحقق من أمر تجاهل الخطأ. الآن ، ننهي كتاب التشغيل ونعود إلى المحطة الرئيسية. بعد ذلك ، نقوم بتشغيل كتيب اللعبة. لذلك ، نستخدم البيان التالي:

[ جذر @ إتقان ansible ] # ansible-playbook ignore_errors.yml

بعد تنفيذ الأمر المذكور أعلاه ، نحصل على المخرجات التالية. كما ترى ، فإن المهمة الأولى التي تسرد ملفًا غير موجود تظهر فشلًا. ولكن تم تنفيذ المهمة الثانية بنجاح لأننا تجاهلنا المهمة الأولى من خلال استخدام ignore_error = true في دليل اللعبة.

خاتمة

لقد تعلمنا ما يعنيه خطأ التجاهل في أنسبل. ناقشنا كيف يعمل في كتاب اللعب Ansible. ناقشنا أيضًا الطرق المختلفة لتجاهل الخطأ في Ansible أثناء تنفيذ المهام. قمنا بتنفيذ مثال بحيث يكون كل مفهوم واضحًا للمستخدم.