উত্তরযোগ্য উপেক্ষা ত্রুটি

Uttarayogya Upeksa Truti



অন্য হোস্ট ডিভাইসে টাস্ক কনফিগার করার সময়, উত্তরযোগ্য ত্রুটি একটি সাধারণ ঘটনা। তারা অনন্য এবং সম্ভবত উল্লেখযোগ্য সিস্টেম রাজ্যের প্রতিনিধিত্ব করে। এই সত্ত্বেও, কিছু ত্রুটি থাকতে পারে যা আমরা এড়াতে চাই যাতে কাজগুলিও কার্যকর হবে এবং সফলভাবে কার্যকর হলে আউটপুট দেখাবে। এই নিবন্ধে, আমরা উত্তরযোগ্য ত্রুটি এবং কীভাবে সেগুলিকে উপেক্ষা করব সে সম্পর্কে কথা বলব। আমরা বিশেষভাবে Ansible এর ব্যর্থতাগুলিকে দমন এবং উপেক্ষা করার জন্য একটি প্রযুক্তি প্রদর্শন করি।

ত্রুটি সংশোধনের বিপরীতে, ব্যর্থতা এড়ানোর জন্য কাজগুলি চালিয়ে যেতে হবে যতটা উত্তরযোগ্য প্লেবুকের ক্রিয়াকলাপ প্রভাবিত না হয়। কোনো টাস্ক ডিবাগ করার সময় কোনো টাস্ক বা প্লেবুক শেষ করতে না পারলে উত্তরযোগ্য টুলটি একটি সতর্ক বার্তা জারি করে। বেশ কিছু কারণ আছে, কিন্তু সেগুলো শনাক্ত করা এবং সমাধান খুঁজে বের করা আমাদের ব্যাপার। দুর্ভাগ্যবশত, সব ত্রুটি সংশোধন করা যাবে না. আপনি যদি না চান বা সমস্যাটি সমাধান করতে অক্ষম হন তবে আপনি ত্রুটিগুলি উপেক্ষা করা শুরু করতে পারেন৷







বাস্তব-বিশ্বের পরিস্থিতিতে লক্ষ্য হোস্টের সাথে সংযোগ করার সময় Ansible-এর ম্যানেজারদের বেশিরভাগ নিয়ন্ত্রণ এই কৌশলটি ব্যবহার করে। একটি টার্গেট ডিভাইসে ক্রিয়াকলাপ বন্ধ করা এবং অন্য কিছু সার্ভারে কার্যক্রম চালিয়ে যাওয়ার জন্য উত্তরযোগ্য ডিফল্ট যখনই এটি একটি বিবৃতি বা প্যাকেজ থেকে একটি ত্রুটি থেকে শূন্য নয় এমন ফলাফল প্রদান করে। যদিও, এমন কিছু পরিস্থিতি রয়েছে যেখানে আপনি ভিন্নভাবে কাজ করতে চাইতে পারেন। একটি ফেরত ফলাফল যা শূন্য নয় মাঝে মাঝে অগ্রগতি বোঝায়। প্রায়শই, আপনি একটি সার্ভারে প্রক্রিয়াকরণ বন্ধ করতে চাইতে পারেন যাতে এটি সমস্ত হোস্টে বন্ধ হয়ে যায়।



উত্তরযোগ্য ত্রুটিগুলি উপেক্ষা করার উপায়

Ansible-এ, প্লেবুকের কাজগুলি চালানোর জন্য বিভিন্ন উপায় ব্যবহার করা হয় যদি এটি টাস্ক ব্যর্থতা দেখায়। নিম্নলিখিতগুলি বিভিন্ন উপায় যা কাজটি কার্যকর করতে সাহায্য করবে এমনকি যদি Ansible ত্রুটিগুলি দেখায়:



1. Ignore_Errors=True কমান্ড ব্যবহার করা





যদিও টাস্কটি ক্রমাগত ব্যর্থ হয়, আপনি যদি কার্যকলাপের নীচে ignore_errors=true কমান্ডটি উল্লেখ করেন তবে প্লেবুকটি চালানো অব্যাহত থাকে। টাস্ক সমাপ্তি বা ব্যর্থতা সম্পর্কে যত্নশীল হওয়া সত্ত্বেও, এটি এখনও পরবর্তী কার্যকলাপ বহন করে। যদি কোনোভাবে ক্রিয়াকলাপটি ব্যর্থ হয় তবে এটি পরবর্তীটিতে চলে যায়। যদি কার্যকলাপ সফল হয়, এটি তার পরে একটি প্রক্রিয়া সম্পন্ন করে।

