Perangkat virtual di OmniLab ATS

ATS OmniLab mendukung perangkat virtual Cuttlefish yang memungkinkan Anda menjalankan pengujian tanpa perangkat Android fisik. Cuttlefish cocok untuk menguji fungsi yang tidak bergantung pada hardware. Sebelum mulai menggunakan perangkat virtual, ikuti panduan pengguna untuk menginstal OmniLab ATS.

OmniLab ATS mendukung perangkat virtual dalam dua mode, lokal dan jarak jauh. Tabel berikut memberikan perbandingan kedua mode tersebut.

Perangkat virtual lokal Perangkat virtual jarak jauh
Berjalan di host pekerja ATS Berjalan di host jarak jauh yang dapat diakses oleh host pekerja ATS melalui SSH
Berbasis x86 Dapat berupa x86 atau ARM, bergantung pada arsitektur host
Lebih mudah disiapkan Lebih rumit untuk disiapkan

Perangkat virtual lokal dan jarak jauh dapat diaktifkan secara terpisah. Untuk mengetahui detail tentang setiap mode, lihat:

Menyiapkan perangkat virtual lokal

Bagian ini menjelaskan langkah-langkah untuk menyiapkan OmniLab ATS untuk perangkat virtual lokal.

Instal dependensi Cuttlefish

Jalankan perintah berikut untuk memastikan bahwa modul kernel yang diperlukan dimuat:

sudo modprobe -a kvm tun vhost_net vhost_vsock

Mulai OmniLab ATS dengan perangkat virtual lokal

Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish dihentikan. ATS OmniLab otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada berkonflik dengan instance yang dikelola oleh ATS OmniLab. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.

Untuk mengaktifkan perangkat virtual lokal, jalankan:

mtt start --max_local_virtual_devices N

N adalah jumlah maksimum perangkat virtual yang dapat dialokasikan secara bersamaan oleh OmniLab ATS. Nomor defaultnya adalah 0.

Jika perintah gagal karena node perangkat tidak ada, ikuti langkah-langkah dalam pesan error untuk memuat modul kernel. Jika terus gagal, mulai ulang komputer.

Menyiapkan perangkat virtual jarak jauh

Bagian ini menjelaskan langkah-langkah untuk menyiapkan OmniLab ATS untuk perangkat virtual jarak jauh.

Instal dependensi Cuttlefish

Untuk menginstal dependensi Cuttlefish, ikuti langkah-langkah berikut.

  1. Instal paket Debian di host jarak jauh dengan mengikuti langkah-langkah di Cuttlefish > Get started.

  2. Konfigurasi jumlah maksimum perangkat virtual di host jarak jauh dengan mengikuti langkah-langkah berikut:

    1. Edit /etc/default/cuttlefish-host-resources dengan hak istimewa root.
    2. Tetapkan num_cvd_accounts ke jumlah maksimum perangkat virtual yang diizinkan di host ini.
    3. Jalankan sudo systemctl restart cuttlefish-host-resources.
    4. Jalankan ifconfig dan verifikasi jumlah antarmuka cvd-wtap-*.

Membuat akun SSH

Karena host ATS OmniLab terhubung ke host jarak jauh melalui SSH, Anda harus menyiapkan akun SSH di host jarak jauh. Karena OmniLab ATS memanipulasi file di direktori HOME, sebaiknya buat akun khusus.

Host ATS OmniLab memerlukan sepasang kunci SSH untuk login ke host jarak jauh tanpa sandi. Langkah-langkah berikut menjelaskan cara menyiapkan kunci SSH:

  1. Untuk membuat kunci pribadi dan kunci publik, jalankan ssh-keygen di host ATS OmniLab.
  2. Upload dan tambahkan kunci publik ke ~/.ssh/authorized_keys di host jarak jauh.

Jika akun SSH Anda berbeda dengan akun yang digunakan untuk menginstal dependensi Cuttlefish, agar akun SSH dapat meluncurkan Cuttlefish, jalankan perintah ini di host jarak jauh:

sudo usermod -aG kvm,cvdnetwork,render $USER

