-
Bug
-
Resolution: Unresolved
-
Major
-
CNV v4.21.0, CNV v4.21.z
-
None
-
Product / Portfolio Work
-
0.42
-
False
-
-
False
-
None
-
-
None
Test
Component: ocp-virt-validation-checkup
Test Suite: storage (sig-storage conformance tests)
Affected Tests: VMExport, virt-export functionality tests
Repository: https://github.com/openshift-cnv/ocp-virt-validation-checkup
Issue
When REGISTRY_SERVER environment variable is configured to redirect image pulls to a mirror registry in disconnected environments, the virt-exportserver image used by KubeVirt storage tests continues to be pulled from registry.redhat.io instead of the configured mirror registry.
This violates the documented behavior in README.md:
The REGISTRY_SERVER environment variable allows you to specify a custom mirror registry that replaces the default public registries (registry.redhat.io, quay.io, ghcr.io) used by the validation checkup.
Root Cause
The virt-exportserver image is created dynamically by KubeVirt's virt-operator during test execution, not by the validation checkup scripts. The current implementation only redirects images explicitly specified in test parameters via -utility-container-prefix parameter in test-kubevirt.sh (line 219).
Images created by KubeVirt operator internals have hardcoded references to registry.redhat.io and are not intercepted by the REGISTRY_SERVER parameter.
Evidence
Pod Events from Failing Test:
Type: Warning, Reason: Failed Message: Failed to pull image "registry.redhat.io/container-native-virtualization/virt-exportserver-rhel9@sha256:3758bd18e10a6aceece5ab66c0c7f6d6dc852bcc7749c9555fda3fcb3b7cc3db": unable to pull image or OCI artifact: pull image err: initializing source docker://registry.redhat.io/container-native-virtualization/virt-exportserver-rhel9@sha256:...: registry registry.redhat.io is blocked in /etc/containers/registries.conf
Test Execution Flow:
- REGISTRY_SERVER set to mirror registry (e.g., my-mirror-registry.example.com:8443)
- virt-exportserver image mirrored to local registry
- External registries blocked at network/cluster level
- Storage tests execute
- virt-export tests begin (part of sig-storage conformance)
- Pod creation fails with ImagePullBackOff
- Test hangs or fails due to missing virt-exportserver image
Impact
Frequency: Always (100% reproducible when REGISTRY_SERVER is used with blocked external registries)
Severity: High - Blocks full validation checkup in disconnected environments
Affected Users: Organizations running OpenShift Virtualization in air-gapped clusters