-
Epic
-
Resolution: Unresolved
-
Major
-
CNV v4.19.0
-
cnv-self-validation-ui
-
Product / Portfolio Work
-
77
-
-
Green
-
In Progress
-
VIRTSTRAT-499 - OCP Virtualization self-certification package for Cloud providers
-
qe-ack, doc-ack, px-ack
-
-
50% To Do, 0% In Progress, 50% Done
-
dev-ready, doc-ready, po-ready, prodsec-ready, px-ready, qe-ready, ux-ready
-
Goal
As a part of the CNV self-validation package (formerly known as self-certification package), a new page under Virtualization–>checkups is required.
There should be a new tab alongside "Network latency" and "Storage", that will be named "Self Validation" (the exact name is TBD), from there the user will have:
- A button to install permissions (RBAC) for the service account that is running the job
- An input box requesting the job name, pre-populated with some generated name, e.g. ocp-virt-self-validation-random-words
- A text box to optionally add TEST_SUITES and TEST_SKIPS parameters, that will be injected into the job's env vars.
- A warning that executing this job can put the cluster under stress and should not be used in production environments.
Once the user clicks on "Run", the UI should:
- Create a PVC with the same name of the job
- Create a job that mounts the PVC created in step 1 onto `/results` path on the job pod.
- Note: the image of the job should be taken from the CNV CSV's relatedImages section.
- (e.g. brew.registry.redhat.io/rh-osbs/container-native-virtualization-ocp-virt-validation-checkup-rhel9:v4.99.0-27)
Once the job is finished, it will generate a config map with the summary of the results in yaml format. The UI should show the results in the results page.
Note: the generated config map will have the same name as the job.
In addition, when the job is completed (without an error), there should be a button named something like "view detailed results", that will generate:
- An nginx pod that mounts the same PVC from earlier step
- A service exposing that pod, port 8080
- A route targets this service
- more info about that can be found at: https://gitlab.cee.redhat.com/ocohen/cnv-unified-certification-package/-/blob/main/read-results.md?ref_type=heads
Once the resources have been created, put a link for the Route, which the user can click and get the detailed results and artifacts of the run.
User Stories
- High-Level goal-based user story, with context.
"As a <VM owner/cluster administrator>, I want <to Achieve Some Goal>, so that <Some Reason/Context>." - another user story
Non-Requirements
- List of things not included in this epic, to alleviate any doubt raised during the grooming process.
Notes
- This is an example of the generated config map after the job is completed, that should be put nicely in the UI page:
apiVersion: v1 data: self-validation-results: | network: tests_run: 6 tests_passed: 6 tests_failures: 0 tests_skipped: 1393 ssp: tests_run: 303 tests_passed: 264 tests_failures: 29 tests_skipped: 10 storage: tests_run: 15 tests_passed: 0 tests_failures: 15 tests_skipped: 1383 failed_tests: - '[virtctl] [sig-storage]Guestfs [rfe_id:6364]Run libguestfs on PVCs without root [posneg:positive][test_id:6479]Should successfully run guestfs command on a block-based PVC' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] Starting a VirtualMachineInstance with a DataVolume as a volume source Alpine import [test_id:3189]should be successfully started and stopped multiple times' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request [test_id:3193]with explicit role' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request [test_id:3194]with implicit role' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request [test_id:5253]with explicit role (all namespaces)' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request [test_id:5254]with explicit role (one namespace)' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request with explicit role snapshot clone' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request with implicit insufficient role snapshot clone' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request with implicit sufficient role snapshot clone' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request with explicit role (all namespaces) snapshot clone' - '[sig-storage] DataVolume Integration [rfe_id:3188][crit:high][vendor:cnv-qe@redhat.com][level:system] DataVolume clone permission checking using Alpine import/clone [storage-req] deny then allow clone request with explicit role (one namespace) snapshot clone' - '[sig-storage] Storage Starting a VirtualMachineInstance [rfe_id:3106][crit:medium][vendor:cnv-qe@redhat.com][level:component]with Alpine PVC should be successfully started [test_id:3130]with Disk PVC' - '[sig-storage] Storage Starting a VirtualMachineInstance [rfe_id:3106][crit:medium][vendor:cnv-qe@redhat.com][level:component]with Alpine PVC should be successfully started [test_id:3131]with CDRom PVC' - '[sig-storage] Storage Starting a VirtualMachineInstance [rfe_id:3106][crit:medium][vendor:cnv-qe@redhat.com][level:component]with Alpine PVC should be successfully started hostpath disk image file not owned by qemu' - '[sig-storage] Storage Starting a VirtualMachineInstance [rfe_id:3106][crit:medium][vendor:cnv-qe@redhat.com][level:component]With ephemeral alpine PVC should be successfully [test_id:3136]started with Ephemeral PVC' compute: tests_run: 28 tests_passed: 24 tests_failures: 4 tests_skipped: 1371 failed_tests: - '[rfe_id:1177][crit:medium][vendor:cnv-qe@redhat.com][level:component][sig-compute]VirtualMachine A valid VirtualMachine given [test_id:1521]should remove VirtualMachineInstance once the VM is marked for deletion [storage-req]with Filesystem Disk' - '[rfe_id:1177][crit:medium][vendor:cnv-qe@redhat.com][level:component][sig-compute]VirtualMachine [rfe_id:273]with oc/kubectl [release-blocker][test_id:299]should create VM via command line using all supported API versions with v1 api' - '[rfe_id:1177][crit:medium][vendor:cnv-qe@redhat.com][level:component][sig-compute]VirtualMachine [rfe_id:273]with oc/kubectl [release-blocker][test_id:299]should create VM via command line using all supported API versions with v1alpha3 api' - '[rfe_id:1177][crit:medium][vendor:cnv-qe@redhat.com][level:component][sig-compute]VirtualMachine [rfe_id:273]with oc/kubectl [test_id:264]should create and delete a VM' summary: total_tests_run: 352 total_tests_passed: 294 total_tests_failed: 48 status.completionTimestamp: "2025-03-27T10:34:12Z" status.startTimestamp: "2025-03-27T07:53:57Z" kind: ConfigMap metadata: creationTimestamp: "2025-03-27T10:34:13Z" labels: app: cnv-validation name: cnv-cert-results-20250327-095251 namespace: cnv-cert resourceVersion: "1375183" uid: f80b4200-5409-4d5e-945d-876918c28d43
- is related to
-
CNV-49615 TP: OCP Virtualization self-certification package for Cloud providers
-
- Closed
-
1.
|
upstream roadmap issue |
|
Closed | |
Unassigned |
2.
|
upstream design |
|
Closed | |
Unassigned |
3.
|
upstream documentation |
|
Closed | |
Unassigned |
4.
|
upgrade consideration |
|
Closed | |
Unassigned |
5.
|
CEE/PX summary presentation |
|
Closed | |
Unassigned |
6.
|
test plans in polarion |
|
Closed | |
Unassigned |
7.
|
automated tests |
|
Closed | |
Unassigned |
8.
|
downstream documentation merged |
|
Closed | |
Unassigned |