Implement Ansible roles for Rocky Linux Testing Framework

- Added `bootstrap_sparrowdo` role for bootstrapping Sparrowdo on a VM.
- Introduced `cleanup_vm` role for cleaning up VMs and disk images.
- Created `download_image` role to download and cache QCOW2 images.
- Developed `golden_image` role for creating and customizing golden images.
- Implemented `provision_vm` role for provisioning VMs as linked clones.
- Added `run_test` role for executing tests with Sparrowdo.
- Created playbooks for building golden images, running single tests, and running test suites.
- Enhanced documentation with usage examples, configuration details, and troubleshooting tips.
- Added support for multiple cloud providers (AWS, Azure) in the test execution workflow.

Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
This commit is contained in:
Stephen Simpson
2025-12-29 16:02:39 -06:00
parent bb829c9b63
commit ec04f0bec5
46 changed files with 2005 additions and 2055 deletions

View File

@@ -0,0 +1,24 @@
---
- name: Ensure base images directory exists
file:
path: "{{ base_images_dir }}"
state: directory
mode: '0755'
become: true
- name: Set cached image path
set_fact:
cached_image_path: "{{ base_images_dir }}/{{ qcow2_url | basename }}"
- name: Download QCOW2 image
get_url:
url: "{{ qcow2_url }}"
dest: "{{ cached_image_path }}"
mode: '0644'
timeout: "{{ download_timeout }}"
force: "{{ force_download }}"
become: true
- name: Set image path fact
set_fact:
"{{ image_path_var }}": "{{ cached_image_path }}"