Bug 2130509

Summary: Auto image import in failed state with data sources pointing to external manually-created PVC/DV
Product: Container Native Virtualization (CNV) Reporter: Alex Kalenyuk <akalenyu>
Component: StorageAssignee: Alexander Wels <awels>
Status: CLOSED ERRATA QA Contact: Yan Du <yadu>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.12.0CC: agilboa, dholler, fmatouschek, gouyang, yadu
Target Milestone: ---   
Target Release: 4.12.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virt-cdi-operator v4.12.0-55, CNV v4.12.0-636 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-01-24 13:41:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alex Kalenyuk 2022-09-28 12:11:33 UTC
Description of problem:
With DV GC on by default, we observe that auto image import DataImportCrons are in failed state when it's data sources are pointing to external manually-created PVC/DV (that may have been GC'd)

Version-Release number of selected component (if applicable):
CNV v4.12.0-542

How reproducible:
100%

Steps to Reproduce:
1. Deploy CNV bundle above with opt-in for auto image import
2.
3.

Actual results:
Some are failed

Expected results:
All crons up to date

Additional info:
[cloud-user@ocp-psi-executor ~]$ oc logs -n openshift-cnv cdi-deployment-6c8f697f96-z4jpw | grep "DataVolume not found"
{"level":"info","ts":1664294347.9625425,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"win2k19"}
{"level":"info","ts":1664294347.9626577,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"win11"}
{"level":"info","ts":1664294347.9628775,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"centos-stream8"}
{"level":"info","ts":1664294347.9629986,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"win2k16"}
{"level":"info","ts":1664294347.9631097,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"centos7"}
{"level":"info","ts":1664294347.9632173,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"fedora"}
{"level":"info","ts":1664294347.9633288,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"rhel6"}
{"level":"info","ts":1664294347.9634616,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"win2k12r2"}
{"level":"info","ts":1664294347.963603,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"win10"}
{"level":"info","ts":1664294347.9637187,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"centos-stream9"}
{"level":"info","ts":1664294347.9638362,"logger":"controller.dataimportcron-controller","msg":"DataVolume not found","name":"rhel7"}
[cloud-user@ocp-psi-executor ~]$ oc get dv -A 
NAMESPACE                            NAME                 PHASE       PROGRESS   RESTARTS   AGE
openshift-virtualization-os-images   rhel8-65e567156c9c   Succeeded   100.0%                22h
openshift-virtualization-os-images   rhel9-3b04a4ec7d05   Succeeded   100.0%                22h
[cloud-user@ocp-psi-executor ~]$ oc get dic -A
NAMESPACE                            NAME                        AGE
openshift-virtualization-os-images   centos-7-image-cron         22h
openshift-virtualization-os-images   centos-stream8-image-cron   22h
openshift-virtualization-os-images   centos-stream9-image-cron   22h
openshift-virtualization-os-images   fedora-image-cron           22h
openshift-virtualization-os-images   rhel8-image-cron            22h
openshift-virtualization-os-images   rhel9-image-cron            22h
[cloud-user@ocp-psi-executor ~]$ oc get dic -A -o yaml | grep "type: UpToDate" -B 1
      status: "False"
      type: UpToDate
--
      status: "False"
      type: UpToDate
--
      status: "False"
      type: UpToDate
--
      status: "False"
      type: UpToDate
--
      status: "True"
      type: UpToDate
--
      status: "True"
      type: UpToDate

Comment 1 Felix Matouschek 2022-09-29 09:46:00 UTC
The issue probably lies in the PSA of the cdi-source-update-poller, see [1].
Without digests added to the DICs their status will not be updated to reflect the succeeded import.

[1] https://github.com/kubevirt/containerized-data-importer/issues/2437

Comment 6 Yan Du 2022-10-27 09:25:19 UTC
Test on CNV v4.12.0-638, issue has been fixed

$ oc get dv
NAMESPACE                            NAME                          PHASE       PROGRESS   RESTARTS   AGE
openshift-virtualization-os-images   centos-stream8-2f16c067b974   Succeeded   100.0%                4h28m
openshift-virtualization-os-images   centos-stream9-202a14120f91   Succeeded   100.0%                4h28m
openshift-virtualization-os-images   centos7-680e9b4e0fba          Succeeded   100.0%                4h28m
openshift-virtualization-os-images   fedora-29b80ef738f9           Succeeded   100.0%                4h28m
openshift-virtualization-os-images   rhel8-904667801ad2            Succeeded   100.0%                4h28m
openshift-virtualization-os-images   rhel9-3b04a4ec7d05            Succeeded   100.0%                4h28m

Comment 10 errata-xmlrpc 2023-01-24 13:41:07 UTC
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.12.0 Images security 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:0408