-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.21, 4.22
-
None
-
None
-
False
-
-
None
-
Moderate
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
In heterogeneous cluster, the imagestreams managed by sample operator still use 'Legacy' importMode.
If we removed those imagetreams using sample operator, then add those imagestreams back again, the importMode will be update to use `PreserveOriginal`
The related feature is https://issues.redhat.com/browse/MULTIARCH-4971
But in heterogeneous hypershift cluster, even update imagestream using sample operator, the importMode still use 'Legacy'
Version-Release number of selected component (if applicable):
4.21.0-rc.2
How reproducible:
always
Steps to Reproduce:
1. Install a multi-arch ocp cluster or hypershift cluster
oc get clusterversion/version -ojsonpath='{.status.desired}' | jq .
{
"architecture": "Multi",
"image": "quay.io/openshift-release-dev/ocp-release@sha256:e94e043716f544ded4b830fd752c221a1f5b78fd317c9be023ec26bfc4182046",
"url": "https://access.redhat.com/errata/RHBA-2026:16017",
"version": "4.21.0-rc.2"
}
The ImageStreamImportMode feature is default enabled
oc get featuregate cluster -o jsonpath='{.status.featureGates[*].enabled}' | jq -r | grep -i "ImageStreamImportMode"
"name": "ImageStreamImportMode"
oc get image.config/cluster -ojsonpath='{.status}' | jq .
{
"imageStreamImportMode": "PreserveOriginal",
"internalRegistryHostname": "image-registry.openshift-image-registry.svc:5000"
}
2.Check the imagestream under openshift project that managed by sample operator.
The default `PreserveOriginal` imagestreams are not managed by sample operator.
oc get is -n openshift -o jsonpath="{..importPolicy.importMode}"
PreserveOriginal PreserveOriginal Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy PreserveOriginal PreserveOriginal Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy PreserveOriginal Legacy Legacy Legacy Legacy Legacy PreserveOriginal Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy PreserveOriginal Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy PreserveOriginal PreserveOriginal Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy Legacy
3.Update the imagestream using sample operator
oc patch config.sample/cluster -p '{"spec":{"managementState":"Removed"}}' --type=merge
config.samples.operator.openshift.io/cluster patched
oc patch config.sample/cluster -p '{"spec":{"managementState":"Managed"}}' --type=merge
config.samples.operator.openshift.io/cluster patched
sleep 30s
The imagestreams managed by samples operator are update to use PreserveOriginal in multiarch ocp cluster
oc get is -n openshift -o jsonpath="{..importPolicy.importMode}"
PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal PreserveOriginal
Actual results:
Expected results:
The import Mode should match the cluster architecture.
Additional info:
The imagestreams managed by sample operator are installed from
https://github.com/openshift/cluster-samples-operator/tree/main/assets/operator