Appareils virtuels dans OmniLab ATS

OmniLab ATS est compatible avec les appareils virtuels Cuttlefish. qui vous permettent d'exécuter des tests sans appareil Android physique. Seiche est adapté pour tester des fonctions indépendantes du matériel. Avant de commencer à utiliser les suivez le guide de l'utilisateur pour installer OmniLab ATS.

OmniLab ATS prend en charge deux modes d'utilisation des appareils virtuels : local et à distance. La Le tableau suivant compare les deux modes.

Appareils virtuels locaux Appareils virtuels distants
S'exécute sur des hôtes de calcul ATS S'exécute sur des hôtes distants hébergés par les nœuds de calcul ATS peuvent y accéder via SSH
Basé sur x86 Il peut s'agir de x86 ou d'ARM selon de l'architecture
Plus facile à configurer Configuration plus complexe

Les appareils virtuels locaux et distants peuvent être activés indépendamment. Pour en savoir plus sur pour chaque mode, consultez les articles suivants:

Configurer des appareils virtuels locaux

Cette section décrit la procédure à suivre pour configurer les services de stratégie publicitaire d'OmniLab pour des machines virtuelles locales. appareils.

Installer les dépendances Cuttlefish

Exécutez la commande suivante pour vous assurer que les modules du noyau nécessaires sont chargé:

sudo modprobe -a kvm tun vhost_net vhost_vsock

Démarrer OmniLab ATS avec des appareils virtuels locaux

Avant de démarrer l'outil ATS d'OmniLab, assurez-vous que toutes les instances Cuttlefish sont arrêtées. OmniLab ATS lance et arrête automatiquement les appareils virtuels pendant le test et les instances Cuttlefish existantes sont en conflit avec les instances gérées par OmniLab ATS. Pour en savoir plus sur l'arrêt des instances Cuttlefish, consultez Arrêtez la seiche.

Pour activer les appareils virtuels locaux, exécutez la commande suivante:

mtt start --max_local_virtual_devices N

N est le nombre maximal d'appareils virtuels que le service ATS d'OmniLab peut simultanément allouer. Le nombre par défaut est 0.

Si la commande échoue en raison de nœuds d'appareil manquants, suivez les étapes décrites dans pour charger les modules du noyau. Si le problème persiste, redémarrez le machine.

Configurer des appareils virtuels distants

Cette section décrit la procédure à suivre pour configurer le service ATS d'OmniLab pour les machines virtuelles distantes. appareils.

Installer les dépendances Cuttlefish

Pour installer les dépendances Cuttlefish, procédez comme suit.

  1. Installez les packages Debian sur l'hôte distant en suivant les étapes décrites dans la section Seiche > Lancez-vous.

  2. Configurez le nombre maximal d'appareils virtuels sur l'hôte distant en procédant comme suit : en procédant comme suit:

    1. Modifiez /etc/default/cuttlefish-host-resources avec un droit racine.
    2. Définissez num_cvd_accounts sur le nombre maximal d'appareils virtuels sur autoriser sur cet hôte.
    3. Exécutez sudo systemctl restart cuttlefish-host-resources.
    4. Exécutez ifconfig et vérifiez le nombre d'interfaces cvd-wtap-*.

Créer un compte SSH

Comme l'hôte ATS OmniLab se connecte à l'hôte distant via SSH, vous devez préparer un compte SSH sur l'hôte distant ; Pendant qu'OmniLab ATS manipule la du répertoire HOME, nous vous recommandons de créer un compte dédié.

L'hôte ATS OmniLab nécessite une paire de clés SSH pour se connecter à l'hôte distant. sans mot de passe. Les étapes suivantes décrivent comment configurer les clés SSH:

  1. Pour générer une clé privée et une clé publique, exécutez ssh-keygen sur le Hôte ATS OmniLab
  2. Importer et ajouter la clé publique à ~/.ssh/authorized_keys sur l'hôte distant.

