ক্লাউড অর্কেস্ট্রেশন অ্যাপটি কাটলফিশ ইনস্ট্যান্স, বিশেষ করে এআরএম-ভিত্তিক ভার্চুয়াল ডিভাইস (সিএইচডি) পরিচালনা করার জন্য একটি উচ্চ-পারফরম্যান্স ও স্কেলেবল উপায় প্রদান করে। OmniLab ATS ক্লাউড অর্কেস্ট্রেশন সমর্থন করে, যার ফলে আপনি ভার্চুয়াল ডিভাইসে পরীক্ষা চালাতে পারেন। ভার্চুয়াল ডিভাইস ব্যবহার শুরু করার আগে, OmniLab ATS ইনস্টল করার জন্য OmniLab Android Test Station-এর নির্দেশাবলী অনুসরণ করুন।
সংক্ষিপ্ত বিবরণ
ক্লাউড অর্কেস্ট্রেশন OmniLab ATS-কে Cuttlefish ইনস্ট্যান্সগুলির ব্যবস্থাপনার দায়িত্ব একটি ডেডিকেটেড ক্লাউড অর্কেস্ট্রেটর পরিষেবার কাছে অর্পণ করার সুযোগ দেয়। এই পদ্ধতিটি একটি পরিচিত ব্যবহারকারীর অভিজ্ঞতা বজায় রেখে বিদ্যমান লোকাল এবং রিমোট মোডের তুলনায় বেশ কিছু সুবিধা প্রদান করে:
- সমান্তরাল ইনস্ট্যান্স চালু করা: এর মাধ্যমে একই সাথে একাধিক কাটলফিশ ইনস্ট্যান্স চালু করা যায়, যা টেস্ট শুরু হওয়ার আগের অতিরিক্ত সময় উল্লেখযোগ্যভাবে কমিয়ে দেয়।
- পরিমাপযোগ্যতা: বৃহৎ পরিসরের টেস্টিং পরিবেশের জন্য উপযুক্ত।
- রিসোর্স আইসোলেশন: টেস্ট এক্সিকিউশন এনভায়রনমেন্ট (ATS ওয়ার্কার)-কে ডিভাইস এমুলেশন এনভায়রনমেন্ট থেকে বিচ্ছিন্ন করে।
পূর্বশর্ত
- ডকার চালাতে সক্ষম একটি হোস্ট মেশিন
- কাটলফিশ অর্কেস্ট্রেশন ডকার ইমেজগুলিতে অ্যাক্সেস
ক্লাউড অর্কেস্ট্রেটর পরিষেবা সেট আপ করুন
ক্লাউড অর্কেস্ট্রেটর সার্ভিসটি কাটলফিশ ইনস্ট্যান্সগুলোর লাইফসাইকেল পরিচালনা করে। আপনি বিভিন্ন পরিবেশে এই সার্ভিসটি ডেপ্লয় করতে পারেন এবং এটি x86 ও ARM উভয় আর্কিটেকচারই সাপোর্ট করে।
- ATS ওয়ার্কারের মতো একই হোস্ট: একই মেশিনে একটি ডকার কন্টেইনারে চলে।
- পৃথক মেশিন: ডকার চালাতে সক্ষম একটি অন-প্রিমিস সার্ভারে চলে।
- ক্লাউড ইনস্ট্যান্স: ক্লাউড পরিবেশে একটি ভার্চুয়াল মেশিনে চলে, যেমন, গুগল কম্পিউট ইঞ্জিন।
পরিষেবাটি ইনস্টল এবং সেট আপ করুন
সার্ভিসটি চালু করতে ক্লাউড অ্যান্ড্রয়েড অর্কেস্ট্রেশন README অনুসরণ করুন।
প্রমাণীকরণ এবং অনুমতি
যদি ক্লাউড অর্কেস্ট্রেটর পরিষেবাটি কোনো রিমোট মেশিনে চালু থাকে, তবে নিশ্চিত করুন যে HTTP অনুরোধের মাধ্যমে এটি অ্যাক্সেস করার জন্য ATS ওয়ার্কার হোস্টের প্রয়োজনীয় অনুমতি রয়েছে। যদি HTTP সংযোগের অনুমতি না থাকে, তাহলে আপনাকে SSH পোর্ট ফরওয়ার্ডিং সেট আপ করতে হতে পারে। বিস্তারিত জানতে, ‘ক্লাউড অর্কেস্ট্রেটর ব্যবহার করে দেখুন’ দেখুন।
প্রত্যাশিত অবস্থা
ক্লাউড অর্কেস্ট্রেটর পরিষেবাটি সফলভাবে চালু হওয়ার পর, এটি HTTP ব্যবহার করে অ্যাক্সেসযোগ্য হওয়া উচিত। আপনি এর API-তে কোয়েরি করে এর অবস্থা যাচাই করতে পারেন:
- সার্ভিসটি পিং করুন: আপনার OmniLab ATS ওয়ার্কার হোস্ট থেকে সার্ভিস এন্ডপয়েন্টে পৌঁছাতে পারার কথা। উদাহরণস্বরূপ,
curl -I http://localhost:8080/v1/zones/local/hostsচালালে একটি সফল HTTP রেসপন্স (হয়HTTP/1.1 200 OKঅথবা একটি302 Found/usernameএ রিডাইরেক্ট করবে) পাওয়া উচিত, যা নিশ্চিত করে যে সার্ভিসটি সক্রিয় এবং অ্যাক্সেসযোগ্য।
ক্লাউড অর্কেস্ট্রেশনের জন্য OmniLab ATS কনফিগার করুন
OmniLab ATS শুরু করার আগে, নিশ্চিত করুন যে OmniLab ATS ওয়ার্কার হোস্টে থাকা সমস্ত Cuttlefish ইনস্ট্যান্স বন্ধ আছে। OmniLab ATS পরীক্ষা চক্র চলাকালীন স্বয়ংক্রিয়ভাবে ভার্চুয়াল ডিভাইসগুলি চালু এবং বন্ধ করে, এবং বিদ্যমান Cuttlefish ইনস্ট্যান্সগুলি OmniLab ATS দ্বারা পরিচালিত ইনস্ট্যান্সগুলির সাথে সংঘাত সৃষ্টি করে। Cuttlefish ইনস্ট্যান্স বন্ধ করার বিষয়ে বিস্তারিত জানতে, "Stop Cuttlefish" দেখুন।
OmniLab ATS-এ ক্লাউড অর্কেস্ট্রেশন সক্রিয় করতে, OmniLab ATS চালু করার সময় নির্দিষ্ট ফ্ল্যাগগুলি পাস করুন:
mtt start --use_cloud_orchestrator \
--cloud_orchestrator_service_url=http://HOST:PORT \
--max_local_virtual_devices N \
--use_host_network-
--use_cloud_orchestrator: ক্লাউড অর্কেস্ট্রেশন ফিচারটি সক্রিয় করে। -
--cloud_orchestrator_service_url: যে URL-এ ক্লাউড অর্কেস্ট্রেটর পরিষেবাটি কাজ করছে, তা নির্দিষ্ট করে, উদাহরণস্বরূপ,http://localhost:8080। -
--max_local_virtual_devices: OmniLab ATS একই সাথে সর্বাধিক যতগুলো ভার্চুয়াল ডিভাইস বরাদ্দ করতে পারে, তা নির্ধারণ করে। ডিফল্ট সংখ্যা হলো ০। -
--use_host_network: কন্টেইনারের জন্য হোস্টের নেটওয়ার্ক নেমস্পেস ব্যবহার করে। ক্লাউড অর্কেস্ট্রেটর পরিষেবা অ্যাক্সেস করার জন্য এটি আবশ্যক।
ক্লাউড-অর্কেস্ট্রেটেড ডিভাইস দিয়ে একটি পরীক্ষা চালান
এই অংশে ক্লাউড-অর্কেস্ট্রেটেড ভার্চুয়াল ডিভাইসগুলিতে পরীক্ষা চালানোর ধাপগুলি বর্ণনা করা হয়েছে।
ডিভাইস নির্বাচন করুন
ডিভাইস তালিকায়, OmniLab ATS ক্লাউড-অর্কেস্ট্রেটেড ভার্চুয়াল ডিভাইসগুলোকে তাদের আসল সিরিয়াল নম্বরের পরিবর্তে প্লেসহোল্ডার হিসেবে প্রদর্শন করে। প্লেসহোল্ডারগুলো HOSTNAME:PORT ফরম্যাটে দেখানো হয় (উদাহরণস্বরূপ, thehostname:6520 )। এগুলোর স্টেট হয় Available অথবা Allocated । Available স্টেটে থাকা একটি প্লেসহোল্ডার নির্দেশ করে যে ভার্চুয়াল ডিভাইসটি চালু নেই এবং পরীক্ষার জন্য এটিকে বরাদ্দ করা যেতে পারে।