2. চেক মোডকে উত্তরযোগ্যভাবে ব্যবহার করা



বুলিয়ান স্পেশাল ভেরিয়েবল, অ্যান্সিবল চেক মোড ব্যবহার করুন, যেটিকে True-এ সংজ্ঞায়িত করা হয় একবার Ansible-এর চেকিং পদ্ধতিতে একটি টাস্ক বাইপাস করার জন্য বা যখনই Ansible-এর চেকিং মেথড সংস্করণ ব্যবহার করা হয় তখন কোনও টাস্কের ব্যর্থতাকে উপেক্ষা করতে।

3. উত্তরযোগ্য প্লেবুকে ব্যর্থ=When কমান্ড ব্যবহার করা

Ansible-এ, আমরা ব্যর্থ_যখন শর্তসাপেক্ষে প্রতিটি ক্রিয়াকলাপের জন্য 'ব্যর্থতা' নিহিত আছে তা নির্দিষ্ট করতে ব্যবহার করতে পারি। সমস্ত উত্তরযোগ্য শর্তসাপেক্ষ বিবৃতির অনুরূপ, অসংখ্য ব্যর্থতার তালিকা যখন একটি অন্তর্নিহিত সাথে মিলিত হয়। সুতরাং, সমস্ত শর্ত সন্তুষ্ট হলেই কাজটি ব্যর্থ হয়।

উত্তরযোগ্য ত্রুটিগুলি উপেক্ষা করার পূর্বশর্ত

উত্তরযোগ্য কনফিগারেশন টুলকে কংক্রিট উদাহরণ অন্তর্ভুক্ত করার জন্য প্রয়োজনীয় মানদণ্ড মেনে চলতে হবে:

  • একটি উত্তরযোগ্য প্রধান সার্ভার বা আমরা বলতে পারি একটি নিয়ন্ত্রণকারী সার্ভার প্রয়োজন যাতে আমরা লক্ষ্য ডিভাইসে কমান্ডগুলি কনফিগার করতে পারি।
  • আমাদের স্থানীয় হোস্ট থাকতে হবে যাতে আমরা উত্তরযোগ্য সফ্টওয়্যারের ত্রুটি উপেক্ষা করার বিভিন্ন উপায় ব্যবহার করতে তাদের প্রত্যেকের সাথে যোগাযোগ করতে পারি। ক্রিয়াকলাপের সময়কালের জন্য আমরা এই উদাহরণে একটি টার্গেট রিমোট সার্ভার হিসাবে স্থানীয় হোস্ট ব্যবহার করি।
  • আমরা প্লেবুকগুলি লিখি, উত্তর উপেক্ষা করার ত্রুটি কমান্ডগুলি চালাই এবং দূরবর্তী হোস্টগুলিতে ফলাফলগুলি ট্র্যাক করতে উত্তরযোগ্য-নিয়ন্ত্রক ডিভাইসটি ব্যবহার করি।

একটি উত্তরযোগ্য প্লেবুকে উপেক্ষা করার ত্রুটিটি ব্যবহার করার নীতিটি বুঝতে শিক্ষার্থীকে সহায়তা করতে, আসুন নিম্নলিখিত উদাহরণটি প্রয়োগ করি:

উদাহরণ: Ignore_Errors=True কমান্ড ব্যবহার করা

এটি হল সবচেয়ে সহজ উদাহরণ যা বাস্তবায়নের জন্য Ansible ব্যবহার করে যেখানে আমরা প্লেবুকে বেশ কয়েকটি টাস্ক অন্তর্ভুক্ত করি এবং উপেক্ষা ত্রুটি কমান্ড ব্যবহার করে কাজগুলি সম্পাদন করি। এটি করার জন্য, আমরা প্রথমে উত্তরযোগ্য টার্মিনালে নিম্নলিখিত কোডটি লিখি:

[ মূল @ মাস্টার উত্তরযোগ্য ] # nano ignore_errors.yml

