Validation du système d'exploitation des invités sur vSphere en utilisant ANIBLE
Commencer
Condition préalable
- Installez ANSIBLE sur votre machine de contrôle, veuillez vous référer à l'installation Ansible
- Installez le moteur OCR Open Source Tesseract pour extraire du texte de captures d'écran, veuillez vous référer à l'installation de Tesseract
- Installer les bibliothèques Python requises dans les exigences.txt
$ pip install -r requirements.txt
- Installer des collections ANSIBLES nécessaires avec la dernière version dans exigences.yml
$ ansible-galaxy install -r requirements.yml
- Connectez-vous à la machine de contrôle locale en tant que racine ou utilisateur dans Sudoers, qui doit activer NOPASSWD pour toutes les commandes
Étapes pour lancer des tests
- Git Clone Project de GitHub à votre espace de travail sur la machine de contrôle.
- Définissez les paramètres requis pour les tests dans ce fichier:
vars/test.yml . - Modifiez les cas de test dans le fichier de liste de cas de test dans le chemin par défaut ci-dessous.
- Pour les tests Linux:
linux/gosv_testcase_list.yml - Pour les tests Windows:
windows/gosv_testcase_list.yml
- Lancez les tests en utilisant des commandes ci-dessous à partir du même chemin de
main.yml .
# For Linux testing:
# you can use below command to use the default variables file "vars/test.yml",
# and default test case list file "linux/gosv_testcase_list.yml"
$ ansible-playbook main.yml
# For Linux or Windows testing:
# you can use below command to set the path of a customized variables file and
# test case list file
$ ansible-playbook main.yml -e "testing_vars_file=/path_to/test.yml testing_testcase_file=/path_to/gosv_testcase_list.yml"
- Un nouveau dossier de journal sera créé pour l'exécution du test actuel, qui inclura les fichiers journaux et les fichiers collectés dans les cas de test, par exemple,
logs/test-vm/2021-07-06-09-27-51/ . Vous pouvez trouver des fichiers journaux:
-
results.log qui contient des informations sur le banc d'essai, les informations VM et les résultats des cas d'essai -
full_debug.log qui contient des journaux de débogage de test -
failed_tasks.log qui contient des journaux de tâches ratées -
known_issues.log qui répertorie les problèmes connus se rencontrent dans le test actuel
Catalogue
- main.yml: livre de jeu principal pour le test de validation du système d'exploitation invité
- anible.cfg: Fichier de configuration ANNIBLIGNE personnalisé de l'utilisateur
- AutoInstall: Dossier pour le système d'exploitation invité
- Common: dossier pour les tâches communes appelées dans les cas de test
- Docs: dossier pour le fichier guide et les problèmes connus
- Env_setup: dossier pour les livres de jeu ou les tâches pour préparer ou nettoyer l'environnement des tests
- Linux: dossier pour PlayBooks pour tester le système d'exploitation invité Linux
- Windows: dossier pour les livres de jeu pour tester le système d'exploitation invité Windows
- Plugin: dossier pour les scripts du plugin
- Outils: dossier pour les outils tiers utilisés dans les cas de test
- VARS: dossier pour les fichiers variables utilisés dans les tests
- Changelogs: dossier pour les modifications de chaque version
Scénarios de test pris en charge
Ce projet prend en charge les scénarios ci-dessous pour les tests de validation du système d'exploitation de bout en bout
- Déployer la machine virtuelle et installer le système d'exploitation invité à partir de l'image ISO
- Déployer la machine virtuelle à partir d'un modèle OVA
- VM existante avec système d'exploitation invité installé, qui devrait satisfaire à des exigences inférieures.
- VM n'a qu'un seul adaptateur réseau et l'adaptateur réseau est connecté.
- SSH et Python sont installés et activés.
- La variable VM_PYTHON dans vars / test.yml doit être définie avec un chemin Python correct. Ou l'utilisateur peut définir le chemin / etc / environnement dans le système d'exploitation invité pour inclure le chemin du répertoire binaire vers Python.
- L'utilisateur racine doit être activé et autorisé à se connecter via SSH dans le système d'exploitation invité Linux.
- Exécutez ConfigurerMotingForansible.PS1 Script dans le système d'exploitation invité Windows à l'avance.
Systèmes d'exploitation invités compatibles
| Systèmes d'exploitation invités | Installation automatique à partir de l'image ISO | Déployer à partir du modèle OVA | VM existante avec système d'exploitation invité installé |
|---|
| Red Hat Enterprise Linux 7.x, 8.x, 9.x | ✔️ | | ✔️ |
| Centos 7.x, 8.x | ✔️ | | ✔️ |
| Centos Stream 8, 9, 10 | ✔️ | | ✔️ |
| Oracle Linux 7.x, 8.x, 9.x | ✔️ | | ✔️ |
| Rocky Linux 8.x, 9.x | ✔️ | | ✔️ |
| Almalinux 8.x, 9.x | ✔️ | | ✔️ |
| Suse Linux Enterprise 15 SP3 et plus tard | ✔️ | | ✔️ |
| VMware Photon OS 3.0, 4.0, 5.0 | ✔️ | ✔️ | ✔️ |
| Ubuntu 20.04 et plus tard | ✔️ | ✔️ | ✔️ |
| Flatcar 2592.0.0 et plus tard | | ✔️ | ✔️ |
| Debian 10.10 et plus tard, 11.x, 12.x | ✔️ | | ✔️ |
| Windows 10, 11 | ✔️ | | ✔️ |
| Windows Server 2019, 2022, 2025 | ✔️ | | ✔️ |
| Uniontech OS Server 20 1050A | ✔️ | | ✔️ |
| Serveur Fedora 36, poste de travail et plus tard | ✔️ | | ✔️ |
| Prolinux Server 7.9, 8.5 | ✔️ | | ✔️ |
| FreeBSD 13 et plus tard | ✔️ | | ✔️ |
| Serveur Pardus 21.2, bureau XFCE et plus tard | ✔️ | | ✔️ |
| Pardus 23.x Server, bureau XFCE | ✔️ | | ✔️ |
| OpenSUSE Leap 15.3 et plus tard | ✔️ | | ✔️ |
| Bclinux 8.x | ✔️ | | ✔️ |
| Bclinux-pour-Euler 21.10 | ✔️ | | ✔️ |
| Red Hat Enterprise Linux Coreos (RHCOS) 4.13 et plus tard | | ✔️ | ✔️ |
| Fusionos 22 et 23 | ✔️ | | ✔️ |
| Miracle Linux 8.x, 9.x | ✔️ | | ✔️ |
| Kylin Linux Advanced Server V10 | ✔️ | | ✔️ |
Remarque Cette liste de systèmes d'exploitation invités compatibles est utilisée uniquement pour ce projet. Pour l'état de support du système d'exploitation invité sur ESXi, veuillez vous référer au guide de compatibilité VMware.
Images docker
- Dernière (version v3.2):
- projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:Last
- Version v3.2:
- project.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:v3.2
Lancement de tests à l'aide de l'image Docker
- Exécutez les commandes ci-dessous dans votre machine
$ docker pull projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:latest
$ docker run -it --privileged projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:latest
- Lancez les tests dans le conteneur démarré en suivant les étapes de cette section étapes pour lancer des tests