containerized-data-importer
containerized-data-importer copied to clipboard
CDI errors out when the source PVC isn't found after a complete clone of Datavolume
What happened: After cloning a Datavolume from a PVC, CDI deployment logs show a lot of error messages about not finding the PVC.
What you expected to happen: CDI should ignore if PVC isn't found after a complete clone. It should ideally not check if the DV is in a good state.
How to reproduce it (as minimally and precisely as possible):
- Create a DataVolume backed by a PVC
- Delete the source PVC
- Check logs of cdi-deployment
Additional context: Add any other context about the problem here.
Environment:
- CDI version (use
kubectl get deployments cdi-deployment -o yaml
): 1.47.0 - Kubernetes version (use
kubectl version
): 1.21.0 - DV specification: N/A
- Cloud provider or hardware configuration: N/A
- OS (e.g. from /etc/os-release): N/A
- Kernel (e.g.
uname -a
): N/A - Install tools: N/A
- Others: N/A
So you are deleting the source PVC while the clone is ongoing? I am not entirely sure what you are doing.
Hey @awels, the source PVC is deleted after the clone is complete but CDI-deployment complains about not finding the source PVC.
Hmm yeah once the clone is complete we should not care about the source anymore. Let me investigate.
Okay I just tried this this (admittedly with main) and after I cloned the source PVC, and deleted it, it is not reporting anything in the logs. Basically I did the following:
- Create a source DV with this yaml
apiVersion: cdi.kubevirt.io/v1alpha1
kind: DataVolume
metadata:
namespace: "default"
name: cirros-dv
spec:
source:
http:
url: "https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img"
pvc:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block
volumeMode: Block
- Wait for it complete.
- Create a clone with this yaml
apiVersion: cdi.kubevirt.io/v1alpha1
kind: DataVolume
metadata:
namespace: "default"
name: cirros-fs-clone
spec:
source:
pvc:
namespace: default
name: cirros-dv
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
volumeMode: Filesystem
- Wait for that to complete.
- Delete the DV I created in step 1. and the logs shows it reconciling the deletion of the source and then nothing more.
What did I not do that reproduces your issue? Note I used rook-ceph storage class to create both block and filesystem PVCs
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten
.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close
.
/lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen
.
Mark the issue as fresh with /remove-lifecycle rotten
.
/close
@kubevirt-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity. Reopen the issue with
/reopen
. Mark the issue as fresh with/remove-lifecycle rotten
./close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.