Description of problem: Created a Datavolume with storageclass "kubevirt-hostpath-provisioner". DV has proper annotation: kubevirt.io/provisionOnNode: <some-node> CDIConfig/config has "kubevirt-hostpath-provisioner" in scartchSpaceStorageClass field. Importer pod is in 'pending' stats - because the pvc "xxx-scratch" doesn't have the annotation: kubevirt.io/provisionOnNode : <some-node-as-above> Version-Release number of selected component (if applicable): 2.1.0 How reproducible: Steps to Reproduce: 1. Create a datavolume with storageclass: "kubevirt-hostpath-provisioner", and annotated with kubevirt.io/provisionOnNode 2. 3. Actual results: Expected results: When scratch space pvc <pvc-name-scratch> is created, then annotation kubevirt.io/provisionOnNode+value of pvc <pvc-name> should be copied to <pvc-name-scratch> annotations. Additional info: dv.yaml: apiVersion: cdi.kubevirt.io/v1alpha1 kind: DataVolume metadata: name: dv-rhel2 annotations: kubevirt.io/provisionOnNode: host-172-16-0-18 spec: source: http: #url: "http://cnv-qe-server.scl.lab.tlv.redhat.com/files/rhel-images/rhel-76/rhel-76.qcow2" #url: "https://dl.fedoraproject.org/pub/fedora/linux/releases/29/Cloud/x86_64/images/Fedora-Cloud-Base-29-1.2.x86_64.qcow2" url: "http://cnv-qe-server.scl.lab.tlv.redhat.com/files/cdi-test-images/cirros_images/cirros-0.4.0-x86_64-disk.qcow2.xz" pvc: storageClassName: "kubevirt-hostpath-provisioner" accessModes: - ReadWriteOnce resources: requests: storage: 20Gi -------------------------- $ oc describe pvc dv-rhel2 Name: dv-rhel2 Namespace: default StorageClass: kubevirt-hostpath-provisioner Status: Bound Volume: pvc-0e9a1ef0-c984-11e9-b5a4-fa163e99e52a Labels: app=containerized-data-importer cdi-controller=dv-rhel2 Annotations: cdi.kubevirt.io/storage.contentType: kubevirt cdi.kubevirt.io/storage.import.endpoint: http://cnv-qe-server.scl.lab.tlv.redhat.com/files/cdi-test-images/cirros_images/cirros-0.4.0-x86_64-disk.qcow2.xz cdi.kubevirt.io/storage.import.importPodName: importer-dv-rhel2-bpxzz cdi.kubevirt.io/storage.import.requiresScratch: true cdi.kubevirt.io/storage.import.source: http cdi.kubevirt.io/storage.pod.phase: Pending kubevirt.io/provisionOnNode: host-172-16-0-18 pv.kubernetes.io/bind-completed: yes pv.kubernetes.io/bound-by-controller: yes volume.beta.kubernetes.io/storage-provisioner: kubevirt.io/hostpath-provisioner Finalizers: [kubernetes.io/pvc-protection] Capacity: 20Gi Access Modes: RWO VolumeMode: Filesystem Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Provisioning 100m kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-998x6_4be0f02b-69a9-46bf-a11c-e47637c90c54 External provisioner is provisioning volume for claim "default/dv-rhel2" Normal Provisioning 100m kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-9mrhd_3b866f57-6067-48aa-ab11-9c4793cf9f13 External provisioner is provisioning volume for claim "default/dv-rhel2" Normal Provisioning 100m kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-qzfwt_2b2ec1b1-ac91-4a46-a31b-39ce0c5da590 External provisioner is provisioning volume for claim "default/dv-rhel2" Normal ProvisioningSucceeded 100m kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-qzfwt_2b2ec1b1-ac91-4a46-a31b-39ce0c5da590 Successfully provisioned volume pvc-0e9a1ef0-c984-11e9-b5a4-fa163e99e52a Normal Provisioning 100m kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-tdg99_a2d02a2c-f582-40dc-b4a4-6716184a6a3a External provisioner is provisioning volume for claim "default/dv-rhel2" Normal ExternalProvisioning 100m persistentvolume-controller waiting for a volume to be created, either by external provisioner "kubevirt.io/hostpath-provisioner" or manually created by system administrator Normal Provisioning 100m kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-xdqtw_c3268134-8c98-4b29-bd9d-96f90a3a2c24 External provisioner is provisioning volume for claim "default/dv-rhel2" Mounted By: importer-dv-rhel2-bpxzz --------------------------- $ oc describe pvc dv-rhel2-scratch Name: dv-rhel2-scratch Namespace: default StorageClass: kubevirt-hostpath-provisioner Status: Pending Volume: Labels: app=containerized-data-importer cdi-controller=importer-dv-rhel2-bpxzz cdi.kubevirt.io/storage.import.importPvcName=dv-rhel2 Annotations: volume.beta.kubernetes.io/storage-provisioner: kubevirt.io/hostpath-provisioner Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Provisioning 97s (x8 over 101m) kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-998x6_4be0f02b-69a9-46bf-a11c-e47637c90c54 External provisioner is provisioning volume for claim "default/dv-rhel2-scratch" Normal Provisioning 97s (x8 over 101m) kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-9mrhd_3b866f57-6067-48aa-ab11-9c4793cf9f13 External provisioner is provisioning volume for claim "default/dv-rhel2-scratch" Normal Provisioning 91s (x8 over 101m) kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-tdg99_a2d02a2c-f582-40dc-b4a4-6716184a6a3a External provisioner is provisioning volume for claim "default/dv-rhel2-scratch" Normal Provisioning 90s (x8 over 101m) kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-xdqtw_c3268134-8c98-4b29-bd9d-96f90a3a2c24 External provisioner is provisioning volume for claim "default/dv-rhel2-scratch" Normal Provisioning 84s (x8 over 101m) kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-h7rmt_c112ad1a-6576-446c-8d8b-2534e711dde4 External provisioner is provisioning volume for claim "default/dv-rhel2-scratch" Normal ExternalProvisioning 81s (x413 over 101m) persistentvolume-controller waiting for a volume to be created, either by external provisioner "kubevirt.io/hostpath-provisioner" or manually created by system administrator Normal Provisioning 4s (x8 over 101m) kubevirt.io/hostpath-provisioner_kubevirt-hostpath-provisioner-qzfwt_2b2ec1b1-ac91-4a46-a31b-39ce0c5da590 External provisioner is provisioning volume for claim "default/dv-rhel2-scratch" Mounted By: importer-dv-rhel2-bpxzz --------------------------------------------------------- $ oc describe pod importer-dv-rhel2-bpxzz Name: importer-dv-rhel2-bpxzz Namespace: default Priority: 0 PriorityClassName: <none> Node: <none> Labels: app=containerized-data-importer cdi.kubevirt.io=importer cdi.kubevirt.io/storage.import.importPvcName=dv-rhel2 prometheus.cdi.kubevirt.io= Annotations: cdi.kubevirt.io/storage.createdByController: yes Status: Pending IP: Controlled By: PersistentVolumeClaim/dv-rhel2 Containers: importer: Image: brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888/container-native-virtualization/virt-cdi-importer:v2.1.0-11 Port: 8443/TCP Host Port: 0/TCP Args: -v=1 Environment: IMPORTER_SOURCE: http IMPORTER_ENDPOINT: http://cnv-qe-server.scl.lab.tlv.redhat.com/files/cdi-test-images/cirros_images/cirros-0.4.0-x86_64-disk.qcow2.xz IMPORTER_CONTENTTYPE: kubevirt IMPORTER_IMAGE_SIZE: 20Gi OWNER_UID: 0e681fcc-c984-11e9-9c9d-fa163eecd1a4 INSECURE_TLS: false Mounts: /data from cdi-data-vol (rw) /scratch from cdi-scratch-vol (rw) /var/run/secrets/kubernetes.io/serviceaccount from default-token-wg7lr (ro) Conditions: Type Status PodScheduled False Volumes: cdi-data-vol: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: dv-rhel2 ReadOnly: false cdi-scratch-vol: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: dv-rhel2-scratch ReadOnly: false default-token-wg7lr: Type: Secret (a volume populated by a Secret) SecretName: default-token-wg7lr Optional: false QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 102m (x2 over 102m) default-scheduler persistentvolumeclaim "dv-rhel2-scratch" not found Warning FailedScheduling 2m38s (x68 over 102m) default-scheduler pod has unbound immediate PersistentVolumeClaims (repeated 3 times)
This is a known issue but we're no longer shipping the hostpath-provisioner with 2.1.0. Pushing out.
We will fix this properly in cnv-2.2.
Pending on the d/s test environment, so we can not verify this bug now.
Verified CNV 2.2
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, 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/RHEA-2020:0307