Validierung des Gastbetriebssystems auf vSphere mit Ansible
Erste Schritte
Voraussetzungen
- Installieren Sie Ansible auf Ihrem Steuergerät. Weitere Informationen finden Sie in der Installation von Ansible
- Installieren Sie Tesseract Open Source OCR -Engine zum Extrahieren von Text aus Screenshots. Weitere Informationen finden Sie in Tesseract.
- Installieren Sie die erforderlichen Python -Bibliotheken in Anforderungen.txt
$ pip install -r requirements.txt
- Installieren Sie die erforderlichen Ansible -Sammlungen mit der neuesten Version in Anforderungen.yml
$ ansible-galaxy install -r requirements.yml
- Melden Sie sich als Root oder als Benutzer in Sudoers bei der lokalen Steuerungsmaschine an, die NopassWD für alle Befehle aktivieren müssen
Schritte zum Starten von Tests
- Git Clone Project von Github zu Ihrem Arbeitsbereich auf der Steuermaschine.
- Stellen Sie die für das Testen erforderlichen Parameter in dieser Datei fest:
vars/test.yml . - Ändern Sie die Testfälle in der Testfalllistendatei unter dem folgenden Standardpfad.
- Für Linux -Tests:
linux/gosv_testcase_list.yml - Für Windows -Tests:
windows/gosv_testcase_list.yml
- Starttests unter Verwendung der folgenden Befehle aus demselben Pfad von
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"
- Für den aktuellen Testlauf wird ein neuer Protokollordner erstellt, der Protokolldateien und Dateien enthalten, die in Testfällen, z. B.
logs/test-vm/2021-07-06-09-27-51/ gesammelt wurden, enthält. Sie können Protokolldateien finden:
-
results.log , das Testbett -Informationen, VM -Informationen und Testfallergebnisse enthält -
full_debug.log , das Testdebug -Protokolle enthält -
failed_tasks.log , das fehlgeschlagene Aufgabenprotokolle enthält -
known_issues.log , in dem bekannte Probleme auf dem aktuellen Testlauf erfüllen
Katalog
- Main.yml: Hauptspielbuch für den Gäste -Betriebssystem -Validierungstest
- Ansible.cfg: Benutzeranpassungsgepasste Ansible -Konfigurationsdatei
- autoInstall: Ordner für das Betriebssystem für Gast -Betriebskonfigurationen für das Gast -Betriebssystem
- Gemeinsam: Ordner für gemeinsame Aufgaben, die in Testfällen aufgerufen werden
- Dokumente: Ordner für Führungsdatei und bekannte Probleme
- ENV_SETUP: Ordner für Playbooks oder Aufgaben, die die Umgebung vorbereiten oder aufräumen können
- Linux: Ordner für Playbooks zum Testen von Linux -Gast -Betriebssystemen
- Windows: Ordner für Playbooks zum Testen von Windows -Gast -Betriebssystemen
- Plugin: Ordner für Plugin -Skripte
- Werkzeuge: Ordner für die in Testfälle verwendeten Tools von 3. Parteien
- VARS: Ordner für variable Dateien, die beim Testen verwendet werden
- ChangeLogs: Ordner für ChangeLog für jede Version
Unterstützte Testszenarien
Dieses Projekt unterstützt die folgenden Szenarien für End-to-End-Gäste-Betriebssystem-Validierungstests
- Stellen Sie VM bereit und installieren Sie das Gastbetriebssystem aus dem ISO -Bild
- Stellen Sie VM aus einer OVA -Vorlage ein
- Bestehender VM mit installiertem Gastbetriebssystem, das nach den Anforderungen erfüllt werden sollte.
- VM hat nur einen Netzwerkadapter und der Netzwerkadapter ist verbunden.
- SSH und Python sind installiert und aktiviert.
- Die VM_Python -Variable in vars/test.yml muss mit dem richtigen Python -Pfad festgelegt werden. Oder der Benutzer kann den Pfad in /etc /Umgebung im Gastbetriebssystem so festlegen, dass der Binärverzeichnispfad zu Python einbezieht.
- Der Root -Benutzer sollte aktiviert und im Linux -Gast -Betriebssystem über SSH anmelden.
- Führen Sie configurerEmotingForAanSible.ps1 -Skript im Windows -Gast -Betriebssystem im Voraus aus.
Kompatible Gastbetriebssysteme
| Gastbetriebssysteme | Automatische Installation vom ISO -Bild | Bereitstellen Sie eine OVA -Vorlage aus | Bestehende VM mit einem Gastbetriebssystem installiert |
|---|
| 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 und später | ✔️ | | ✔️ |
| VMware Photon OS 3.0, 4.0, 5.0 | ✔️ | ✔️ | ✔️ |
| Ubuntu 20.04 und später | ✔️ | ✔️ | ✔️ |
| Flatcar 2592.0.0 und später | | ✔️ | ✔️ |
| Debian 10.10 und später, 11.x, 12.x | ✔️ | | ✔️ |
| Windows 10, 11 | ✔️ | | ✔️ |
| Windows Server 2019, 2022, 2025 | ✔️ | | ✔️ |
| UnionTech OS Server 20 1050a | ✔️ | | ✔️ |
| Fedora 36 Server, Workstation und später | ✔️ | | ✔️ |
| Prolinux Server 7.9, 8.5 | ✔️ | | ✔️ |
| Freebsd 13 und später | ✔️ | | ✔️ |
| Pardus 21.2 Server, XFCE -Desktop und später | ✔️ | | ✔️ |
| Pardus 23.x Server, XFCE -Desktop | ✔️ | | ✔️ |
| OpenSuse -Sprung 15.3 und später | ✔️ | | ✔️ |
| Bclinux 8.x | ✔️ | | ✔️ |
| Bclinux-for-Euler 21.10 | ✔️ | | ✔️ |
| Red Hat Enterprise Linux Coreos (RHCOS) 4.13 und später | | ✔️ | ✔️ |
| Fusionos 22 und 23 | ✔️ | | ✔️ |
| Miracle Linux 8.x, 9.x | ✔️ | | ✔️ |
| Kylin Linux Advanced Server V10 | ✔️ | | ✔️ |
Hinweise Diese kompatible Gast -Betriebssystemliste wird nur für dieses Projekt verwendet. Weitere Informationen zum Unterstützung des Gastbetriebssystems bei ESXI finden Sie im VMware -Kompatibilitätshandbuch.
Dockerbilder
- Neueste (Release v3.2):
- projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:latest
- Release v3.2:
- projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:v3.2
Starten Sie Tests mit Docker Image
- Führen Sie die folgenden Befehle in Ihrem Computer aus
$ 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
- Starttests im begonnenen Container Befolgen Sie die Schritte in diesem Abschnittschritt zum Starten von Tests