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

Add volume with too small of a disk fails with status code 400 and leaves resources behind

XMLWordPrintable

    • Quality / Stability / Reliability
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • CNV v4.19.0.rhel9-125
    • CNV Storage 270, CNV Storage 271, CNV Storage 272
    • None

      Description of problem:

      Doing a volume import of a qcow2 which is just over 6gb in size, but has a virtual size of 82gb.

      Customer assumed a 30gb volume would suffice.

      
      image: /Users/matthewrobson/img.qcow2
      file format: qcow2
      virtual size: 82 GiB (88046829568 bytes)
      disk size: 6.13 GiB
      cluster_size: 65536
      Format specific information:
          compat: 0.10
          compression type: zlib
          refcount bits: 16
      Child node '/file':
          filename: /Users/matthewrobson/img.qcow2
          protocol type: file
          file length: 6.11 GiB (6562447360 bytes)
          disk size: 6.13 GiB
      
      

      When the image uploaded finishes, all the UI shows is:

      An effor occurred
      Request failed with status code 400
      

      You look to look into the cdi-upload pod to fine the actual issue: Saving stream failed: virtual image size 88046829568 is larger than the reported available storage 32212254720. A larger PVC is required

      oc gI0305 23:20:31.893612       1 uploadserver.go:81] Running server on 0.0.0.0:8443
      I0305 23:20:34.039843       1 uploadserver.go:377] Content type header is ""
      I0305 23:20:34.068664       1 data-processor.go:348] Calculating available size
      I0305 23:20:34.070031       1 data-processor.go:356] Checking out block volume size.
      I0305 23:20:34.070044       1 data-processor.go:373] Target size 32212254720.
      I0305 23:20:34.070074       1 data-processor.go:247] New phase: TransferScratch
      I0305 23:20:34.070636       1 util.go:96] Writing data...
      I0305 23:29:13.009491       1 data-processor.go:247] New phase: ValidatePause
      I0305 23:29:13.009577       1 data-processor.go:253] Validating image
      E0305 23:29:13.017065       1 prlimit.go:156] failed to kill the process; os: process already finished
      E0305 23:29:13.017236       1 data-processor.go:243] virtual image size 88046829568 is larger than the reported available storage 32212254720. A larger PVC is required
      E0305 23:29:13.017253       1 uploadserver.go:390] Saving stream failed: virtual image size 88046829568 is larger than the reported available storage 32212254720. A larger PVC is required
      

      After this occurs, none of the resources are cleaned up.

      oc get pods
      NAME                                                    READY   STATUS    RESTARTS   AGE
      cdi-upload-prime-4825829b-d499-40ef-9e4d-c98f4ddeb38e   1/1     Running   0          27m
      
      oc get pvc
      NAME                                                 STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                                 VOLUMEATTRIBUTESCLASS   AGE
      img-test                                           Pending                                                                        ocs-storagecluster-ceph-rbd-virtualization   <unset>                 31m
      prime-4825829b-d499-40ef-9e4d-c98f4ddeb38e           Bound     pvc-6417c949-7fc9-4eeb-ace8-936cca651a6f   83Gi       RWX            ocs-storagecluster-ceph-rbd-virtualization   <unset>                 31m
      prime-4825829b-d499-40ef-9e4d-c98f4ddeb38e-scratch   Bound     pvc-b58b90cf-f9b6-4230-a618-14b42a02e82a   32Gi       RWO            ocs-storagecluster-ceph-rbd                  <unset>                 31m
      
      oc get pv
      NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                                STORAGECLASS                                 VOLUMEATTRIBUTESCLASS   REASON   AGE
      pvc-6417c949-7fc9-4eeb-ace8-936cca651a6f   83Gi       RWX            Delete           Bound    mrobson/prime-4825829b-d499-40ef-9e4d-c98f4ddeb38e                   ocs-storagecluster-ceph-rbd-virtualization   <unset>                          32m
      pvc-b58b90cf-f9b6-4230-a618-14b42a02e82a   32Gi       RWO            Delete           Bound    mrobson/prime-4825829b-d499-40ef-9e4d-c98f4ddeb38e-scratch           ocs-storagecluster-ceph-rbd                  <unset>                          32m
      
      oc get dv
      NAME         PHASE         PROGRESS   RESTARTS   AGE
      img-test   UploadReady   N/A                   32m
      

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

      4.17.5
      

      How reproducible:

      Always
      

      Steps to Reproduce:

      1) Upload an image with a PVC too small for the virtual size.
      
      

      Actual results:

      Fails with no info back to the customer
      Leaves resources behind
      

      Expected results:

      We should propogate the actual error into the UI
      We should cleanup the resources.
      

      Additional info:

      PVC resize doesn't help or move it forward.
      

              rh-ee-aaloni Adi Aloni
              rhn-support-mrobson Matt Robson
              Ahmad Hafi Ahmad Hafi
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated: