OmniLab ATS হলো একটি টেস্টিং টুল যা অ্যান্ড্রয়েড ডেভেলপার এবং টেস্ট ইঞ্জিনিয়াররা স্ট্যান্ডার্ড অ্যান্ড্রয়েড টেস্ট স্যুট, যেমন অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) , চালানোর জন্য একটি ইউজার ইন্টারফেস হিসেবে ব্যবহার করতে পারেন। এই টুলটি ট্রেড ফেডারেশন (TF) এবং গুগল মোবাইলের মতো বিভিন্ন টেস্ট ফ্রেমওয়ার্কের জন্য একটি ওয়েব ইন্টারফেস হিসেবে কাজ করে, যা আপনাকে ন্যূনতম সেটআপের মাধ্যমে একগুচ্ছ টেস্ট ডিভাইসে CTS এবং মাল্টি-ডিভাইস টেস্ট চালানোর সুযোগ দেয়, পাশাপাশি টেস্টগুলো ক্রমাগত চালানোর জন্য একটি শিডিউলও নির্ধারণ করতে দেয়।
OmniLab ATS 2.0-এর পরিচিতি
OmniLab ATS 2.0 তার অন্তর্নিহিত টেস্ট এক্সিকিউশন পরিকাঠামোকে ট্রেড ফেডারেশন থেকে OmniLab-এ স্থানান্তর করেছে। এই পরিবর্তনটি একটি আরও শক্তিশালী ও কার্যকর ব্যাকএন্ড নিয়ে এসেছে, এবং একই সাথে OmniLab ATS 1.0-এর ইউজার ইন্টারফেস ও ওয়ার্কফ্লো অক্ষুণ্ণ রেখেছে।
OmniLab ATS 2.0-এর প্রধান সুবিধাগুলো হলো:
- আধুনিক পরিকাঠামো: উন্নত স্থিতিশীলতা এবং কর্মক্ষমতার জন্য OmniLab প্ল্যাটফর্ম ব্যবহার করা হয়।
- নির্বিঘ্ন রূপান্তর: ওয়েব ইউআই বা মূল পরীক্ষা সম্পাদন কর্মপ্রবাহে কোনো পরিবর্তন নেই।
- ভবিষ্যতের জন্য প্রস্তুত: গুগলের সমন্বিত টেস্টিং পরিকাঠামোর সাথে সামঞ্জস্যপূর্ণ, যা নতুন ফিচারগুলো দ্রুত গ্রহণ করতে সক্ষম করে।
OmniLab ATS 2.0-তে বাল্ক টেস্ট প্ল্যান আপডেট, অ্যাডভান্সড ডিভাইস অ্যালোকেশনের মতো নতুন ফিচার অন্তর্ভুক্ত করা হয়েছে এবং আরও অনেক কিছু আসছে। আপডেটের জন্য রিলিজ নোট দেখুন।
OmniLab ATS 2.0-তে আপগ্রেড করুন:
OmniLab ATS 2.0 ব্যবহার করে দেখতে, আপনার mtt start কমান্ডে --force_ats_version 2 ফ্ল্যাগটি যোগ করুন:
mtt start --force_ats_version 2
মাইগ্রেশন চলাকালীন, OmniLab ATS 2.0-এর বৈশিষ্ট্যসহ সর্বশেষ স্থিতিশীল বিল্ডটি অ্যাক্সেস করার জন্য আমরা ' dogfood ট্যাগটি ব্যবহার করার পরামর্শ দিই:
mtt start --force_ats_version 2 --tag dogfood --force_update
আমরা ২০২৬ সালের তৃতীয় ত্রৈমাসিকে OmniLab ATS 2.0-কে ডিফল্ট সংস্করণ করার পরিকল্পনা করছি। আমরা ২০২৬ সালের শেষ নাগাদ OmniLab ATS 1.0-কে পর্যায়ক্রমে বন্ধ করে দেওয়ার পরিকল্পনা করছি।
নির্দিষ্ট আপডেট, জ্ঞাত পার্থক্য এবং আপগ্রেড নির্দেশিকা সম্পর্কে আরও বিস্তারিত জানতে, OmniLab ATS 2.0 আপগ্রেড গাইড দেখুন।
OmniLab ATS সেট আপ করুন
এই অংশে OmniLab ATS কীভাবে ইনস্টল ও সেট আপ করতে হয় তা ব্যাখ্যা করা হয়েছে।
OmniLab ATS নিম্নলিখিত স্থানগুলি থেকে সোর্স কোড ব্যবহার করে:
- OmniLab ATS সোর্স কোড
- ট্রেডফেড ক্লাস্টার সোর্স কোড
OmniLab ATS ইনস্টল করুন
আপনার চালানো টেস্ট স্যুটগুলোর জন্য প্রয়োজনীয় হার্ডওয়্যার ও সফটওয়্যার শর্তাবলী অনুসরণ করুন।
CTS-এর জন্য প্রয়োজনীয় শর্তাবলী source.android.com- এ পাওয়া যাবে।
OmniLab ATS-এর জন্য কোনো অতিরিক্ত হার্ডওয়্যারের প্রয়োজন নেই, তবে আমরা প্রাথমিক ভিত্তি হিসেবে CTS হোস্টের প্রয়োজনীয়তা ব্যবহার করার পরামর্শ দিই।
OmniLab ATS ইনস্টল করার দুটি উপায় আছে:
- ইনস্টলার প্রোগ্রামটি চালান।
- এটি ম্যানুয়ালি ইনস্টল করুন , যার জন্য একাধিক প্রোগ্রাম ও রিসোর্স ইনস্টল করতে হয়।
ইনস্টলার প্রোগ্রাম দিয়ে ইনস্টল করুন
ইনস্টলার প্রোগ্রামটি উবুন্টু ২২.০৪ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত। এই ইনস্টলারটি OmniLab ATS চালানোর জন্য প্রয়োজনীয় সমস্ত প্রোগ্রাম এবং রিসোর্স ইনস্টল ও কনফিগার করে।
ইনস্টল প্রোগ্রামটি ব্যবহার করতে:
ইনস্টলার প্রোগ্রামটি চালান:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
OmniLab ATS CLI-এর ইনস্টল করা সংস্করণ পরীক্ষা করতে
mtt versionচালান।
ম্যানুয়ালি ইনস্টল করুন
ডকার ইনস্টল করুন
আপনার লিনাক্স মেশিনে ডকার কমিউনিটি এডিশন (CE) ইনস্টল করার জন্য নির্দেশাবলী অনুসরণ করুন।
নন-রুট ব্যবহারকারী হিসেবে ডকার পরিচালনা করতে ইনস্টলেশন-পরবর্তী ধাপগুলো অনুসরণ করুন।
অনুমতির পরিবর্তনগুলো কার্যকর করার জন্য আপনাকে আপনার টার্মিনাল উইন্ডোটি পুনরায় চালু করতে হতে পারে অথবা সাইন আউট করে আবার সাইন ইন করতে হতে পারে।
পাইথন ৩ ইনস্টল করুন
OmniLab ATS CLI-টি পাইথন সংস্করণ ৩.৭ থেকে ৩.১১ পর্যন্ত যাচাই করা হয়েছে।
উবুন্টু ১৬.০৪ বা তার পূর্ববর্তী সংস্করণের জন্য, প্রথমে নিম্নলিখিত পদ্ধতিগুলোর মধ্যে যেকোনো একটি অনুসরণ করে পাইথন ৩-এর রিপোজিটরি যোগ করুন:
এই কমান্ডটি চালান:
sudo add-apt-repository ppa:deadsnakes/ppa
সোর্স থেকে রিপোজিটরিটি বিল্ড ও ইনস্টল করুন।
পাইথন ৩ ইনস্টল করতে এই কমান্ডগুলো চালান:
sudo apt-get updatesudo apt install python3 python3-distutils
একটি নির্দিষ্ট পাইথন ৩ সংস্করণ (যেমন, ৩.১০) ইনস্টল করতে, এর পরিবর্তে এই কমান্ডগুলো চালান:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
OmniLab ATS CLI পান
এখান থেকে কমান্ড লাইন ইন্টারফেস (CLI) প্যাকেজটি ডাউনলোড করুন।
OmniLab ATS শুরু করুন
নিম্নলিখিত কমান্ডের মাধ্যমে OmniLab ATS চালু করুন:
mtt start
প্রথমবার UI চালু করার সময়, এটি প্রদর্শিত হতে কয়েক মিনিট সময় লাগতে পারে। ব্রাউজারে UI অ্যাক্সেস করার জন্য CLI একটি ওয়েব URL প্রদর্শন করে। ডিফল্টরূপে, ওয়েব URL হলো localhost:8000 । প্রয়োজনে, আপনি --port ফ্ল্যাগ ব্যবহার করে স্টার্টআপের সময় ডিফল্ট পোর্ট পরিবর্তন করতে পারেন।
নতুন কোনো সংস্করণ উপলব্ধ থাকলে, আপনি বর্তমান সংস্করণে আপডেট করতে পারেন। সর্বশেষ রিলিজগুলোর জন্য আপনি রিলিজ নোট দেখতে পারেন।
বর্তমান সংস্করণে আপডেট করতে, চালান:
mtt start --force_update
অ্যাপটি বন্ধ করতে, চালান:
mtt stop
অন্যান্য কমান্ডের তালিকা দেখতে, ব্যবহার করুন:
mtt --help
ডাটাবেস ব্যাক আপ এবং পুনরুদ্ধার করুন
OmniLab ATS ডাটাবেস ব্যাক আপ করতে, অ্যাপটি বন্ধ করুন এবং নিম্নলিখিত কমান্ডটি চালান, যা বর্তমান ডাটাবেসটিকে আপনার হোম ডিরেক্টরিতে mtt-backup.tar নামের একটি TAR ফাইলে ব্যাক আপ করবে:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
পুনরুদ্ধার করতে, অ্যাপটি চালু করার আগে নিম্নলিখিত কমান্ডটি চালান:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
সেটআপ উইজার্ড
আপনি প্রথমবার OmniLab ATS ইনস্টল ও রান করার পর, সেটআপ উইজার্ড আপনাকে কয়েকটি ধাপের মধ্য দিয়ে নিয়ে যাবে, যা আপনার পরিবেশ অনুযায়ী টুলটি কাস্টমাইজ করতে সাহায্য করবে। এখানে করা যেকোনো পরিবর্তন পরবর্তীতে সেটিংস পেজের মাধ্যমে পুনরায় কনফিগার করা যাবে।
কনফিগারেশন ব্যাকআপ পুনরুদ্ধার করুন
যদি আপনার কাছে অন্য কোনো OmniLab ATS হোস্ট থেকে ব্যাকআপ করা কোনো কনফিগারেশন ফাইল থাকে, তাহলে আপনি 'আপলোড ফাইল' বোতামে ক্লিক করে ফাইলটি আপলোড করে সেই হোস্ট থেকে পরিবর্তিত যেকোনো কনফিগারেশন কপি করতে পারেন।

