Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-59284

UI view for self-validation checkup

XMLWordPrintable

    • cnv-self-validation-ui
    • Product / Portfolio Work
    • 77
    • Hide
      1. Ability to execute the validation checkup job from a dedicated tab page accessible from the checkups menu
      2. Ability to set parameters to tweak the test suite
      3. Show the checkup results summary upon completion
      4. Create the resources required to observe the results on an nginx webserver
      Show
      Ability to execute the validation checkup job from a dedicated tab page accessible from the checkups menu Ability to set parameters to tweak the test suite Show the checkup results summary upon completion Create the resources required to observe the results on an nginx webserver
    • Green
    • In Progress
    • VIRTSTRAT-499 - OCP Virtualization self-certification package for Cloud providers
    • qe-ack, doc-ack, px-ack
    • VIRTSTRAT-499OCP Virtualization self-certification package for Cloud providers
    • 50% To Do, 0% In Progress, 50% Done
    • dev-ready, doc-ready, po-ready, prodsec-ready, px-ready, qe-ready, ux-ready
    • Hide

      2025-07-28:
      TODO...

      Show
      2025-07-28: TODO...

      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:

      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
       

          1.
          upstream roadmap issue Sub-task Closed Normal Unassigned
          2.
          upstream design Sub-task Closed Normal Unassigned
          3.
          upstream documentation Sub-task Closed Normal Unassigned
          4.
          upgrade consideration Sub-task Closed Normal Unassigned
          5.
          CEE/PX summary presentation Sub-task Closed Normal Unassigned
          6.
          test plans in polarion Sub-task Closed Normal Unassigned
          7.
          automated tests Sub-task Closed Normal Unassigned
          8.
          downstream documentation merged Sub-task Closed Normal Unassigned

              mschatzm@redhat.com Matan Schatzman
              ocohen@redhat.com Oren Cohen
              Guohua Ouyang Guohua Ouyang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: