Validación del sistema operativo invitado en vSphere usando Ansible
Empezando
Requisitos previos
- Instale Ansible en su máquina de control, consulte la instalación de Ansible
- Instale el motor OCR de código abierto Tesseract para extraer texto de capturas de pantalla, consulte la instalación de Tesseract
- Instale las bibliotecas de Python requeridas en los requisitos.txt
$ pip install -r requirements.txt
- Instale las colecciones Ansible requeridas con la última versión en requisitos.ML
$ ansible-galaxy install -r requirements.yml
- Inicie sesión en la máquina de control local como root o un usuario en sudoers, lo que debe habilitar NOPASSWD para todos los comandos
Pasos para lanzar pruebas
- Proyecto clon Git de GitHub a su espacio de trabajo en la máquina de control.
- Establezca los parámetros requeridos para probar en este archivo:
vars/test.yml . - Modifique los casos de prueba en el archivo de la lista de casos de prueba en la ruta predeterminada a continuación.
- Para pruebas de Linux:
linux/gosv_testcase_list.yml - Para pruebas de Windows:
windows/gosv_testcase_list.yml
- Inicie las pruebas utilizando los comandos a continuación desde la misma ruta 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"
- Se creará una nueva carpeta de registro para la ejecución de la prueba actual, que incluirá archivos de registro y archivos recopilados en casos de prueba, por ejemplo,
logs/test-vm/2021-07-06-09-27-51/ . Puede encontrar archivos de registro:
-
results.log que contiene información de prueba de prueba, información de VM y resultados del caso de prueba -
full_debug.log que contiene registros de depuración de pruebas -
failed_tasks.log que contiene registros de tareas fallidas -
known_issues.log que enumera los problemas conocidos se encuentran en la ejecución de la prueba actual
Catalogar
- Main.yml: Prueba de validación del sistema operativo invitado para invitados
- Ansible.cfg: archivo de configuración ANSible personalizado del usuario
- Autoinstall: Carpeta para el sistema operativo invitado Desactivar Archivos de configuración de instalación
- Común: carpeta para tareas comunes llamadas en casos de prueba
- Docs: carpeta para el archivo de guía y problemas conocidos
- Env_setup: carpeta para libros de jugadas o tareas que para preparar o limpiar el entorno de prueba
- Linux: carpeta para libros de jugadas para probar el sistema operativo invitado de Linux
- Windows: carpeta para los libros de jugadas para probar el sistema operativo invitado de Windows
- Plugin: carpeta para scripts de complemento
- Herramientas: carpeta para herramientas de terceros utilizadas en casos de prueba
- Vars: carpeta para archivos variables utilizados en las pruebas
- Changelogs: carpeta para ChangeLog de cada lanzamiento
Escenarios de prueba compatibles
Este proyecto admite los escenarios a continuación para pruebas de validación del sistema operativo invitado de extremo a extremo
- Implementar vm e instalar sistema operativo invitado desde la imagen ISO
- Implementar VM de una plantilla de OVA
- VM existente con el sistema operativo de invitados instalado, que debería satisfacer a continuación los requisitos.
- VM tiene solo un adaptador de red y el adaptador de red está conectado.
- SSH y Python están instalados y habilitados.
- La variable VM_Python en VAR/Test.yml debe establecerse con la ruta de Python correcta. O el usuario puede establecer ruta en /etc /entorno en el sistema operativo invitado para incluir la ruta del directorio binario a Python.
- El usuario root debe estar habilitado y permitido iniciar sesión a través de SSH en el sistema operativo de invitado de Linux.
- Ejecutar ConfigurerRemotingForansible.ps1 script en el sistema operativo invitado de Windows por adelantado.
Sistemas operativos de invitados compatibles
| Sistemas operativos de invitados | Instalación automática desde la imagen ISO | Desplegar a partir de la plantilla de OVA | VM existente con sistema operativo invitado instalado |
|---|
| 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 y más tarde | ✔️ | | ✔️ |
| VMware Photon OS 3.0, 4.0, 5.0 | ✔️ | ✔️ | ✔️ |
| Ubuntu 20.04 y más tarde | ✔️ | ✔️ | ✔️ |
| Flatcar 2592.0.0 y más tarde | | ✔️ | ✔️ |
| Debian 10.10 y más tarde, 11.x, 12.x | ✔️ | | ✔️ |
| Windows 10, 11 | ✔️ | | ✔️ |
| Windows Server 2019, 2022, 2025 | ✔️ | | ✔️ |
| UnionTech OS Server 20 1050a | ✔️ | | ✔️ |
| Servidor Fedora 36, estación de trabajo y más tarde | ✔️ | | ✔️ |
| Prolinux Server 7.9, 8.5 | ✔️ | | ✔️ |
| FreeBSD 13 y más tarde | ✔️ | | ✔️ |
| Servidor Pardus 21.2, escritorio XFCE y más tarde | ✔️ | | ✔️ |
| PARDUS 23.X SERVER, XFCE Desktop | ✔️ | | ✔️ |
| OpenSuse Leap 15.3 y más tarde | ✔️ | | ✔️ |
| Bclinux 8.x | ✔️ | | ✔️ |
| Bclinux-for-euler 21.10 | ✔️ | | ✔️ |
| Red Hat Enterprise Linux CoreOS (RHCOS) 4.13 y más tarde | | ✔️ | ✔️ |
| Fusionos 22 y 23 | ✔️ | | ✔️ |
| Miracle Linux 8.x, 9.x | ✔️ | | ✔️ |
| Kylin Linux Advanced Server V10 | ✔️ | | ✔️ |
Notas Esta lista de sistemas operativos invitados compatibles se utiliza solo para este proyecto. Para el estado de soporte del sistema operativo invitado en ESXI, consulte la Guía de compatibilidad de VMware.
Imágenes de Docker
- Último (versión v3.2):
- proyectos.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation: lateest
- Versión v3.2:
- proyectos.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:v3.2
Prueba de lanzamiento usando Docker Image
- Ejecutar los comandos a continuación en su máquina
$ 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
- Las pruebas de inicio en el contenedor iniciado después de los pasos de esta sección Pasos para iniciar pruebas