চিত্র ১. কনফিগারেশন ব্যাকআপ পুনরুদ্ধার করা।
ডিফল্ট পরিষেবা অ্যাকাউন্ট সেট করুন
আপনি একটি সার্ভিস অ্যাকাউন্ট সেট করতে পারেন যা OmniLab ATS আপনার রিসোর্স (যেমন, Google Cloud Storage, Google Drive) অ্যাক্সেস করার সময় ডিফল্টরূপে ব্যবহার করবে। আপনার সার্ভিস অ্যাকাউন্টটি প্রমাণীকরণ করতে, 'Upload Service Account Key'-তে ক্লিক করুন এবং আপনার সার্ভিস অ্যাকাউন্টের JSON কী ফাইলটি নির্বাচন করুন।

চিত্র ২. সার্ভিস অ্যাকাউন্ট নির্ধারণ করা।
সার্ভিস অ্যাকাউন্টটি সফলভাবে প্রমাণীকৃত হলে, অ্যাকাউন্টের ইমেল ঠিকানাটি পেজের উপরের ডান কোণায় প্রদর্শিত হয়। সার্ভিস অ্যাকাউন্ট পরিবর্তন করতে, অ্যাকাউন্টের নামে ক্লিক করুন, বর্তমান ডিফল্ট অ্যাকাউন্টটি সরিয়ে দিন এবং একটি নতুন সার্ভিস অ্যাকাউন্ট কী আপলোড করুন।

চিত্র ৩. সার্ভিস অ্যাকাউন্ট পরিবর্তন করা।
কনফিগারেশন সেট আমদানি করুন
একটি কনফিগ সেট হলো টেস্ট স্যুট, সংশ্লিষ্ট ডিভাইস অ্যাকশন এবং বিল্ড চ্যানেল চালানোর জন্য প্রয়োজনীয় কনফিগারেশনের একটি বান্ডেল। কনফিগ সেটগুলো একটি নির্দিষ্ট গুগল ক্লাউড স্টোরেজ (GCS) বাকেটে হোস্ট করা থাকে। আপনার গুগল অ্যাকাউন্ট দিয়ে GCS বিল্ড চ্যানেলে অথেন্টিকেট করার পর, আপনার জন্য উপলব্ধ সমস্ত কনফিগ সেটের একটি তালিকা আপনি দেখতে পাবেন।
আপনার টেস্ট স্টেশন হোস্টে যে কনফিগারেশন সেটগুলো যোগ করতে চান, সেগুলো নির্বাচন করুন এবং 'ইম্পোর্ট সিলেক্টেড'-এ ক্লিক করুন।

চিত্র ৪. একটি কনফিগারেশন সেট ইম্পোর্ট করা।
ওয়াই-ফাই সেটিংস অন্তর্ভুক্ত করুন
কিছু CTS টেস্টের জন্য আপনার ডিভাইসকে একটি Wi-Fi হটস্পটের সাথে সংযুক্ত করতে হয়। আপনার Wi-Fi নেটওয়ার্ক নির্বাচন করতে, WiFi SSID এবং ঐচ্ছিক WiFi PSK লিখুন।

চিত্র ৫. ওয়াই-ফাই হটস্পট সেটিংস।
সেটআপ উইজার্ড সম্পন্ন করার পর, নতুন সেটিংস প্রয়োগ হয়ে পৃষ্ঠাটি পুনরায় লোড হয়।
একটি ডিভাইস সংযুক্ত করুন
পরীক্ষার জন্য কোনো ডিভাইস ব্যবহার করতে হলে ইউএসবি ডিবাগিং অবশ্যই সক্রিয় থাকতে হবে। ডিবাগিং সক্রিয় করতে:
ডেভেলপার অপশন এবং ডিবাগিং সক্ষম করুন -এর নির্দেশাবলী অনুসরণ করুন।
আপনি যদি কাস্টম এডিবি কী আগে থেকে লোড করা টেস্ট অ্যান্ড্রয়েড বিল্ড ব্যবহার করার পরিকল্পনা করেন, তাহলে কাস্টম
.adb_keyফাইলগুলো~/.android/ডিরেক্টরির অধীনে রাখুন।যেসব ডিভাইসে ওই বিল্ডগুলো চলছে, সেগুলো ফ্ল্যাশ করার পর ইউএসবি ডিবাগিং স্বয়ংক্রিয়ভাবে চালু করার জন্য ফাইলগুলো স্বয়ংক্রিয়ভাবে লোড হয়ে এডিবি-তে পাঠানো হয়।
ইউএসবি ব্যবহার করে ডিভাইসটিকে হোস্ট মেশিনের সাথে সংযুক্ত করুন।
ওয়েব ইন্টারফেস রিফ্রেশ করার এক মিনিটের মধ্যে ডিভাইসটি OmniLab ATS Devices ট্যাবে দেখা যায়। এই ট্যাবে আপনি ডিভাইসগুলোর অবস্থাও দেখতে পারেন।

চিত্র ৬. ডিভাইস সংযোগ করা।
ডিভাইসের বিভিন্ন অবস্থাগুলো হলো:
- উপলব্ধ - ডিভাইসটি সংযুক্ত এবং পরীক্ষা চালানোর জন্য প্রস্তুত।
- বরাদ্দকৃত - ডিভাইসটি সংযুক্ত আছে এবং একটি পরীক্ষা চালাচ্ছে। প্রতিটি ডিভাইস একবারে কেবল একটি পরীক্ষাই চালাতে পারে, তাই নতুন পরীক্ষা শুরু করার আগে ডিভাইসটিকে অবশ্যই তার বর্তমান পরীক্ষাটি শেষ করতে হবে।
একটি পরীক্ষা চালান
একটি পরীক্ষা নির্বাচন করুন
OmniLab ATS-এর সাথে আগে থেকেই কিছু CTS কনফিগারেশন দেওয়া থাকে। এই টেস্টগুলোর মধ্যে যেকোনো একটি চালানোর জন্য, Test Suites ট্যাবে যান এবং নির্বাচিত টেস্টটির জন্য Run test-এ ক্লিক করুন।

চিত্র ৭. পরীক্ষা নির্বাচন।
নতুন টেস্ট সম্পাদনা বা যোগ করতে, ‘টেস্ট যোগ করা’ দেখুন।
টেস্ট রান কনফিগার করুন
এই নির্দিষ্ট টেস্ট রানের জন্য ব্যবহৃত প্যারামিটারগুলো সম্পাদনা করুন। নির্বাচিত টেস্ট কনফিগারেশনে সংজ্ঞায়িত মানগুলো দিয়ে বেশিরভাগ প্যারামিটার আগে থেকেই পূরণ করা থাকে।
এই ধাপটি ডিফল্ট মান ব্যবহার করে সম্পন্ন করা যেতে পারে, তবে আপনি আপনার প্রয়োজন অনুসারে ম্যাক্স রিট্রাই এবং কমান্ড-এর মতো যেকোনো প্যারামিটার পরিবর্তন করতে পারেন।

চিত্র ৮. একটি টেস্ট রান কনফিগার করা।
টেস্ট রানের প্যারামিটারগুলো হলো:
- নাম - আপনি যে টেস্ট স্যুটটি চালাতে চান তার নাম।
- রান সংখ্যা - নির্ধারিত সময়ে এই টেস্ট রানটি যতবার চালানো হবে। ট্রেড ফেডারেশন ব্যবহার করে টেস্ট রানগুলোর সময় নির্ধারণ করা হয়, যা সক্ষমতা থাকলে সমান্তরালভাবে ২০টি পর্যন্ত টেস্ট রান চালাতে পারে।
- সর্বোচ্চ পুনঃপ্রচেষ্টা - অন্তত একটি টেস্ট ব্যর্থ হলে একটি টেস্ট রান সর্বাধিক কতবার পুনরায় চালানো হবে। ত্রুটিপূর্ণ টেস্টগুলো সামাল দেওয়ার জন্য একটি সম্পূর্ণ CTS রানের ক্ষেত্রে এটি সাধারণত ৪-৬ বার পুনঃপ্রচেষ্টায় সেট করা হয়।
- কিউ টাইমআউট - যদি কোনো টেস্ট রান খুব বেশি সময় ধরে কিউড অবস্থায় থাকে, তবে তা স্বয়ংক্রিয়ভাবে বাতিল হয়ে যায়। বাতিল করার আগে কতক্ষণ অপেক্ষা করতে হবে, তা এখানে উল্লেখ করুন। ডিফল্ট সময় হলো ২৪ ঘণ্টা।
কমান্ড - টেস্ট স্যুটটি চালানোর কমান্ড। আপনি এখানে অতিরিক্ত কমান্ড লাইন আর্গুমেন্ট লিখতে পারেন। উদাহরণস্বরূপ, CTS 8.1-এ একটি নির্দিষ্ট মডিউল চালাতে ব্যবহার করুন:
cts-suite -m ShortModuleNameপুনরায় চেষ্টা করার কমান্ড - একটি টেস্ট স্যুট পুনরায় চেষ্টা করার কমান্ড। আপনি এখানে অতিরিক্ত কমান্ড লাইন আর্গুমেন্ট যোগ করতে পারেন। উদাহরণস্বরূপ, CTS 8.1-এ শুধুমাত্র একটি নির্দিষ্ট মডিউল পুনরায় চেষ্টা করতে, ব্যবহার করুন:
cts --retry 0 -m ShortModuleNameপুনরায় চেষ্টার আর্গুমেন্টগুলো প্রাথমিক কমান্ডের আর্গুমেন্টগুলো থেকে ভিন্ন হতে পারে, তাই নির্বাচিত টেস্ট স্যুটের জন্য অফিসিয়াল সাইটে সমর্থিত প্যারামিটারগুলো যাচাই করে নিন।
পূর্ববর্তী টেস্ট রান - আপনি যদি পূর্ববর্তী কোনো টেস্ট রান পুনরায় চালাতে চান:
স্থানীয় - যদি রানটি বর্তমান হোস্টে শুরু করা হয়ে থাকে, তাহলে টেস্ট রানের বিবরণ দেখার সময় প্রদর্শিত টেস্ট রান আইডিটি প্রবেশ করান।

চিত্র ৯। স্থানীয় পূর্ববর্তী পরীক্ষামূলক চালনা।
রিমোট - যদি রানটি অন্য কোনো হোস্টে শুরু করা হয়ে থাকে, তাহলে ‘রিমোট’ নির্বাচন করে, ‘আপলোড টেস্ট রেজাল্টস ফাইল’-এ ক্লিক করে এবং আপনার লোকাল স্টোরেজ থেকে একটি ফাইল নির্বাচন করে পরীক্ষার ফলাফল ফাইলটি আপলোড করুন।

চিত্র ১০। দূরবর্তী পূর্ববর্তী পরীক্ষামূলক চালনা।
ডিভাইস নির্বাচন করুন
টেস্ট স্যুট চালানোর জন্য বরাদ্দ করতে ডিভাইসগুলো নির্বাচন করতে চেকবক্সগুলোতে ক্লিক করুন। নির্বাচিত ডিভাইসের সংখ্যার সাথে সামঞ্জস্য রেখে শার্ডের সংখ্যা স্বয়ংক্রিয়ভাবে পরিবর্তিত হবে।

চিত্র ১১। ডিভাইস নির্বাচন।
ডিভাইস সিরিয়াল ছাড়া অন্য অ্যাট্রিবিউট দ্বারা ডিভাইস নির্বাচন করতে, আপনি ম্যানুয়ালি 'ডিভাইস স্পেকস' লিখতে পারেন। উদাহরণস্বরূপ, 'bramble' প্রোডাক্ট নামের ৩টি ডিভাইস নির্বাচন করতে, নিম্নলিখিত তথ্য লিখুন:
product:bramble;product:bramble;product:bramble
সমর্থিত অ্যাট্রিবিউটগুলো হলো:
- বিল্ড_আইডি
- ডিভাইস_সিরিয়াল
- ডিভাইসের_ধরণ
- হোস্টনাম
- পণ্য
- পণ্যের_ভেরিয়েন্ট
- সিম_স্টেট
টেস্ট রান চালানোর জন্য নির্বাচিত সমস্ত ডিভাইসকে অবশ্যই ' Available' অবস্থায় থাকতে হবে এবং টেস্ট রানটি সম্পন্ন হলে সেগুলি 'Allocated ' অবস্থায় চলে যায়। ডিভাইসগুলি উপলব্ধ হওয়ার জন্য অপেক্ষা করার সময় একটি টেস্ট রান ' Queued ' অবস্থায় থাকে।
ডিভাইস অ্যাকশন যোগ করুন
ডিভাইস অ্যাকশন হলো এমন স্ক্রিপ্ট যা প্রতিটি টেস্ট রানের আগে চালানো যায়। কিছু ডিভাইস অ্যাকশন আগে থেকেই কনফিগার করা থাকে, যেমন ফ্ল্যাশিং এবং রিবুটিং। নতুন ডিভাইস অ্যাকশন তৈরি করতে, ‘একটি নতুন ডিভাইস অ্যাকশন তৈরি করুন’ দেখুন।

চিত্র ১২। ডিভাইসের কার্যক্রম।
একটি টেস্ট রানে ডিভাইস অ্যাকশন যোগ করতে, ‘Add new action’-এ ক্লিক করুন, যে অ্যাকশনগুলো যোগ করতে চান সেগুলোর জন্য চেকবক্স নির্বাচন করুন এবং ‘Add Action(s)’- এ ক্লিক করুন। ডিভাইস অ্যাকশনগুলো ক্রমানুসারে সম্পাদিত হয়। আপনি অ্যাকশনগুলোকে টেনে তাদের ক্রম পরিবর্তন করতে পারেন।

চিত্র ১৩। ক্রিয়াকলাপগুলির পুনর্বিন্যাস।
পরীক্ষার সংস্থান সেট করুন
টেস্ট রিসোর্স হলো এমন ফাইল যা একটি টেস্ট রান চালানোর জন্য প্রয়োজন হয়। উদাহরণস্বরূপ, CTS চালানোর জন্য একটি android-cts*.zip ফাইলের প্রয়োজন হয়, এবং একটি ডিভাইস ফ্ল্যাশ করার জন্য আপনাকে বিল্ড ইমেজ সরবরাহ করতে হয়।
টেস্ট স্যুট জিপ ফাইলের ডাউনলোড ইউআরএল ডিফল্টভাবে পার্টনারদের দেওয়া গুগল ড্রাইভ লিঙ্কগুলো হবে। আপনি 'ব্রাউজ' ক্লিক করে একটি ভিন্ন ফাইল নির্বাচন করতে পারেন। পপ-আপ উইন্ডোতে, আপনি একটি ফাইল ডাউনলোড লিঙ্ক প্রবেশ করাতে পারেন, একটি অথেনটিকেটেড বিল্ড চ্যানেল থেকে ফাইল ব্যবহার করতে পারেন, অথবা লোকাল স্টোরেজ থেকে ব্যবহারের জন্য একটি ফাইল আপলোড করতে পারেন।

চিত্র ১৪। পরীক্ষার উপকরণসমূহ।
ওয়েব ইউআরএল দ্বারা পরীক্ষার জন্য রিসোর্স নির্বাচন করার পপ-আপ উইন্ডোটি নিচে দেওয়া হলো। আপনি ডাউনলোড ইউআরএল লিঙ্কটি প্রবেশ করিয়ে, নির্বাচনটি নিশ্চিত করতে 'সিলেক্ট' বোতামে ক্লিক করতে পারেন।

