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

DEV: UI view for self-validation checkup

XMLWordPrintable

    • Product / Portfolio Work
    • 13
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • None

      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 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.
      • (A temporary location for that image is: quay.io/openshift-cnv/self-validation-package)

      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
       

              rh-ee-gkremer Gal Kremer
              mschatzm@redhat.com Matan Schatzman
              Guohua Ouyang Guohua Ouyang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: