Parent PRD
#585 (RFC: #586 — Phase 7)
What to build
Consolidate the 9 NeuVector pipeline jobs in qa-nv-jenkins-test.yml into a single parameterized Jenkinsfile — the 8 stubs in validation/neuvector/pipeline/allinone-pass/ plus validation/neuvector/pipeline/k8s-pass/automation_regression_k8s_pass. Each is a thin scripted pipeline that SSHes to an external execution server and invokes allinone_regression.sh (or the k8s-pass equivalent) with different scenario parameters.
Scope: allinone-pass/ (8 files) + the automation_regression_k8s_pass job. The 17 k8s-pass/ sanity scripts (automation_k8s130_*, automation_oc4*, automation_rke2_*) are out of scope — tracked in #792.
Files removed
validation/neuvector/pipeline/allinone-pass/Jenkinsfile.Neuvector_allinone_pass_regression (10 lines)
validation/neuvector/pipeline/allinone-pass/Jenkinsfile.nv_allinone_auto_01 … nv_allinone_auto_07 (10 lines each, 7 files)
validation/neuvector/pipeline/k8s-pass/automation_regression_k8s_pass (the 9th JJB job)
File created
validation/neuvector/pipeline/Jenkinsfile.neuvector — single Declarative Pipeline parameterized by the test scenario currently encoded in the filenames (e.g. a SCENARIO parameter mapped to the BUILD_TAG / DIR arguments passed to allinone_regression.sh).
Design
- Single parameterized pipeline replaces 9 jobs (8 allinone stubs + the k8s-pass regression job)
- Preserves the existing SSH-to-exec-server +
allinone_regression.sh invocation contract (no change to what runs, only to how it's triggered)
- Converts to Declarative Pipeline syntax where practical
- Consumes shared functions from qa-jenkins-library where applicable (likely minimal — these stubs are thin)
Relationship to #788
This slice is pipeline-file consolidation only. #788 covers a separate concern: the NeuVector Go test code is not airgap-compatible, and needs an airgap-capable pipeline built (which would be a new pipeline, not a consolidation of these 8 stubs). The two are related but independent — consolidating these stubs does not fix airgap compatibility, and airgap work does not require this consolidation.
Acceptance criteria
Out of scope
Blocked by
Parent PRD
#585 (RFC: #586 — Phase 7)
What to build
Consolidate the 9 NeuVector pipeline jobs in
qa-nv-jenkins-test.ymlinto a single parameterized Jenkinsfile — the 8 stubs invalidation/neuvector/pipeline/allinone-pass/plusvalidation/neuvector/pipeline/k8s-pass/automation_regression_k8s_pass. Each is a thin scripted pipeline that SSHes to an external execution server and invokesallinone_regression.sh(or the k8s-pass equivalent) with different scenario parameters.Scope:
allinone-pass/(8 files) + theautomation_regression_k8s_passjob. The 17k8s-pass/sanity scripts (automation_k8s130_*,automation_oc4*,automation_rke2_*) are out of scope — tracked in #792.Files removed
validation/neuvector/pipeline/allinone-pass/Jenkinsfile.Neuvector_allinone_pass_regression(10 lines)validation/neuvector/pipeline/allinone-pass/Jenkinsfile.nv_allinone_auto_01…nv_allinone_auto_07(10 lines each, 7 files)validation/neuvector/pipeline/k8s-pass/automation_regression_k8s_pass(the 9th JJB job)File created
validation/neuvector/pipeline/Jenkinsfile.neuvector— single Declarative Pipeline parameterized by the test scenario currently encoded in the filenames (e.g. aSCENARIOparameter mapped to theBUILD_TAG/DIRarguments passed toallinone_regression.sh).Design
allinone_regression.shinvocation contract (no change to what runs, only to how it's triggered)Relationship to #788
This slice is pipeline-file consolidation only. #788 covers a separate concern: the NeuVector Go test code is not airgap-compatible, and needs an airgap-capable pipeline built (which would be a new pipeline, not a consolidation of these 8 stubs). The two are related but independent — consolidating these stubs does not fix airgap compatibility, and airgap work does not require this consolidation.
Acceptance criteria
Jenkinsfile.neuvectorcreated (Declarative where practical)allinone_regression.shcontract preservedvalidation/deprecated/(Phase 10, Slice 5: Deprecation, cleanup, and pipeline documentation #593)rancherlabs/jenkins-job-builder(qa-nv-jenkins-test.yml) — the 9 jobs updated to point at the new pipeline (or collapsed into one parameterized job)Out of scope
k8s-pass/sanity scripts (automation_k8s130_*,automation_oc4*,automation_rke2_*) — tracked in Slice 8: Consolidate NeuVector k8s-pass sanity pipelines 17→1 (RFC Phase 7) #792 (each is its own JJB job; together with this slice they collapse the full NeuVector surface ~26 jobs → 1–2 files)Blocked by