চিত্র ১৫। পরীক্ষা সম্পদ নির্বাচক - ওয়েব ইউআরএল।
আপনি যদি গুগল ড্রাইভ, গুগল ক্লাউড স্টোরেজ (GCS) বা অন্য কোনো চ্যানেলে রিসোর্স আপলোড করে থাকেন, তাহলে আপনি নির্দিষ্ট চ্যানেলের ট্যাবে গিয়ে সেখান থেকেও রিসোর্স নির্বাচন করতে পারেন। গুগল ড্রাইভ থেকে একটি রিসোর্স নির্বাচন করার উদাহরণ নিচে দেওয়া হলো।

চিত্র ১৬। পরীক্ষার রিসোর্স নির্বাচক - গুগল ড্রাইভ।
শুধু ফাইল নির্বাচন করার পাশাপাশি, ফাইলের নামের ফিল্ডে ওয়াইল্ডকার্ড ক্যারেক্টারও সাপোর্ট করে। এর ডকুমেন্টেশন এখানে পাওয়া যাবে।

চিত্র ১৭। টেস্ট রিসোর্স সিলেক্টর - ওয়াইল্ডকার্ড প্যাটার্ন সমর্থন।
আপনি OmniLab ATS-এর স্থানীয় ফাইল স্টোরেজ থেকেও একটি ফাইল নির্বাচন করতে পারেন। আপনি এই স্টোরেজে ফাইল আপলোড করতে পারেন, অথবা সরাসরি স্থানীয় ফাইল এবং ডিরেক্টরি ব্যবহার করতে পারেন ।

চিত্র ১৮। টেস্ট রিসোর্স সিলেক্টর - লোকাল ফাইল স্টোর।
পুনরায় চালানোর কনফিগারেশন যোগ করুন
আপনি এমনভাবে পুনঃপ্রবর্তন নির্ধারণ করতে পারেন যা প্রাথমিক চালনা সম্পন্ন হওয়ার পরে শুরু হবে এবং এর ফলাফল লোড করবে, কিন্তু সেক্ষেত্রে ভিন্ন ডিভাইস, কার্যকলাপ বা সংস্থান ব্যবহার করা যাবে।

চিত্র ১৯. পুনরায় চালানোর কনফিগারেশন যোগ করা।
একটি পরীক্ষামূলক চালনা শুরু করুন
টেস্ট রানের জন্য প্রয়োজনীয় তথ্য প্রবেশ করানোর পর, 'স্টার্ট টেস্ট রান' বোতামে ক্লিক করুন। যদি সমস্ত তথ্য সঠিক হয়, তাহলে টেস্ট রান শুরু হবে এবং আপনাকে এমন একটি পৃষ্ঠায় নিয়ে যাওয়া হবে যেখানে আপনি টেস্ট রানের বিস্তারিত বিবরণ ও অগ্রগতি দেখতে পারবেন।

চিত্র ২০। পরীক্ষামূলক চালনা শুরু করা।
একটি পরীক্ষার পরিকল্পনা তৈরি করুন
একটি নির্দিষ্ট সময়সূচী অনুযায়ী টেস্ট রান তৈরি করতে টেস্ট প্ল্যান ব্যবহার করা হয়। উদাহরণস্বরূপ, প্রতিদিন বিকাল ৫টায় CTS 9.0 চালানো। একটি নতুন টেস্ট প্ল্যান তৈরি করতে, ‘Create a new test plan’-এ ক্লিক করুন।

চিত্র ২১। একটি পরীক্ষা পরিকল্পনা তৈরি করা।
পরীক্ষার পরিকল্পনা কনফিগার করুন
টেস্ট প্ল্যানের নাম এবং আপনি যে লেবেলগুলো যোগ করতে চান, তা লিখুন। এরপর ব্যবহারের জন্য একটি শিডিউল নির্বাচন করুন।
- ম্যানুয়াল - টেস্ট প্ল্যান তালিকা পৃষ্ঠায় ব্যবহারকারী যখন 'রান টেস্ট প্ল্যান' বোতামে ক্লিক করেন, শুধুমাত্র তখনই টেস্ট প্ল্যানটি টেস্ট রান তৈরি করে।
- পর্যায়ক্রমিক - টেস্ট প্ল্যানটি নির্বাচিত পর্যায়ক্রমিক সময়সূচী অনুযায়ী স্বয়ংক্রিয়ভাবে টেস্ট রান নির্ধারণ করে। উদাহরণস্বরূপ, প্রতিদিন বিকাল ৫:০০ টায় একটি টেস্ট রান নির্ধারণ করা।
- কাস্টম - টেস্ট প্ল্যানটি প্রবেশ করানো ক্রন এক্সপ্রেশনের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে টেস্ট রান নির্ধারণ করে। উদাহরণস্বরূপ, প্রতিদিন বিকাল ৫:০০ টায় একটি টেস্ট রান নির্ধারণ করতে, ক্রন এক্সপ্রেশনটি হলো
0 17 * * *।

চিত্র ২২। একটি টেস্ট প্ল্যান কনফিগার করা।
টেস্ট স্যুট যোগ করুন
টেস্ট প্ল্যান অনুযায়ী যে টেস্ট স্যুটগুলো শিডিউল করতে চান, সেগুলো যোগ করতে ‘+ Add test run configuration’-এ ক্লিক করুন। ‘Name’ ড্রপডাউন থেকে একটি টেস্ট স্যুট বেছে নিন এবং ‘Next step’-এ ক্লিক করুন। এরপর, যে ডিভাইসগুলোতে টেস্টটি চালাতে চান, সেগুলো বেছে নিন এবং ‘Add Configuration’-এ ক্লিক করুন। প্রতিটি টেস্ট প্ল্যানের জন্য আপনি একাধিক কনফিগারেশন যোগ করতে পারেন।

চিত্র ২৩. একটি টেস্ট রান কনফিগার করা।
ডিভাইস অ্যাকশন যোগ করুন
প্রতিটি টেস্ট রানের আগে আপনি যে ডিভাইস অ্যাকশনগুলো সম্পাদন করতে চান, সেগুলো যোগ করুন। আরও বিস্তারিত জানতে ‘ডিভাইস অ্যাকশন যোগ করা’ দেখুন।

চিত্র ২৪। ডিভাইস অ্যাকশন যোগ করা।
পরীক্ষার সংস্থান সেট করুন
টেস্ট প্ল্যানে টেস্ট রিসোর্স যোগ করা এবং স্বতন্ত্র টেস্ট রানে সেগুলো যোগ করা একই বিষয়। আরও বিস্তারিত জানতে ‘টেস্ট রিসোর্স সেট করা’ দেখুন।

