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

[RT Checkup] `spec.status` in checkup ConfigMap not updated when VM disk image is invalid

XMLWordPrintable

    • 0.42
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • ---
    • ---
    • No

      Description of problem:

      When the user specifies an invalid spec.param.vmUnderTestContainerDiskImage in the checkup's ConfigMap (or doesn't specify this parameter at all), the checkup is aborted with failure.
      In this case, no spec.status.* is updated in the ConfigMap. The user must check the job's pod log to see the failure reason.

      Version-Release number of selected component (if applicable):

      CNv 4.16.0
      kubevirt-realtime-checkup-rhel9:v4.16.0-120

      How reproducible:

      100%

      Steps to Reproduce:

      1.
      The cluster should be configured for RT checkup, including MCP, PerformanceProfile and permissions.
      If needed - follow the U/S instructions (D/S is not available yet) in https://github.com/kiagnose/kubevirt-realtime-checkup?tab=readme-ov-file#configuration
      
      2.
      Apply a RT checkup ConfigMap without specifying the traffic-gen VM and the VM under-test images:  apiVersion: v1
      kind: ConfigMap
      metadata:
        name: realtime-checkup-config
      data:
        spec.timeout: 10m
        spec.param.oslatDuration: 1m
      
      3. Start the job by applying the Job resource:  apiVersion: batch/v1
      
      kind: Job
      metadata:
        name: realtime-checkup
      spec:
        backoffLimit: 0
        template:
          spec:
            serviceAccountName: realtime-checkup-sa
            restartPolicy: Never
            containers:
              - name: realtime-checkup
                image: quay.io/kiagnose/kubevirt-realtime-checkup:main
                imagePullPolicy: Always
                securityContext:
                  allowPrivilegeEscalation: false
                  capabilities:
                    drop: [ "ALL" ]
                  runAsNonRoot: true
                  seccompProfile:
                    type: "RuntimeDefault"
                env:
                  - name: CONFIGMAP_NAMESPACE
                    value: yoss-ns
                  - name: CONFIGMAP_NAME
                    value: realtime-checkup-config
                  - name: POD_UID
                    valueFrom:
                      fieldRef:
                        fieldPath: metadata.uid 

      Actual results:

      No spec.status.* is updated in the ConfigMap, hence no clear failure indication to the user.

      Expected results:

      Reflect then failure via the ConfigMap's `spec.status.*` fields:
      
      spec.status.succeeded: "false"
      spec.status.failureReason: "invalid VM container disk image"

      Additional info:

      The user must check the job's pod log to see the failure reason:
      
      $ oc logs realtime-checkup-pzmkv 
      2024/04/10 13:01:58 kubevirt-realtime-checkup starting...
      2024/04/10 13:01:58 kubevirt-realtime-checkup failed: invalid VM container disk image 

       

              phoracek@redhat.com Petr Horacek
              ysegev@redhat.com Yossi Segev
              Yossi Segev Yossi Segev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: