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.
Installez les packages Debian sur l'hôte distant en suivant les étapes décrites dans la section Seiche > Lancez-vous.
Configurez le nombre maximal d'appareils virtuels sur l'hôte distant en procédant comme suit : en procédant comme suit:
- Modifiez
/etc/default/cuttlefish-host-resources
avec un droit racine. - Définissez
num_cvd_accounts
sur le nombre maximal d'appareils virtuels sur autoriser sur cet hôte. - Exécutez
sudo systemctl restart cuttlefish-host-resources
. - Exécutez
ifconfig
et vérifiez le nombre d'interfacescvd-wtap-*
.
- Modifiez
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:
- Pour générer une clé privée et une clé publique, exécutez
ssh-keygen
sur le Hôte ATS OmniLab - 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.
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.
Figure 2. Actions sur les appareils virtuels locaux
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.
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.
Figure 5. Résultats du test