Aplikasi Cloud Orchestration menyediakan cara berperforma tinggi dan skalabel untuk mengelola instance Cuttlefish, terutama untuk perangkat virtual berbasis ARM (CHD). OmniLab ATS mendukung Cloud Orchestration sehingga Anda dapat menjalankan pengujian pada perangkat virtual. Sebelum mulai menggunakan perangkat virtual, ikuti OmniLab Android Test Station untuk menginstal OmniLab ATS.
Ringkasan
Cloud Orchestration memungkinkan OmniLab ATS mendelegasikan pengelolaan instance Cuttlefish ke layanan Cloud Orchestrator khusus. Pendekatan ini menawarkan beberapa keunggulan dibandingkan mode lokal dan jarak jauh yang ada sekaligus mempertahankan pengalaman pengguna yang familiar:
- Peluncuran instance paralel: Memungkinkan peluncuran beberapa instance Cuttlefish secara bersamaan, sehingga mengurangi waktu overhead secara signifikan sebelum pengujian dimulai.
- Skalabilitas: Cocok untuk lingkungan pengujian skala besar.
- Isolasi resource: Memisahkan lingkungan eksekusi pengujian (ATS worker) dari lingkungan emulasi perangkat.
Prasyarat
- Mesin host yang dapat menjalankan Docker
- Akses ke image Docker orkestrasi Cuttlefish
Menyiapkan layanan Cloud Orchestrator
Layanan Cloud Orchestrator mengelola siklus proses instance Cuttlefish. Anda dapat men-deploy layanan di berbagai lingkungan, dan layanan ini mendukung arsitektur x86 dan ARM:
- Host yang sama dengan ATS worker: Berjalan dalam container Docker di mesin yang sama
- Mesin terpisah: Berjalan di server lokal yang dapat menjalankan Docker
- Instance cloud: Berjalan di mesin virtual di lingkungan cloud, misalnya, Google Compute Engine
Menginstal dan menyiapkan layanan
Ikuti Cloud Android Orchestration README untuk meluncurkan layanan.
Autentikasi dan izin
Jika layanan Cloud Orchestrator berjalan di mesin jarak jauh, pastikan host ATS worker memiliki izin yang diperlukan untuk mengaksesnya melalui permintaan HTTP. Jika koneksi HTTP tidak diizinkan, Anda mungkin perlu menyiapkan penerusan port SSH. Untuk mengetahui detailnya, lihat Mencoba cloud orchestrator.
Status yang diharapkan
Setelah layanan Cloud Orchestrator berhasil dimulai, layanan tersebut harus dapat dijangkau menggunakan HTTP. Anda dapat memverifikasi statusnya dengan membuat kueri API-nya:
- Ping layanan: Anda harus dapat menjangkau endpoint layanan dari host ATS worker OmniLab. Misalnya, menjalankan
curl -I http://localhost:8080/v1/zones/local/hostsakan menampilkan respons HTTP yang berhasil (baikHTTP/1.1 200 OKatau302 Foundyang mengalihkan ke/username), yang mengonfirmasi bahwa layanan aktif dan dapat dijangkau.
Mengonfigurasi OmniLab ATS untuk Cloud Orchestration
Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish di host ATS worker OmniLab dihentikan. OmniLab ATS otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada akan berkonflik dengan instance yang dikelola oleh OmniLab ATS. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.
Untuk mengaktifkan Cloud Orchestration di OmniLab ATS, teruskan flag tertentu saat memulai 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: Mengaktifkan fitur Cloud Orchestration.--cloud_orchestrator_service_url: Menentukan URL tempat layanan Cloud Orchestrator mendengarkan, misalnya,http://localhost:8080.--max_local_virtual_devices: Menetapkan jumlah maksimum perangkat virtual yang dapat dialokasikan oleh OmniLab ATS secara bersamaan. Jumlah defaultnya adalah 0.--use_host_network: Menggunakan namespace jaringan host untuk container. Hal ini diperlukan untuk mengakses layanan Cloud Orchestrator.
Menjalankan pengujian dengan perangkat yang diorkestrasi cloud
Bagian ini menjelaskan langkah-langkah untuk menjalankan pengujian pada perangkat virtual yang diorkestrasi cloud.
Perangkat tertentu
Di daftar perangkat, OmniLab ATS menampilkan perangkat virtual yang diorkestrasi cloud sebagai placeholder, bukan nomor seri sebenarnya. Placeholder ditampilkan
dalam format HOSTNAME:PORT (misalnya,
thehostname:6520). Statusnya adalah Tersedia atau Dialokasikan. Placeholder dalam status Tersedia menunjukkan bahwa perangkat virtual tidak berjalan dan dapat dialokasikan untuk pengujian.
Gambar 1. Memilih perangkat virtual yang diorkestrasi cloud.
Menambahkan tindakan perangkat
Saat pengujian dijadwalkan di perangkat ini, ATS otomatis menambahkan tindakan perangkat yang diperlukan untuk menyediakan dan mengelola instance Cuttlefish selama siklus pengujian.
Gambar 2. Tindakan perangkat otomatis.
Menetapkan resource pengujian
Saat menjadwalkan pengujian, Anda harus menyediakan resource pengujian yang diperlukan. Di bagian Set Test Resources, pastikan Anda memetakan file yang diupload ke nama resource yang benar:
- Petakan paket alat host, misalnya,
cvd-host_package.tar.gz, ke namacvd_host_package. - Petakan zip image perangkat ke nama
cvd_device_image.
Gambar 3. Memetakan resource pengujian.
Melihat operasi dan log pengujian
Setelah pengujian selesai, Anda dapat melihat log di bagian file output. Log tertentu yang dikumpulkan untuk instance yang dikelola Cloud Orchestrator mencakup:
launcher.log: Log dari peluncur Cuttlefishkernel.log: Log kernel Android standar