ignore_errors.yml প্লেবুক তৈরি এবং চালু করার পর, আমরা এখন প্লেবুকে কমান্ড লিখতে শুরু করি। প্রথমে, আমরা 'হোস্ট' বিকল্পটি ব্যবহার করি, সরবরাহকৃত হোস্টগুলিকে 'লোকালহোস্ট' হিসাবে পাস করি। আমরা  'তথ্য সংগ্রহ করুন' যুক্তিতে 'মিথ্যা' মান লিখি যাতে আমরা প্লেবুক চালানোর সময় স্থানীয় হোস্ট সম্পর্কে অতিরিক্ত তথ্য পেতে পারি না।

এর পরে, আমরা 'টাস্ক' বিকল্পের অধীনে প্রতিটি কাজকে তালিকাভুক্ত করতে শুরু করি যা আমরা সম্পূর্ণ করতে চাই। প্রথম কাজটিতে, আমরা উত্তরযোগ্য ডিরেক্টরিতে বিদ্যমান নথিটি প্রদর্শন করি। প্রথমত, আমরা যে টাস্কটি বাস্তবায়ন করতে চাই তার শিরোনাম পাস করি। তারপর, আমরা কমান্ড অপশনটি ব্যবহার করি এবং অস্তিত্বহীন পাঠ্য নথি সংরক্ষণ করি এবং 'ls' ব্যবহার করি যাতে আমরা প্রথম কাজটিতে কমান্ডটি কার্যকর করতে পারি। প্রথম টাস্কের পরে, আমরা ignore_errors=true কমান্ডটি ব্যবহার করি যাতে উপেক্ষা করার স্টেটমেন্টের উপরের টাস্কে ব্যর্থতা থাকলে, এটি টাস্কটিকে উপেক্ষা করে এবং পরবর্তী টাস্কে চলে যায় এবং এটি চালায়।

আমরা ব্যবহার করা হয় যা অন্য কাজ তালিকা. প্রথম টাস্ক ব্যর্থ হলে, Ansible টুলটি অবশ্যই পরবর্তী টাস্ক চালাতে হবে। তারপরে, আমরা প্লেবুকে টাস্ক চালানোর জন্য ডিবাগ প্যারামিটার ব্যবহার করি।

- হোস্ট: স্থানীয় হোস্ট
তথ্য সংগ্রহ করুন: মিথ্যা
কাজ:
- নাম: একটি অস্তিত্বহীন তালিকা ফাইল
আদেশ: ls non-existent.txt
ignore_errors: সত্য

- নাম: চালিয়ে যান ব্যর্থ হওয়ার পর কাজ
ডিবাগ:
বার্তা: 'ব্যর্থতার পরে কাজ চালিয়ে যান'

এখন, আমরা কার্যকর করার জন্য পর্যাপ্ত কাজগুলি তালিকাভুক্ত করি এবং উপেক্ষা ত্রুটি কমান্ডটি পরীক্ষা করি। এখন, আমরা প্লেবুক বন্ধ করে মূল টার্মিনালে ফিরে যাই। এর পরে, আমরা প্লেবুক চালাই। এর জন্য, আমরা নিম্নলিখিত বিবৃতি ব্যবহার করি:

[ মূল @ মাস্টার উত্তরযোগ্য ] # ansible-playbook ignore_errors.yml

পূর্বোক্ত কমান্ড কার্যকর করার পরে, আমরা নিম্নলিখিত আউটপুট পাই। আপনি দেখতে পাচ্ছেন, প্রথম টাস্ক যা একটি অস্তিত্বহীন ফাইল তালিকাভুক্ত করে সেটি একটি ব্যর্থতা দেখায়। কিন্তু দ্বিতীয় টাস্কটি সফলভাবে সম্পাদিত হয়েছে কারণ আমরা প্লেবুকে ignore_error=true ব্যবহার করে প্রথম কাজটিকে উপেক্ষা করেছি।

উপসংহার

আমরা উত্তরে উপেক্ষা করার ত্রুটির অর্থ কী তা শিখেছি। উত্তরীয় প্লেবুকে এটি কীভাবে কাজ করে তা আমরা আলোচনা করেছি। আমরা কাজগুলি সম্পাদন করার সময় Ansible-এ ত্রুটি উপেক্ষা করার বিভিন্ন উপায় নিয়েও আলোচনা করেছি। আমরা একটি উদাহরণ প্রয়োগ করেছি যাতে প্রতিটি ধারণা ব্যবহারকারীর জন্য পরিষ্কার হয়।