Description of problem: virtctl image-upload fails for WFFC storage: with --force-bind - should upload successfully without --force-bind - should report a proper error Version-Release number of selected component (if applicable): 4.14 How reproducible: Always Steps to Reproduce: 1. With --force-bind flag: $ virtctl image-upload dv cirros-dv-force-bind --image-path=./cirros-0.4.0-x86_64-disk.qcow2 --size=1Gi --storage-class=hostpath-csi-basic --insecure --force-bind PVC default/cirros-dv-force-bind not found DataVolume default/cirros-dv-force-bind created Waiting for PVC cirros-dv-force-bind upload pod to be ready... <GETS STUCK HERE FOR SOME TIME> timed out waiting for the condition $ oc get dv NAME PHASE PROGRESS RESTARTS AGE cirros-dv-force-bind PendingPopulation N/A 12m $ oc get dv cirros-dv-force-bind -oyaml apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: annotations: cdi.kubevirt.io/storage.bind.immediate.requested: "" cdi.kubevirt.io/storage.usePopulator: "true" 2. Without --force-bind flag: $ virtctl image-upload dv cirros-dv --image-path=./cirros-0.4.0-x86_64-disk.qcow2 --size=1Gi --storage-class=hostpath-csi-basic --insecure PVC default/cirros-dv not found DataVolume default/cirros-dv created Waiting for PVC cirros-dv upload pod to be ready... <GETS STUCK HERE FOR SOME TIME> timed out waiting for the condition $ oc get dv NAME PHASE PROGRESS RESTARTS AGE cirros-dv PendingPopulation N/A 13m $ oc get dv cirros-dv -oyaml apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: annotations: cdi.kubevirt.io/storage.usePopulator: "true" Expected results: virtctl image-upload with --force-bind flag - uploaded successfully virtctl image-upload without --force-bind flag - reported a proper error
Verified on CNV v4.14.0.rhel9-1259 CDI version: $ oc exec $(oc get pod -n openshift-cnv -l=cdi.kubevirt.io=cdi-apiserver --output=jsonpath='{$.items[0].metadata.name}') --namespace=openshift-cnv -- virt-cdi-apiserver --version Containerized Data Importer v1.57.0-rc1-2-g5a387edf5 With --force-bind: $ virtctl image-upload dv cirros-dv-force-bind --image-path=./cirros-0.4.0-x86_64-disk.qcow2 --size=1Gi --storage-class=hostpath-csi-basic --insecure --force-bind PVC default/cirros-dv-force-bind not found DataVolume default/cirros-dv-force-bind created Waiting for PVC cirros-dv-force-bind upload pod to be ready... Pod now ready Uploading data to https://cdi-uploadproxy-openshift-cnv.apps.c01-jp414.<link>.com 12.13 MiB / 12.13 MiB [======================================================================================================] 100.00% 0s Uploading data completed successfully, waiting for processing to complete, you can hit ctrl-c without interrupting the progress Processing completed successfully Uploading ./cirros-0.4.0-x86_64-disk.qcow2 completed successfully Without --force-bind: $ virtctl image-upload dv cirros-dv --image-path=./cirros-0.4.0-x86_64-disk.qcow2 --size=1Gi --storage-class=hostpath-csi-basic --insecure PVC default/cirros-dv not found DataVolume default/cirros-dv created Waiting for PVC cirros-dv upload pod to be ready... cannot upload to DataVolume in PendingPopulation phase, make sure the PVC is Bound, or use force-bind flag
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: OpenShift Virtualization 4.14.0 Images security and bug fix update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2023:6817