-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
4.22
-
None
-
False
-
-
None
-
Moderate
-
None
-
None
-
None
-
Rejected
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
After upgrading a ClusterExtension from a deprecated bundle version (1.0.1) to a non-deprecated version (1.0.3), the deprecation-related conditions (Deprecated and BundleDeprecated) remain status: True with stale messages referencing the old deprecated version.
Version-Release number of selected component (if applicable):
xzha@xzha1-mac tests-extension % xzha@xzha1-mac tests-extension % oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.22.0-0.nightly-2026-03-09-103941 True False 91m Cluster version is 4.22.0-0.nightly-2026-03-09-103941
How reproducible:
always
Steps to Reproduce:
xzha@xzha1-mac OCP-73289 % cat catalog.yaml
apiVersion: olm.operatorframework.io/v1
kind: ClusterCatalog
metadata:
name: catalog-73289
labels:
example.com/support: "true"
test-cases: ocp-73289
spec:
priority: 1000
source:
type: Image
image:
ref: quay.io/olmqe/olmtest-operator-index:nginxolm73289
xzha@xzha1-mac OCP-73289 % opm render quay.io/olmqe/olmtest-operator-index:nginxolm73289 -o json | jq 'select(.schema == "olm.deprecations" and .package == "nginx73289v1")'
{
"schema": "olm.deprecations",
"package": "nginx73289v1",
"entries": [
{
"reference": {
"schema": "olm.bundle",
"name": "nginx73289v1.v1.0.1"
},
"message": "nginx73289v1.v1.0.1 is deprecated. Uninstall and install v1.0.3 for support."
}
]
}
1. Create a ClusterExtension with a deprecated bundle:
apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
name: extension-73289
spec:
namespace: ns-73289
serviceAccount:
name: test-73289
progressDeadlineMinutes: 10
source:
sourceType: Catalog
catalog:
packageName: nginx73289v1
channel: candidate-v1.0
version: "1.0.1" # deprecated version
upgradeConstraintPolicy: CatalogProvided
2. Apply the ClusterExtension:
oc apply -f extension.yaml
3. Verify deprecation conditions are set:
oc get clusterextension extension-73289 -o jsonpath='{.status.conditions[?(@.type=="Deprecated")]}'
Result:
{
"type": "Deprecated",
"status": "True",
"reason": "Deprecated",
"message": "nginx73289v1.v1.0.1 is deprecated. Uninstall and install v1.0.3 for support."
}
4. Upgrade to non-deprecated version:
oc patch ClusterExtension extension-73289 -p '{"spec":{"source":{"catalog":{"version":"1.0.3"}}}}' --type=merge
5. Verify the installed bundle is upgraded:
oc get clusterextension extension-73289 -o jsonpath='{.status.install.bundle}'
Result:
{
"name": "nginx73289v1.v1.0.3",
"version": "1.0.3"
}
6. Check deprecation conditions again:
oc get clusterextension extension-73289 -o jsonpath='{.status.conditions}' | jq '.[] | select(.type | test("Deprecated"))'
{
"lastTransitionTime": "2026-03-10T02:23:18Z",
"message": "nginx73289v1.v1.0.1 is deprecated. Uninstall and install v1.0.3 for support.",
"observedGeneration": 2,
"reason": "Deprecated",
"status": "True",
"type": "Deprecated"
}
{
"lastTransitionTime": "2026-03-10T02:23:18Z",
"message": "nginx73289v1.v1.0.1 is deprecated. Uninstall and install v1.0.3 for support.",
"observedGeneration": 2,
"reason": "Deprecated",
"status": "True",
"type": "BundleDeprecated"
}
Actual results:
After upgrading to the non-deprecated version 1.0.3, the deprecation conditions remain unchanged
Expected results:
After upgrading to a non-deprecated bundle, the deprecation conditions should be updated - lastTransitionTime: "2026-03-10T02:38:55Z" message: not deprecated observedGeneration: 1 reason: NotDeprecated status: "False" type: Deprecated - lastTransitionTime: "2026-03-10T02:38:57Z" message: bundle not deprecated observedGeneration: 1 reason: NotDeprecated status: "False" type: BundleDeprecated
Additional info: