{"id":18512795,"url":"https://github.com/vmware/ansible-vsphere-gos-validation","last_synced_at":"2025-04-09T10:10:04.643Z","repository":{"id":37101319,"uuid":"350963338","full_name":"vmware/ansible-vsphere-gos-validation","owner":"vmware","description":"Guest OS validation test set for VMware vSphere using Ansible","archived":false,"fork":false,"pushed_at":"2025-03-26T06:36:52.000Z","size":11239,"stargazers_count":42,"open_issues_count":8,"forks_count":30,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-02T08:12:59.216Z","etag":null,"topics":["ansible","automation","os","testing","vmware-vsphere","vsphere"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmware.png","metadata":{"files":{"readme":"README.md","changelog":"changelogs/changelog.yml","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-24T05:59:12.000Z","updated_at":"2025-03-26T06:36:56.000Z","dependencies_parsed_at":"2024-01-12T03:27:30.542Z","dependency_job_id":"74871b08-4f9e-4fe0-86e0-ba5c9299f748","html_url":"https://github.com/vmware/ansible-vsphere-gos-validation","commit_stats":{"total_commits":463,"total_committers":11,"mean_commits":42.09090909090909,"dds":0.5809935205183585,"last_synced_commit":"18a8a65bb9b92b89ca7f69ad2ee6239af59eb0ef"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fansible-vsphere-gos-validation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fansible-vsphere-gos-validation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fansible-vsphere-gos-validation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fansible-vsphere-gos-validation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmware","download_url":"https://codeload.github.com/vmware/ansible-vsphere-gos-validation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248018061,"owners_count":21034048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","automation","os","testing","vmware-vsphere","vsphere"],"created_at":"2024-11-06T15:35:28.863Z","updated_at":"2025-04-09T10:10:04.584Z","avatar_url":"https://github.com/vmware.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Guest Operating System Validation on vSphere using Ansible\n\n## Getting Started\n\n### Prerequisites\n1. Install Ansible on your control machine, please refer to [Installing Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html)\n2. Install Tesseract Open Source OCR Engine for extracting text from screenshots, please refer to [Installing Tesseract](https://github.com/tesseract-ocr/tesseract?tab=readme-ov-file#installing-tesseract)\n3. Install required Python libraries in requirements.txt\n```\n$ pip install -r requirements.txt\n```\n4. Install required Ansible collections with latest version in requirements.yml\n```\n$ ansible-galaxy install -r requirements.yml\n```\n5. Log in to local control machine as root or a user in sudoers, which must enable NOPASSWD for all commands\n\n### Steps to Launch Testing\n1. Git clone project from github to your workspace on control machine.\n2. Set the parameters required for testing in this file: `vars/test.yml`.\n3. Modify the test cases in test case list file in below default path.\n   * For Linux testing: `linux/gosv_testcase_list.yml`\n   * For Windows testing: `windows/gosv_testcase_list.yml`\n4. Launch testing using below commands from the same path of `main.yml`.\n```\n  # For Linux testing:\n  # you can use below command to use the default variables file \"vars/test.yml\",\n  # and default test case list file \"linux/gosv_testcase_list.yml\"\n  $ ansible-playbook main.yml\n\n  # For Linux or Windows testing:\n  # you can use below command to set the path of a customized variables file and\n  # test case list file\n  $ ansible-playbook main.yml -e \"testing_vars_file=/path_to/test.yml testing_testcase_file=/path_to/gosv_testcase_list.yml\"\n```\n5. A new log folder will be created for current test run, which will include log files and files collected in test cases, e.g., `logs/test-vm/2021-07-06-09-27-51/`. You can find log files:\n  * `results.log` which contains testbed information, VM information and test case results\n  * `full_debug.log` which contains testing debug logs\n  * `failed_tasks.log` which contains failed tasks logs\n  * `known_issues.log` which lists known issues meet in current test run\n\n### Catalog\n* main.yml: Main playbook for guest operating system validation test\n* ansible.cfg: User customized Ansible configuration file\n* autoinstall: Folder for guest operating system unattend install configuration files\n* common: Folder for common tasks called in test cases\n* docs: Folder for guide file and known issues\n* env_setup: Folder for playbooks or tasks which to prepare or cleanup testing environment\n* linux: Folder for playbooks to test Linux guest operating system\n* windows: Folder for playbooks to test Windows guest operating system\n* plugin: Folder for plugin scripts\n* tools: Folder for 3rd-party tools used in test cases\n* vars: Folder for variable files used in testing\n* changelogs: Folder for changelog of each release \n\n### Supported Testing Scenarios\nThis project supports below scenarios for end-to-end guest operating system validation testing \n* Deploy VM and install guest operating system from ISO image\n* Deploy VM from an OVA template\n* Existing VM with installed guest operating system, which should satisfy below requirments.\n  * VM has only one network adapter and the network adapter is connected.\n  * SSH and Python are installed and enabled.\n  * The vm_python variable in vars/test.yml must be set with correct python path. Or user can set PATH in /etc/environment in guest operating system to include the binary directory path to python.\n  * The root user should be enabled and permitted to log in through SSH in Linux guest operating system.\n  * Execute [ConfigureRemotingForAnsible.ps1](https://github.com/ansible/ansible-documentation/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1) script in Windows guest operating system in advance.\n\n### Compatible Guest Operating Systems\n\n| Guest Operating Systems                                | Automatic Install from ISO Image | Deploy from OVA Template | Existing VM with Guest Operating System Installed |\n|:-------------------------------------------------------| :------------------------------: | :----------------------: | :--------------------------------: |\n| Red Hat Enterprise Linux 7.x, 8.x, 9.x                 | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| CentOS 7.x, 8.x                                        | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| CentOS Stream 8, 9, 10                                 | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Oracle Linux 7.x, 8.x, 9.x                             | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Rocky Linux 8.x, 9.x                                   | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| AlmaLinux 8.x, 9.x                                     | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| SUSE Linux Enterprise 15 SP3 ~ SP7                     | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| SUSE Linux Enterprise 16                               |                                  |                          | :heavy_check_mark:                 |\n| VMware Photon OS 3.0, 4.0, 5.0                         | :heavy_check_mark:               | :heavy_check_mark:       | :heavy_check_mark:                 |\n| Ubuntu 20.04 and later                                 | :heavy_check_mark:               | :heavy_check_mark:       | :heavy_check_mark:                 |\n| Flatcar 2592.0.0 and later                             |                                  | :heavy_check_mark:       | :heavy_check_mark:                 |\n| Debian 10.10 and later, 11.x, 12.x                     | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Windows 10, 11                                         | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Windows Server 2019, 2022, 2025                        | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| UnionTech OS Server 20 1050a                           | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Fedora 36 Server, Workstation and later                | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| ProLinux Server 7.9, 8.5                               | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| FreeBSD 13 and later                                   | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Pardus 21.2 Server,XFCE Desktop and later              | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Pardus 23.x Server,XFCE Desktop                        | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| openSUSE Leap 15.3 and later                           | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| BCLinux 8.x                                            | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| BCLinux-for-Euler 21.10                                | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Red Hat Enterprise Linux CoreOS (RHCOS) 4.13 and later |                                  | :heavy_check_mark:       | :heavy_check_mark:                 |\n| FusionOS 22 and 23                                     | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Miracle Linux 8.x, 9.x                                 | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n| Kylin Linux Advanced Server V10                        | :heavy_check_mark:               |                          | :heavy_check_mark:                 |\n\n**Notes**\nThis compatible guest operating systems list is used for this project only. For guest operating system support status on ESXi, please refer to [VMware Compatibility Guide](https://www.vmware.com/resources/compatibility/search.php?deviceCategory=software\u0026testConfig=16).\n\n### Docker images\n* Latest (Release v3.2):\n  * projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:latest\n* Release v3.2:\n  * projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:v3.2\n\nLaunch testing using Docker image\n1. Execute below commands in your machine\n```\n$ docker pull projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:latest\n$ docker run -it --privileged projects.packages.broadcom.com/gos_cert/ansible-vsphere-gos-validation:latest\n```\n2. Launch testing in the started container following the steps in this section [Steps to Launch Testing](#steps-to-launch-testing)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware%2Fansible-vsphere-gos-validation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmware%2Fansible-vsphere-gos-validation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware%2Fansible-vsphere-gos-validation/lists"}