Orkestrasi Cloud di OmniLab ATS

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/hosts akan menampilkan respons HTTP yang berhasil (baik HTTP/1.1 200 OK atau 302 Found yang 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.

Pilih Perangkat yang Diorkestrasi Cloud

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.

Tindakan Perangkat Otomatis

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 nama cvd_host_package.
  • Petakan zip image perangkat ke nama cvd_device_image.

Menguji Resource untuk Cloud Orchestration

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 Cuttlefish
  • kernel.log: Log kernel Android standar