Si votre compte SSH est différent de celui utilisé pour installer Cuttlefish les dépendances, pour autoriser le compte SSH à lancer Cuttlefish, exécutez cette commande sur l'hôte distant:

sudo usermod -aG kvm,cvdnetwork,render $USER

Démarrer OmniLab ATS avec des appareils virtuels distants

Avant de démarrer l'outil ATS d'OmniLab, assurez-vous que toutes les instances Cuttlefish sont arrêtées. OmniLab ATS lance et arrête automatiquement les appareils virtuels pendant le test et les instances Cuttlefish existantes sont en conflit avec les instances gérées par OmniLab ATS. Pour en savoir plus sur l'arrêt des instances Cuttlefish, consultez Arrêtez la seiche.

Pour de meilleures performances, nous vous recommandons de configurer l'hôte ATS OmniLab et le hôte distant dans un réseau local.

Pour activer des appareils virtuels distants, exécutez cette commande sur l'hôte ATS OmniLab:

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

USER est le nom du compte SSH.

HOST est l'adresse IPv4 de l'hôte distant.

N est le nombre maximal d'appareils virtuels que le service ATS d'OmniLab peut simultanément allouer.

KEY est le chemin d'accès à la clé SSH privée sur l'hôte OmniLab ATS.

Cette commande teste la connexion à l'hôte distant avant de démarrer OmniLab ATS. Si un message d'avertissement du type The specified --remote_virtual_devices and --remote_ssh_key are invalid. sur la console, vérifiez votre configuration SSH.

Pour éviter les conflits de ressources, un hôte OmniLab ATS peut se connecter à au maximum un hôte distant. Plusieurs hôtes ATS OmniLab ne peuvent pas se connecter à un seul hôte distant au niveau en même temps.

Exécuter un test avec des appareils virtuels

Cette section décrit la procédure à suivre pour exécuter un test sur des machines virtuelles locales ou distantes. appareils.

Sélectionner des appareils

Dans la liste des appareils, OmniLab ATS affiche les appareils virtuels sous la forme d'espaces réservés. de leurs numéros de série réels. Les espaces réservés sont affichés au format suivant : HOSTNAME:local-virtual-device-ID pour les appareils virtuels locaux remote-virtual-ADDRESS-ID pour les appareils virtuels distants Les états sont soit Disponible ou Alloué. Un espace réservé à l'état Available (Disponible) indique que l'appareil virtuel n'est pas en cours d'exécution et peut être alloué au test.

Sélectionner des appareils virtuels

Figure 1 : Sélectionner des appareils virtuels

Ajouter des actions sur l'appareil

Si vous sélectionnez au moins un appareil virtuel, l'action associée doit automatiquement à la liste. L'action se compose des éléments Paramètres TradeFed et test des ressources pour créer des appareils virtuels.

Actions locales sur les appareils virtuels

Figure 2. Actions sur les appareils virtuels locaux

Actions sur les appareils virtuels distants

Figure 3. Actions sur les appareils virtuels distants

Définir les ressources de test

Les appareils virtuels Cuttlefish nécessitent trois ressources de test : la machine virtuelle les outils, les images et Acloud : Dans une version type de seiche (par exemple, aosp_cf_x86_64_phone activé ci.android.com ), les outils de machines virtuelles sont empaquetés dans cvd-host_package.tar.gz, et les images se trouvent dans aosp_cf_x86_64_phone-img-*.zip. Le binaire Acloud est construit dans OmniLab ATS et est compatible avec toutes les versions de Cuttlefish. La valeur par défaut L'URL de téléchargement du binaire Acloud n'a besoin d'être modifiée que pour le débogage objectifs.

Ressources de test d'appareils virtuels

Figure 4. Tester les ressources pour les appareils virtuels

Afficher les exécutions de test

Les journaux de l'appareil, y compris kernel.log, host_log.txt et launcher.log, sont collectées dans le dossier des fichiers de sortie. Cliquez sur Afficher les fichiers de sortie pour les consulter.

Résultats du test

Figure 5. Résultats du test