From 63f8d0845dc1dc40227f277c2a189ca94a655e80 Mon Sep 17 00:00:00 2001 From: Ryon Jensen Date: Wed, 1 Jul 2026 14:34:52 -0600 Subject: [PATCH] SRE-3775 build: Introduce Cluster Box Stages - The new "Cluster in a Box" stage is intended to be able to support testing that currently requires hardware resources to run. A Cluster in a Box is a KVM host that hosts VMs that have emulated NVMe and passthrough IB devices, so they appear more like HW systems. Signed-off-by: Ryon Jensen --- Jenkinsfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index add60a33443..5f26bbe5c0c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -175,6 +175,9 @@ pipeline { booleanParam(name: 'CI_large_md_on_ssd_TEST', defaultValue: true, description: 'Run the Functional Hardware Large MD on SSD test stage') + booleanParam(name: 'CI_cb_md_on_ssd_TEST', + defaultValue: true, + description: 'Run the Functional Cluster Box test stage') string(name: 'FUNCTIONAL_VM_LABEL', defaultValue: 'ci_vm9', description: 'Label to use for 9 VM functional tests') @@ -199,6 +202,9 @@ pipeline { string(name: 'FUNCTIONAL_HARDWARE_LARGE_MD_ON_SSD_LABEL', defaultValue: 'ci_nvme9', description: 'Label to use for the Functional Hardware Large MD on SSD stage') + string(name: 'FUNCTIONAL_CLUSTER_BOX_LABEL', + defaultValue: 'cluster_box', + description: 'Label to use for the Functional Cluster Box stages') string(name: 'CI_STORAGE_PREP_LABEL', defaultValue: '', description: 'Label for cluster to do a DAOS Storage Preparation') @@ -438,6 +444,20 @@ pipeline { run_if_landing: false, job_status: job_status_internal ), + 'Functional Cluster Box Medium MD on SSD': getFunctionalTestStage( + name: "Functional Cluster Box Medium MD on SSD", + pragma_suffix:'-cb-md-on-ssd', + base_branch: params.BaseBranch, + label: params.FUNCTIONAL_CLUSTER_BOX_LABEL, + next_version: params.BaseBranch,, + stage_tags: "cb,medium", + default_tags: isPr() ? 'always_passes' : 'pr daily_regression', + nvme: 'auto_md_on_ssd', + node_count: 5, + run_if_pr: true, + run_if_landing: false, + job_status: job_status_internal + ), ) } }