From 596aea91c2f18a640db3b37a49818ab5d11e092e Mon Sep 17 00:00:00 2001 From: Aziz Ahmad Date: Thu, 17 Sep 2026 14:24:15 +0100 Subject: [PATCH 1/2] [ENH]: Add run_test role and related tasks --- os_builders/build.pkr.hcl | 9 ++++++++- os_builders/roles/run_test/tasks/main.yml | 2 ++ os_builders/roles/run_test/tasks/regression.yml | 0 os_builders/roles/run_test/tasks/stateful.yml | 0 os_builders/testing_os_images.yml | 5 +++++ 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 os_builders/roles/run_test/tasks/main.yml create mode 100644 os_builders/roles/run_test/tasks/regression.yml create mode 100644 os_builders/roles/run_test/tasks/stateful.yml create mode 100644 os_builders/testing_os_images.yml diff --git a/os_builders/build.pkr.hcl b/os_builders/build.pkr.hcl index ddd18de1..51711db1 100644 --- a/os_builders/build.pkr.hcl +++ b/os_builders/build.pkr.hcl @@ -49,7 +49,7 @@ source "openstack" "builder" { domain_name = "Default" flavor = "l3.imagecreate" security_groups = ["default"] - networks = ["${local.env_network_id}"] + networks = ["${local.env_network_id}"] image_visibility = "private" ssh_timeout = "20m" image_min_disk = "20" @@ -141,5 +141,12 @@ build { "--scp-extra-args", "'-O'", ] } + provisioner "ansible" { + user = "${build.User}" + playbook_file = "testing_os_images.yml" + extra_arguments = [ + "--scp-extra-args", "'-O'", + ] + } } diff --git a/os_builders/roles/run_test/tasks/main.yml b/os_builders/roles/run_test/tasks/main.yml new file mode 100644 index 00000000..1119b635 --- /dev/null +++ b/os_builders/roles/run_test/tasks/main.yml @@ -0,0 +1,2 @@ +- include_tasks: stateful.yml +- include_tasks: regression.yml \ No newline at end of file diff --git a/os_builders/roles/run_test/tasks/regression.yml b/os_builders/roles/run_test/tasks/regression.yml new file mode 100644 index 00000000..e69de29b diff --git a/os_builders/roles/run_test/tasks/stateful.yml b/os_builders/roles/run_test/tasks/stateful.yml new file mode 100644 index 00000000..e69de29b diff --git a/os_builders/testing_os_images.yml b/os_builders/testing_os_images.yml new file mode 100644 index 00000000..006433c7 --- /dev/null +++ b/os_builders/testing_os_images.yml @@ -0,0 +1,5 @@ +--- +- name: Run Tests On all STFC Cloud Images + hosts: all + roles: + - role: run_test From cfd6c17c41aaf5eff46ae99d700d013cabc7c625 Mon Sep 17 00:00:00 2001 From: David C <145467649+dev-0pz@users.noreply.github.com> Date: Fri, 25 Sep 2026 14:49:32 +0100 Subject: [PATCH 2/2] tests for checking hostname and users allowed on images --- os_builders/roles/run_test/tasks/regression.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/os_builders/roles/run_test/tasks/regression.yml b/os_builders/roles/run_test/tasks/regression.yml index e69de29b..97debf59 100644 --- a/os_builders/roles/run_test/tasks/regression.yml +++ b/os_builders/roles/run_test/tasks/regression.yml @@ -0,0 +1,12 @@ +- name: Check only root, rocky, ubuntu and cloud users exist + ansible.builtin.command: awk -F':' '($3 == 0 || $3 >= 1000) && $3 < 65534 && $1 !~ /^(root|rocky|ubuntu|cloud)$/ {print $1}' /etc/passwd + register: run_test_unexpected_users + changed_when: false + failed_when: run_test_unexpected_users.stdout != "" + + +- name: Check hostname is host-172-16-X-X.nubes.rl.ac.uk + ansible.builtin.command: hostname + register: run_test_hostname + changed_when: false + failed_when: run_test_hostname.stdout is not match('^host-172-16-[0-9]+-[0-9]+\.nubes\.rl\.ac\.uk$') \ No newline at end of file