Mulai OmniLab ATS dengan perangkat virtual jarak jauh

Sebelum memulai OmniLab ATS, pastikan semua instance Cuttlefish dihentikan. ATS OmniLab otomatis meluncurkan dan menghentikan perangkat virtual selama siklus pengujian, dan instance Cuttlefish yang ada berkonflik dengan instance yang dikelola oleh ATS OmniLab. Untuk mengetahui detail tentang cara menghentikan instance Cuttlefish, lihat Menghentikan Cuttlefish.

Untuk performa yang lebih baik, sebaiknya siapkan host ATS OmniLab dan host jarak jauh di jaringan area lokal.

Untuk mengaktifkan perangkat virtual jarak jauh, jalankan perintah ini di host OmniLab ATS:

mtt start --remote_virtual_devices USER@HOST/N \
--remote_ssh_key KEY

USER adalah nama akun SSH.

HOST adalah alamat IPv4 host jarak jauh.

N adalah jumlah maksimum perangkat virtual yang dapat dialokasikan secara bersamaan oleh OmniLab ATS.

KEY adalah jalur ke kunci SSH pribadi di host ATS OmniLab.

Perintah ini menguji koneksi ke host jarak jauh sebelum memulai OmniLab ATS. Jika menampilkan pesan peringatan seperti The specified --remote_virtual_devices and --remote_ssh_key are invalid. di konsol, Anda harus memeriksa penyiapan SSH.

Untuk menghindari konflik resource, host ATS OmniLab hanya dapat terhubung ke paling banyak satu host jarak jauh. Beberapa host ATS OmniLab tidak dapat terhubung ke satu host jarak jauh secara bersamaan.

Menjalankan pengujian dengan perangkat virtual

Bagian ini menjelaskan langkah-langkah untuk menjalankan pengujian di perangkat virtual lokal atau jarak jauh.

Pilih perangkat

Di daftar perangkat, OmniLab ATS menampilkan perangkat virtual sebagai placeholder, bukan nomor seri sebenarnya. Placeholder ditampilkan dalam format HOSTNAME:local-virtual-device-ID untuk perangkat virtual lokal; remote-virtual-ADDRESS-ID untuk perangkat virtual jarak jauh. Statusnya adalah Tersedia atau Dialokasikan. Penampung dalam status Tersedia menunjukkan bahwa perangkat virtual tidak berjalan dan dapat dialokasikan untuk pengujian.

Pilih Perangkat Virtual

Gambar 1. Memilih perangkat virtual

Menambahkan tindakan perangkat

Jika Anda memilih setidaknya satu perangkat virtual, tindakan perangkat terkait akan ditambahkan ke daftar secara otomatis. Tindakan ini terdiri dari parameter TradeFed dan resource pengujian yang diperlukan untuk membuat perangkat virtual.

Tindakan Perangkat Virtual Lokal

Gambar 2. Tindakan perangkat untuk perangkat virtual lokal

Tindakan Perangkat Virtual Jarak Jauh

Gambar 3. Tindakan perangkat untuk perangkat virtual jarak jauh

Menetapkan resource pengujian

Perangkat virtual Cuttlefish memerlukan tiga resource pengujian, alat virtual machine, image, dan Acloud. Dalam build Cuttlefish biasa (misalnya, aosp_cf_x86_64_only_phone-userdebug di ci.android.com ), alat mesin virtual dikemas dalam cvd-host_package.tar.gz, dan image ada di aosp_cf_x86_64_only_phone-img-*.zip. Biner Acloud dibangun di OmniLab ATS dan kompatibel dengan semua versi Cuttlefish. URL download default biner Acloud hanya perlu diubah untuk tujuan proses debug.

Referensi Pengujian Perangkat Virtual

Gambar 4. Menguji resource untuk perangkat virtual

Melihat operasi pengujian

Log perangkat, termasuk kernel.log, host_log.txt, dan launcher.log, dikumpulkan di folder file output. Klik Lihat File Output untuk melihatnya.

Hasil Uji Coba

Gambar 5. Hasil uji coba