চিত্র ২৫। পরীক্ষার উপকরণ নির্ধারণ করা।
টেস্ট রানগুলি দেখুন
টেস্ট রান তালিকা
টেস্ট রান পেজে নির্ধারিত টেস্ট রানগুলোর তালিকা দেখুন। কোনো টেস্ট রান সম্পর্কে আরও বিস্তারিত জানতে ভিউ-তে ক্লিক করুন।
আপনি ফিল্টার বারে একটি স্ট্রিং লিখে এবং এন্টার কী চেপেও তালিকাটি ফিল্টার করতে পারেন। আপনি কমা দিয়ে একাধিক ফিল্টার ব্যবহার করতে পারেন। এই ফিল্টারটি 'Status' এবং 'Created' কলাম ছাড়া অন্য যেকোনো কলামে হুবহু একই লেখা (কোনো সাবস্ট্রিং মেলানো ছাড়া) থাকা সমস্ত সারি ফেরত দেয়।
একটি খালি ফিল্টার সমস্ত সারি ফেরত দেয়। বর্তমানে খালি মান সহ সারিগুলি ফিল্টার করার কোনো উপায় নেই।

চিত্র ২৬। পরীক্ষামূলক চালনার তালিকা।
পরীক্ষামূলক চালনার বিবরণ
এখানে আপনি একটি টেস্ট রানের বিবরণ, যেমন স্ট্যাটাস, লগ এবং ফলাফল দেখতে পারেন।

চিত্র ২৭। পরীক্ষামূলক চালনার বিবরণ।
টেস্ট রানের অবস্থা
টেস্ট রানের অগ্রগতি স্ট্যাটাস বিভাগে দেখানো হয়। যদি ডাউনলোড অগ্রগতি, বাতিলের কারণ বা ত্রুটির বার্তার মতো কোনো সম্পর্কিত বার্তা থাকে, তবে সেটিও এখানে দেখানো হয়।

চিত্র ২৮। পরীক্ষামূলক চালনার অবস্থা।
টেস্ট রানের অবস্থাগুলো হলো:
- অপেক্ষাধীন - প্রয়োজনীয় রিসোর্স ডাউনলোড করা হচ্ছে।
- সারিবদ্ধ - কোনো ডিভাইস উপলব্ধ হলে পরীক্ষাটি চালানোর জন্য প্রস্তুত।
- চলছে - পরীক্ষাটি একটি বরাদ্দকৃত ডিভাইসে চলছে।
- সম্পন্ন - পরীক্ষাটি সম্পন্ন হয়েছে এবং এর ফলাফল জানানো হয়েছে।
- বাতিল - পরীক্ষাটি ব্যবহারকারী কর্তৃক বাতিল করা হয়েছে অথবা উপলব্ধ ডিভাইস খোঁজার সময় এর সময়সীমা শেষ হয়ে গেছে।
- ত্রুটি - একটি ত্রুটির কারণে পরীক্ষাটি চালানো সম্ভব হয়নি।
একটি পরীক্ষামূলক চালনা বাতিল করুন
যদি টেস্ট রানটি সম্পূর্ণ না হয়ে থাকে, তাহলে আপনি Cancel-এ ক্লিক করে এবং তারপর কনফার্মেশন ডায়ালগে Yes-এ ক্লিক করে এটি বাতিল করতে পারেন। টেস্ট রানগুলো queue_timeout_seconds ফিল্ডের চেয়ে বেশি সময় ধরে Queued অবস্থায় থাকলে সেগুলো স্বয়ংক্রিয়ভাবে বাতিল হয়ে যায়। Running অবস্থায় থাকা কোনো টেস্ট রান বাতিল করলে তার প্রভাব কার্যকর হতে কয়েক মিনিট সময় লাগতে পারে।

চিত্র ২৯। পরীক্ষামূলক চালনা বাতিল করা।
পরীক্ষামূলক চালনার ফলাফল
একটি টেস্ট রান শেষ হওয়ার পর, ফলাফল সংগ্রহ করে প্রদর্শন করা হয়। প্রতিটি রানের জন্য থাকা তীরচিহ্নে ক্লিক করে আপনি অতিরিক্ত বিবরণ দেখতে পারেন। সংগৃহীত টেস্ট আর্টিফ্যাক্টগুলো, যেমন test_result.xml এবং test_result_failures.html , দেখতে ‘View Output Files’-এ ক্লিক করুন।

চিত্র ৩০। পরীক্ষামূলক চালনার ফলাফল।
আপনি লগস ট্যাবে লাইভ হোস্ট এবং ট্রেডফেড লগ দেখতে পারেন।

চিত্র ৩১। লগ ট্যাব।
প্রতিটি মডিউলের ফলাফল 'টেস্ট রেজাল্টস' ট্যাবে রয়েছে।

চিত্র ৩২। পরীক্ষার ফলাফল ট্যাব।
টেস্ট রিসোর্সেস ট্যাবে থাকা ওপেন বাটনে ক্লিক করে আপনি পরীক্ষার উপকরণ হিসেবে ব্যবহৃত ফাইলগুলো ডাউনলোড করতে পারেন।

চিত্র ৩৩। টেস্ট রিসোর্সেস ট্যাব।
টেস্ট রানের বিস্তারিত তথ্য, যেমন create_time , দেখতে Config ট্যাবে যান।

চিত্র ৩৪। কনফিগারেশন ট্যাব।
উন্নত বৈশিষ্ট্য
কনফিগারেশন ফাইলগুলি পরিচালনা করুন
OmniLab ATS, টেস্ট, বিল্ড চ্যানেল এবং ডিভাইস অ্যাকশনের মতো পূর্বনির্ধারিত অপশনগুলো লোড করার জন্য YAML- এ লেখা কনফিগারেশন ফাইল ব্যবহার করে। নিচে একটি কনফিগারেশন ফাইলের উদাহরণ দেওয়া হলো:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
যখন আপনি আপনার OmniLab ATS ইনস্ট্যান্স সেট আপ করবেন, তখন ফাইল হিসেবে এক্সপোর্ট করে আপনার কনফিগারেশনটি অন্যান্য ব্যবহারকারীদের সাথে শেয়ার করতে পারেন। এটি করার জন্য, সেটিংস পৃষ্ঠায় যান এবং উপরের ডানদিকে থাকা এক্সপোর্ট-এ ক্লিক করুন।