চিত্র ১. ক্লাউড-অর্কেস্ট্রেটেড ভার্চুয়াল ডিভাইস নির্বাচন।
ডিভাইস অ্যাকশন যোগ করুন
যখন এই ডিভাইসগুলিতে কোনো পরীক্ষা নির্ধারিত করা হয়, তখন ATS স্বয়ংক্রিয়ভাবে পরীক্ষা চক্র চলাকালীন Cuttlefish ইনস্ট্যান্সগুলির ব্যবস্থা ও পরিচালনার জন্য প্রয়োজনীয় ডিভাইস অ্যাকশনগুলি যুক্ত করে।

চিত্র ২. ডিভাইসের স্বয়ংক্রিয় কার্যক্রম।
পরীক্ষার সংস্থান সেট করুন
একটি টেস্ট শিডিউল করার সময়, আপনাকে প্রয়োজনীয় টেস্ট রিসোর্স সরবরাহ করতে হবে। 'সেট টেস্ট রিসোর্স' বিভাগে, আপলোড করা ফাইলগুলিকে সঠিক রিসোর্স নামের সাথে ম্যাপ করা নিশ্চিত করুন:
- হোস্ট টুলস প্যাকেজটিকে, যেমন
cvd-host_package.tar.gz,cvd_host_packageনামের সাথে ম্যাপ করুন। - ডিভাইস ইমেজ জিপ ফাইলটিকে
cvd_device_imageনামের সাথে ম্যাপ করুন।

চিত্র ৩. পরীক্ষার রিসোর্সসমূহের ম্যাপিং।
টেস্ট রান এবং লগ দেখুন
পরীক্ষাটি সম্পন্ন হওয়ার পর, আপনি আউটপুট ফাইল বিভাগে লগগুলো দেখতে পারবেন। ক্লাউড অর্কেস্ট্রেটর-পরিচালিত ইনস্ট্যান্সগুলোর জন্য সংগৃহীত নির্দিষ্ট লগগুলোর মধ্যে রয়েছে:
-
launcher.log: কাটলফিশ লঞ্চারের লগ -
kernel.log: স্ট্যান্ডার্ড অ্যান্ড্রয়েড কার্নেল লগ