{"id":28399501,"url":"https://github.com/opennebula/one-deploy-validation","last_synced_at":"2026-01-20T16:35:09.988Z","repository":{"id":294854435,"uuid":"954215515","full_name":"OpenNebula/one-deploy-validation","owner":"OpenNebula","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-25T08:09:01.000Z","size":77,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-25T09:24:53.093Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenNebula.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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,"zenodo":null}},"created_at":"2025-03-24T18:28:56.000Z","updated_at":"2025-06-25T08:09:07.000Z","dependencies_parsed_at":"2025-06-25T09:21:13.915Z","dependency_job_id":"e75a7e38-2de7-4308-98ed-410069189b9e","html_url":"https://github.com/OpenNebula/one-deploy-validation","commit_stats":null,"previous_names":["opennebula/one-deploy-validation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenNebula/one-deploy-validation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fone-deploy-validation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fone-deploy-validation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fone-deploy-validation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fone-deploy-validation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenNebula","download_url":"https://codeload.github.com/OpenNebula/one-deploy-validation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fone-deploy-validation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262502292,"owners_count":23321115,"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":[],"created_at":"2025-06-01T08:09:25.260Z","updated_at":"2026-01-20T16:35:09.970Z","avatar_url":"https://github.com/OpenNebula.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"[//]: # ( vim: set wrap : )\n\n# one-deploy-validation\n\nThis repository provides a toolset for automating the validation of an OpenNebula deployment.\n\n## Requirements\n\nWe recommend using Ubuntu 22.04 or 24.04 as the host OS, where the validation is initiated.\nThe following packages must be installed on the host:\n\n- `git`\n- `python3`\n- `python3-pip`\n- `python3-venv`\n- `make`\n\n## Environment Setup\n\n1. Clone the repository and move into its directory.  \n2. Create and activate a Python virtual environment:\n```shell\n   python3 -m venv .venv\n   source .venv/bin/activate\n```\n3. Install required tools inside the virtual environment:\n```shell\n   python -m pip install hatch uv\n```\n4. Install Ansible collections:\n```shell\nhatch env run -e validation-default -- ansible-galaxy collection install  -r requirements.yml -p ./collections\n```\n\nYou may also use alternative virtual environment managers (such as pipx).\nThe key principle is: do not modify or replace system-level Python and/or Ansible packages. Keep everything isolated inside your project environment.\n\n## Playbooks/Roles\n\nThe development of the tests should be structured in [playbooks](./playbooks/) and [roles](./roles/) directories, following Ansible.\nThe available test cases are briefly documented together with their key configuration parameters in [all.yml](./inventory/reference/group_vars/all.yml).\n\n## Inventory/Execution\n\n1. Inventories are kept in the [inventory](./inventory/) directory, please take a look at [example.yml](./inventory/reference/example.yml)\n\n2. Customize the configuration of the validation testcases by setting the enabler flags (`validation.run_*` booleans) in [all.yml](./inventory/reference/group_vars/all.yml). This file contains the recommended configuration that should be tested on most deployments. Always intend to enable all testcases that are relevant for the deployment (for example, if VM HA or FE HA are configured, enable those testcases as well). \nIf any testcase is disabled compared to the current [all.yml](./inventory/reference/group_vars/all.yml), please provide justification in addition to the generated HTML reports.\n\n3. To execute `ansible-playbook` you can run\n\n   ```shell\n   make I=inventory/reference/example.yml validation\n   ```\nEnsure that your Python virtual environment is activated before running the playbook.\n\n## Validation Results\n\nThe execution of the all the tests produces the following output files on the Ansible controller (e.g. laptop):\n\n- `/tmp/cloud_verification_report.html`\n- `/tmp/conn-matrix-report.html`\n- `/tmp/conn-matrix-raw-data.json`\n- `/tmp/fe_ha_report.html`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennebula%2Fone-deploy-validation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopennebula%2Fone-deploy-validation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennebula%2Fone-deploy-validation/lists"}