চিত্র ৩৫. কনফিগারেশন ফাইল ব্যবস্থাপনা।
আপনার কনফিগারেশন ফাইলটি ডাউনলোড হয়ে গেলে, ফাইলটি অন্যান্য ব্যবহারকারীদের সাথে শেয়ার করুন। তারা 'ইম্পোর্ট' (Import) এ ক্লিক করে এবং কনফিগারেশন ফাইলটি নির্বাচন করে তাদের OmniLab ATS ইনস্ট্যান্সে ফাইলটি যোগ করতে পারবে।
একটি নতুন ডিভাইস তৈরির অ্যাকশন
ডিভাইস সেটআপ প্রক্রিয়া স্বয়ংক্রিয় করতে ডিভাইস অ্যাকশন ব্যবহার করা হয়। অ্যাকশন হলো এমন স্ক্রিপ্ট যা প্রতিটি টেস্ট রানের আগে, এমনকি রিট্রাইয়ের আগেও, টেস্টটি যে প্রতিটি ডিভাইসে চলছে সেগুলোতে এক্সিকিউট করা হয়। উপলব্ধ ডিভাইস অ্যাকশনগুলোর তালিকা দেখতে, সেটিংস পেজে যান এবং ডিভাইস অ্যাকশন ট্যাবে ক্লিক করুন। রিবুটিং এবং ফ্ল্যাশিং-এর মতো বেশ কিছু ডিভাইস অ্যাকশন আগে থেকেই কনফিগার করা থাকে।

চিত্র ৩৬। ডিভাইস অ্যাকশন ট্যাব।
নতুন ডিভাইস যোগ করার ক্রিয়া
নতুন ডিভাইস অ্যাকশন-এ ক্লিক করুন।

চিত্র ৩৭। নতুন ডিভাইস অ্যাকশন বাটন।
একটি নাম ও বিবরণ লিখুন।

চিত্র ৩৮। ডিভাইসের ক্রিয়াকলাপের নাম।
টার্গেট প্রস্তুতকারক যোগ করুন -এ ক্লিক করুন।
Trade Federation Target Preparer-এর সম্পূর্ণ ক্লাস নামটি লিখুন, উদাহরণস্বরূপ,
com.android.tradefed.targetprep.RunHostCommandTargetPreparer।
চিত্র ৩৯। একজন লক্ষ্য প্রস্তুতকারক যুক্ত করা।
উপলব্ধ টার্গেট প্রিপেয়ারারদের একটি তালিকা com.android.tradefed.targetprep রেফারেন্সে পাওয়া যাবে।

চিত্র ৪০। লক্ষ্য প্রস্তুতকারীদের তালিকা।
টার্গেট প্রিপারারের সাথে ব্যবহার করার জন্য যেকোনো অপশন যোগ করুন। উপলব্ধ অপশনগুলো দেখতে, AOSP-তে প্রতিটি টার্গেট প্রিপারারের সোর্স কোডের জন্য targetprep চেক করুন:

চিত্র ৪১। কর্ম বিকল্পের উদাহরণ।
একটি অপশন যোগ করতে, 'Add Target Preparer Option'-এ ক্লিক করুন এবং প্রয়োজনীয় মানগুলি প্রবেশ করান।

চিত্র ৪২। অ্যাকশন কমান্ডের উদাহরণ।
ডিভাইস অ্যাকশন সম্পাদনের জন্য প্রয়োজনীয় টেস্ট রিসোর্সগুলো সংজ্ঞায়িত করুন, যেমন—ফ্ল্যাশিংয়ের জন্য বিল্ড ইমেজ। একটি রিসোর্স ডেফিনিশন যোগ করতে, ‘অ্যাড টেস্ট রিসোর্স’ (Add Test Resource)- এ ক্লিক করুন এবং প্রয়োজনীয় ফিল্ডগুলো পূরণ করুন। আপনার ফাইলগুলো কোথায় অবস্থিত তা জানা থাকলে, ‘ব্রাউজ’ (browse)- এ ক্লিক করে একটি ডিফল্ট ডাউনলোড ইউআরএল (URL) প্রদান করতে পারেন। যদি টার্গেট প্রিপারাররা ডিরেক্টরিকে টেস্ট রিসোর্স হিসেবে গ্রহণ করে, তবে ‘ডিকম্প্রেস’ (Decompress ) নির্বাচন করুন। এরপর টেম্পোরারি ওয়ার্কিং ডিরেক্টরির অধীনে আপেক্ষিক গন্তব্য ডিরেক্টরি (Destination directory) এবং ডিকম্প্রেস করার জন্য ফাইলের নামগুলো নির্দিষ্ট করুন। কোনো ফাইলের নাম না দেওয়া হলে, টেস্ট রিসোর্স থেকে সমস্ত ফাইল ডিকম্প্রেস করা হবে।

চিত্র ৪৩। কর্ম পরীক্ষার উপকরণসমূহ।
আপডেট-এ ক্লিক করুন।

চিত্র ৪৪। পরিবর্তনসমূহ সংরক্ষণ করুন।
পরীক্ষাগুলি পরিচালনা করুন
একটি পরীক্ষা সম্পাদনা করুন
সংরক্ষিত কোনো টেস্ট সম্পাদনা করতে, Tests পৃষ্ঠায় যান এবং যে টেস্টটি পরিবর্তন করতে চান তার সারিতে থাকা Edit বাটনে ক্লিক করুন। টেস্ট কনফিগারেশন পরিবর্তন করার পর, Update বাটনে ক্লিক করুন।

চিত্র ৪৫। একটি পরীক্ষা সম্পাদনা করা।
একটি নতুন পরীক্ষা যোগ করুন
নতুন টেস্ট যোগ করতে, টেস্ট পেজে যান এবং 'Create a New Test'-এ ক্লিক করুন। উপযুক্ত তথ্য প্রবেশ করান এবং 'Create'-এ ক্লিক করুন।

চিত্র ৪৬. একটি পরীক্ষা তৈরি করা।

চিত্র ৪৭। পরীক্ষা নকল করা।
হোস্ট কনফিগারেশন রপ্তানি করুন
একটি হোস্ট কনফিগার করার পরে, আপনি হোস্টটির কনফিগারেশনগুলো একটি ফাইলে এক্সপোর্ট করতে পারেন। সংরক্ষিত কনফিগারেশনগুলো কপি করার জন্য আপনি এই ফাইলটি অন্যান্য হোস্টে আপলোড করতে পারেন।
হোস্টের কনফিগারেশন এক্সপোর্ট করতে, সেটিংস পেজে যান এবং উপরের ডান কোণায় থাকা এক্সপোর্ট বাটনে ক্লিক করুন।

চিত্র ৪৮. হোস্ট কনফিগারেশন রপ্তানি করা।
হোস্ট কনফিগারেশন ফাইল ইম্পোর্ট করতে, সেটিংস পেজে যান এবং উপরের ডান কোণায় থাকা ইম্পোর্ট বাটনে ক্লিক করুন।

