What happened:
A DataVolume created by DataVolume template in vm.yaml spec has transitioned quickly into Bound State instead of ImportScheduled state when multiple controllers act simultaneously on the PVC created by DataVolume.
What you expected to happen:
CDI deployment operator must retry and reconcile so that PVC/DataVolume moves into ImportSchedule state even when multiple controllers act on the PVC managed by CDI.
How to reproduce it (as minimally and precisely as possible):
- create a vm.yaml with DataVolumeTemplate
- This would created a DataVolume backed by PVC
- As soon as the PVC created another custom operator modifies/adds a custom annotiation to the PVC
- Now CDI logs the below error message
"error":"Operation cannot be fulfilled on datavolumes.cdi.kubevirt.io ... the object has been modified; please apply your changes to the latest version and try again"
- Finally PVC quickly transitioned into Bound state instead of ImportScheduled state.
Additional context:
Add any other context about the problem here.
Environment:
- CDI version (use
kubectl get deployments cdi-deployment -o yaml): v1.63.1
- Kubernetes version (use
kubectl version): 1.3.0
- DV specification:
- 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