চিত্র ৪৯. হোস্ট কনফিগারেশন ইম্পোর্ট করা।
স্থানীয় ফাইল এবং ডিরেক্টরি ব্যবহার করুন
R11 সংস্করণ থেকে, $HOME/.ats_storage ডিরেক্টরির ফাইলগুলো OmniLab ATS-এ স্বয়ংক্রিয়ভাবে অ্যাক্সেসযোগ্য। কোনো ফাইল ওই ডিরেক্টরিতে কপি বা মুভ করলে, টেস্ট রান শিডিউল করার সময় আপনি লোকাল ফাইল ট্যাব থেকে সেটি নির্বাচন করতে পারবেন।
cp /path/to/file $HOME/.ats_storage

চিত্র ৫০। $HOME/.ats_storage ডিরেক্টরি থেকে একটি ফাইল নির্বাচন করা।
আপনি --mount_local_path ফ্ল্যাগ ব্যবহার করে লোকাল ফাইল স্টোরে অতিরিক্ত ডিরেক্টরি মাউন্ট করতে পারেন।
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

চিত্র ৫১। স্থানীয় ফাইল স্টোরে মাউন্ট করা অতিরিক্ত ডিরেক্টরিসমূহ।
মাল্টি-হোস্ট মোড সক্রিয় করুন
মাল্টি-হোস্ট মোডের মাধ্যমে, ব্যবহারকারীরা একটিমাত্র এটিএস কন্ট্রোলার হোস্ট ব্যবহার করে একাধিক এটিএস ওয়ার্কার হোস্টের ডিভাইস এবং টেস্টগুলো পরিচালনা করতে পারেন।

চিত্র ৫২। মাল্টি-হোস্ট মোড আর্কিটেকচার।
ATS কন্ট্রোলারটি চালু করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
mtt start --operation_mode=ON_PREMISEচেক কন্ট্রোলারটি
http://${CONTROLLER_HOSTNAME}:8000ঠিকানায় পাওয়া যাচ্ছে কিনা।ওয়ার্কারদের চালু করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
যদি আপনার নেটওয়ার্ক হোস্টগুলোকে একে অপরের সাথে যোগাযোগ করার অনুমতি না দেয়, তাহলে আপনাকে ATS ওয়ার্কারের জন্য নিচে দেওয়া আরও উন্নত সেটআপ নির্দেশাবলী অনুসরণ করতে হবে।
SSH টানেল ব্যবহার করে হোস্ট দুটিকে সংযুক্ত করুন। প্রাইমারি এবং ফাইল সার্ভার পোর্টের জন্য পোর্ট নির্বাচন করুন, যেমন, 9000 এবং 9006।
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEATS কনফিগার ও চালু করুন।
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
ফাইল ক্লিনার
ফাইল ক্লিনার হলো একটি ক্রন জব যা ব্যবহারকারী-নির্ধারিত কনফিগারেশনের উপর ভিত্তি করে ফাইল পরিষ্কার করার জন্য প্রতি ঘন্টায় চলে। টেস্ট রানের ফলাফল আর্কাইভ করতে এবং টেম্পোরারি ফাইল মুছে ফেলার জন্য ATS-এর দুটি ডিফল্ট কনফিগারেশন রয়েছে। আপনার ফাইলগুলো কার্যকরভাবে পরিচালনা করার জন্য কীভাবে পলিসি এবং কনফিগারেশনগুলো কাস্টমাইজ করতে হয়, তা এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে।
নীতিমালা
একটি পলিসি ফাইল বা ডিরেক্টরির উপর সম্পাদিতব্য অপারেশন এবং টার্গেট নির্বাচনের মানদণ্ড নির্ধারণ করে। উপলব্ধ অপারেশনগুলো সারণিতে দেখানো হয়েছে:
| অপারেশনের ধরণ | প্যারামিটার |
|---|---|
ARCHIVE | remove_file : যদি true , তাহলে আর্কাইভ করার পর ফাইলটি মুছে ফেলা হবে। |
DELETE |
মানদণ্ডগুলো ফাইলের বৈশিষ্ট্য এবং সিস্টেমের তথ্যের উপর ভিত্তি করে নির্ধারিত হয়। উপলব্ধ মানদণ্ডগুলো সারণিতে দেখানো হলো:
| মানদণ্ডের ধরণ | বর্ণনা | প্যারামিটার |
|---|---|---|
LAST_MODIFIED_TIME | ফাইলগুলির সর্বশেষ পরিবর্তনের তারিখ এবং সময়ের ভিত্তিতে ফিল্টার করুন। | ttl : বিভিন্ন ধরণের সময় প্রকাশভঙ্গি সমর্থিত, যেমন, 10m , 2h , 7 days , 4w । সমর্থিত ফরম্যাটগুলির জন্য pytimeparse দেখুন। |
LAST_ACCESS_TIME | ফাইলগুলির সর্বশেষ অ্যাক্সেসের তারিখ এবং সময়ের উপর ভিত্তি করে ফিল্টার করুন। | LAST_MODIFIED_TIME এর সমান। |
NAME_MATCH | রেগুলার এক্সপ্রেশন ব্যবহার করে ফাইলের নামের ভিত্তিতে ফিল্টার করুন। | pattern : রেগুলার এক্সপ্রেশন, উদাহরণস্বরূপ, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip যা ফলাফল জিপ ফাইলগুলোকে মেলাবে। |
SYSTEM_AVAILABLE_SPACE | সিস্টেমে উপলব্ধ স্থানের উপর ভিত্তি করে কার্যক্রম শুরু করুন। | threshold : উপলব্ধ স্থান থ্রেশহোল্ডের নিচে নেমে গেলে ব্যবস্থা গ্রহণ করা হবে, উদাহরণস্বরূপ, 200 (B), 200KB , 200MB , 200GB , 2TB । |

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

চিত্র ৫৪। ফাইল ক্লিনার কনফিগারেশনটি সম্পাদনা করুন।
রিসেট
রিসেট সেটিংস-এ ক্লিক করলে ফাইল ক্লিনার কনফিগারেশন তার ডিফল্ট অবস্থায় ফিরে আসে। এই কাজটি সমস্ত কাস্টম আইটেম মুছে দেয়।

চিত্র ৫৫। ফাইল ক্লিনার সেটিংস রিসেট করুন।
সমর্থন
বাগ রিপোর্ট
OmniLab ATS-এ আপনার অবদান টুলটির উন্নয়নে সাহায্য করে, এবং আমরা আপনার মতামত চাই! সর্বশেষ রিলিজের বিস্তারিত জানতে OmniLab ATS রিলিজ নোট দেখুন। বাগ রিপোর্ট করতে বা পরামর্শ দিতে, একটি বাগ রিপোর্ট ফাইল করুন । পার্টনারদের তাদের পার্টনার চ্যানেল ব্যবহার করে বাগ বা পরামর্শ রিপোর্ট করা উচিত।