Skip to content

OCPQE-31607: update 43101 for FIPS enabled cluster#1249

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
jianzhangbjz:43101-fips
Mar 5, 2026
Merged

OCPQE-31607: update 43101 for FIPS enabled cluster#1249
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
jianzhangbjz:43101-fips

Conversation

@jianzhangbjz
Copy link
Copy Markdown
Contributor

Since OCP 4.22, the image quay.io/olmqe/etcd-index:upgrade-fips crashes on FIPS-enabled clusters. This branch builds learn-operator as a replacement to address the following issue:

I0224 06:10:40.865139 18921 helper.go:182] $oc get [pods -n e2e-test-default-bmvjr], the returned resource:
NAME                                                              READY   STATUS             RESTARTS        AGE
4c2751e06cfee1334210e29dd8e63541fed8c640915ec9e43ba52ad9bcbbh4r   0/1     Completed          0               6m10s
9b63e17ede664f0c63f58facb12bb59eadd0765dcb7d57a97a038f9f9e2wnhl   0/1     Completed          0               5m11s
cs-43101-qndcl                                                    1/1     Running            0               7m12s
etcd-operator-5644d6896d-f2d7h                                    2/3     CrashLoopBackOff   5 (2m37s ago)   5m33s 

Please refer to https://github.com/jianzhangbjz/learn-operator/blob/OCP-43101/README.md for the detailed steps to build this quay.io/olmqe/learn-operator-index:v25-43101.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 5, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 5, 2026

@jianzhangbjz: This pull request references OCPQE-31607 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Since OCP 4.22, the image quay.io/olmqe/etcd-index:upgrade-fips crashes on FIPS-enabled clusters. This branch builds learn-operator as a replacement to address the following issue:

I0224 06:10:40.865139 18921 helper.go:182] $oc get [pods -n e2e-test-default-bmvjr], the returned resource:
NAME                                                              READY   STATUS             RESTARTS        AGE
4c2751e06cfee1334210e29dd8e63541fed8c640915ec9e43ba52ad9bcbbh4r   0/1     Completed          0               6m10s
9b63e17ede664f0c63f58facb12bb59eadd0765dcb7d57a97a038f9f9e2wnhl   0/1     Completed          0               5m11s
cs-43101-qndcl                                                    1/1     Running            0               7m12s
etcd-operator-5644d6896d-f2d7h                                    2/3     CrashLoopBackOff   5 (2m37s ago)   5m33s 

Please refer to https://github.com/jianzhangbjz/learn-operator/blob/OCP-43101/README.md for the detailed steps to build this quay.io/olmqe/learn-operator-index:v25-43101.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested review from joelanford and tmshort March 5, 2026 06:57
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 5, 2026
@jianzhangbjz
Copy link
Copy Markdown
Contributor Author

Test passed.

jiazha-mac:tests-extension jiazha$ ./bin/olmv0-tests-ext run-test "[sig-operator][Jira:OLM] OLMv0 optional should PolarionID:43101-[OTP][Skipped:Disconnected]OLM blocks minor OpenShift upgrades when incompatible optional operators are installed"
  I0305 14:46:46.122043 90782 test_context.go:566] The --provider flag is not set. Continuing as if --provider=skeleton had been used.
  Running Suite:  - /Users/jiazha/goproject/operator-framework-olm/tests-extension
  ================================================================================
  Random Seed: 1772693206 - will randomize all specs

  Will run 1 of 1 specs
  ------------------------------
  [sig-operator][Jira:OLM] OLMv0 optional should PolarionID:43101-[OTP][Skipped:Disconnected]OLM blocks minor OpenShift upgrades when incompatible optional operators are installed
  /Users/jiazha/goproject/operator-framework-olm/tests-extension/test/qe/specs/olmv0_defaultoption.go:1976
    STEP: Creating a kubernetes client @ 03/05/26 14:46:46.122
  I0305 14:46:51.126668 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig explain template.apiVersion'
  I0305 14:46:53.144643 90782 client.go:349] do not know if it is external oidc cluster or not, and try to check it again
  I0305 14:46:53.145002 90782 client.go:820] showInfo is true
  I0305 14:46:53.145046 90782 client.go:821] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get authentication/cluster -o=jsonpath={.spec.type}'
  I0305 14:46:54.355622 90782 clusters.go:572] Found authentication type used: 
  I0305 14:46:57.669364 90782 client.go:200] configPath is now "/var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/configfile3135300727"
  I0305 14:46:57.669397 90782 client.go:363] The user is now "e2e-test-default-fb8c6-user"
  I0305 14:46:57.669404 90782 client.go:366] Creating project "e2e-test-default-fb8c6"
  I0305 14:46:58.016134 90782 client.go:375] Waiting on permissions in project "e2e-test-default-fb8c6" ...
  I0305 14:46:59.097298 90782 client.go:436] Waiting for ServiceAccount "default" to be provisioned...
  I0305 14:46:59.472426 90782 client.go:436] Waiting for ServiceAccount "builder" to be provisioned...
  I0305 14:47:00.096114 90782 client.go:436] Waiting for ServiceAccount "deployer" to be provisioned...
  I0305 14:47:00.470732 90782 client.go:446] Waiting for RoleBinding "system:image-builders" to be provisioned...
  I0305 14:47:01.014863 90782 client.go:446] Waiting for RoleBinding "system:deployers" to be provisioned...
  I0305 14:47:01.287818 90782 client.go:446] Waiting for RoleBinding "system:image-pullers" to be provisioned...
  I0305 14:47:01.831492 90782 client.go:477] Project "e2e-test-default-fb8c6" has been fully provisioned.
  I0305 14:47:02.100626 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get nodes -o=jsonpath={.items[*].status.nodeInfo.architecture}'
    STEP: 1, create a random project @ 03/05/26 14:47:04.123
  I0305 14:47:04.123766 90782 client.go:349] do not know if it is external oidc cluster or not, and try to check it again
  I0305 14:47:04.124157 90782 client.go:820] showInfo is true
  I0305 14:47:04.124222 90782 client.go:821] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get authentication/cluster -o=jsonpath={.spec.type}'
  I0305 14:47:05.316176 90782 clusters.go:572] Found authentication type used: 
  I0305 14:47:06.982358 90782 client.go:200] configPath is now "/var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/configfile1257583507"
  I0305 14:47:06.982455 90782 client.go:363] The user is now "e2e-test-default-gk4sx-user"
  I0305 14:47:06.982472 90782 client.go:366] Creating project "e2e-test-default-gk4sx"
  I0305 14:47:07.339131 90782 client.go:375] Waiting on permissions in project "e2e-test-default-gk4sx" ...
  I0305 14:47:08.416825 90782 client.go:436] Waiting for ServiceAccount "default" to be provisioned...
  I0305 14:47:08.792413 90782 client.go:436] Waiting for ServiceAccount "builder" to be provisioned...
  I0305 14:47:09.167738 90782 client.go:436] Waiting for ServiceAccount "deployer" to be provisioned...
  I0305 14:47:09.544123 90782 client.go:446] Waiting for RoleBinding "system:image-builders" to be provisioned...
  I0305 14:47:10.083489 90782 client.go:446] Waiting for RoleBinding "system:deployers" to be provisioned...
  I0305 14:47:10.625586 90782 client.go:446] Waiting for RoleBinding "system:image-pullers" to be provisioned...
  I0305 14:47:11.175234 90782 client.go:477] Project "e2e-test-default-gk4sx" has been fully provisioned.
    STEP: 1-1, create a CatalogSource in this random project @ 03/05/26 14:47:11.175
  I0305 14:47:11.197886 90782 catalog_source.go:50] set interval to be 10m0s
  I0305 14:47:14.199719 90782 client.go:761] Running 'oc --namespace=e2e-test-default-gk4sx --kubeconfig=/Users/jiazha/fips-kubeconfig process --ignore-unknown-parameters=true -f /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/fixture-testdata-dir816910258/test/qe/testdata/olm/catalogsource-opm.yaml -p NAME=cs-43101 NAMESPACE=e2e-test-default-gk4sx ADDRESS=quay.io/olmqe/learn-operator-index:v25-43101 SECRET= DISPLAYNAME="OLM QE Operators" PUBLISHER="Jian" SOURCETYPE=grpc INTERVAL=10m0s IMAGETEMPLATE=""'
  I0305 14:47:15.428191 90782 helper.go:102] the file of resource is /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/e2e-test-default-gk4sx-fed2c6e4olm-config.json
  I0305 14:47:15.428490 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig apply -f /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/e2e-test-default-gk4sx-fed2c6e4olm-config.json'
  catalogsource.operators.coreos.com/cs-43101 created
  I0305 14:47:17.210494 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get infrastructures.config.openshift.io cluster -o=jsonpath={.status.controlPlaneTopology}'
  I0305 14:47:19.030262 90782 clusters.go:464] topology is HighlyAvailable
  I0305 14:47:19.030572 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get configmaps -n openshift-kube-apiserver config -o=jsonpath={.data.config\.yaml}'
  I0305 14:47:20.859381 90782 catalog_source.go:109] pod-security.kubernetes.io/enforce is restricted
  I0305 14:47:20.859693 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx -o=jsonpath={.spec.grpcPodConfig.securityContextConfig}'
  I0305 14:47:22.037337 90782 catalog_source.go:115] spec.grpcPodConfig.securityContextConfig is 
  I0305 14:47:22.037471 90782 catalog_source.go:118] set spec.grpcPodConfig.securityContextConfig to be restricted
  I0305 14:47:22.037686 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig patch catsrc cs-43101 -n e2e-test-default-gk4sx --type=merge -p {"spec":{"grpcPodConfig":{"securityContextConfig":"restricted"}}}'
  catalogsource.operators.coreos.com/cs-43101 patched
  I0305 14:47:23.503397 90782 catalog_source.go:74] create catsrc cs-43101 SUCCESS
  I0305 14:47:23.503473 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) catsrc cs-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status..lastObservedState}
  I0305 14:47:26.508920 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status..lastObservedState}'
  I0305 14:47:27.718235 90782 helper.go:247] ---> we do expect value: READY, in returned value: TRANSIENT_FAILURE
  I0305 14:47:27.718384 90782 helper.go:264] ---> Not as expected! Return false
  I0305 14:47:29.505304 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status..lastObservedState}'
  I0305 14:47:30.709790 90782 helper.go:247] ---> we do expect value: READY, in returned value: TRANSIENT_FAILURE
  I0305 14:47:30.709852 90782 helper.go:264] ---> Not as expected! Return false
  I0305 14:47:32.508762 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status..lastObservedState}'
  I0305 14:47:34.049560 90782 helper.go:247] ---> we do expect value: READY, in returned value: TRANSIENT_FAILURE
  I0305 14:47:34.049659 90782 helper.go:264] ---> Not as expected! Return false
  I0305 14:47:35.505361 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status..lastObservedState}'
  I0305 14:47:36.695740 90782 helper.go:247] ---> we do expect value: READY, in returned value: READY
  I0305 14:47:36.695802 90782 helper.go:249] the output READY matches one of the content READY, expected
    STEP: 2, install the OperatorGroup in that random project @ 03/05/26 14:47:36.695
  I0305 14:47:36.696003 90782 client.go:761] Running 'oc --namespace=e2e-test-default-gk4sx --kubeconfig=/Users/jiazha/fips-kubeconfig get operatorgroup'
  I0305 14:47:37.880847 90782 og.go:42] No operatorgroup in project: e2e-test-default-gk4sx, create one: og-43101
  I0305 14:47:40.882501 90782 client.go:761] Running 'oc --namespace=e2e-test-default-gk4sx --kubeconfig=/Users/jiazha/fips-kubeconfig process --ignore-unknown-parameters=true -f /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/fixture-testdata-dir816910258/test/qe/testdata/olm/operatorgroup.yaml -p NAME=og-43101 NAMESPACE=e2e-test-default-gk4sx'
  I0305 14:47:42.068816 90782 helper.go:102] the file of resource is /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/e2e-test-default-gk4sx-02cb0f7colm-config.json
  I0305 14:47:42.069044 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig apply -f /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/e2e-test-default-gk4sx-02cb0f7colm-config.json'
  operatorgroup.operators.coreos.com/og-43101 created
  I0305 14:47:43.781192 90782 og.go:89] create og og-43101 success
    STEP: 3, install the learn-operator.v0.0.1 with Manual approval @ 03/05/26 14:47:43.781
  I0305 14:47:43.781968 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get csv --all-namespaces -o=jsonpath={range .items[*]}{@.metadata.name}{","}{@.metadata.namespace}{":"}{end}'
  I0305 14:47:45.202217 90782 subscription.go:135] getting csv is packageserver, the related NS is [ openshift-operator-lifecycle-manager                  ]
  I0305 14:47:45.202329 90782 subscription.go:138] create sub sub-43101
  I0305 14:47:48.204321 90782 client.go:761] Running 'oc --namespace=e2e-test-default-gk4sx --kubeconfig=/Users/jiazha/fips-kubeconfig process --ignore-unknown-parameters=true -f /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/fixture-testdata-dir816910258/test/qe/testdata/olm/olm-subscription.yaml -p SUBNAME=sub-43101 SUBNAMESPACE=e2e-test-default-gk4sx CHANNEL=beta APPROVAL=Manual OPERATORNAME=learn SOURCENAME=cs-43101 SOURCENAMESPACE=e2e-test-default-gk4sx STARTINGCSV=learn-operator.v0.0.1 CONFIGMAPREF= SECRETREF='
  I0305 14:47:49.392334 90782 helper.go:102] the file of resource is /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/e2e-test-default-gk4sx-9aeac452olm-config.json
  I0305 14:47:49.392693 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig apply -f /var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/e2e-test-default-gk4sx-9aeac452olm-config.json'
  subscription.operators.coreos.com/sub-43101 created
  I0305 14:47:51.155394 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}
  I0305 14:47:54.156939 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:47:55.367120 90782 helper.go:247] ---> we do expect value: UpgradePending, in returned value: 
  I0305 14:47:55.367243 90782 helper.go:264] ---> Not as expected! Return false
  I0305 14:47:57.157046 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:47:58.352815 90782 helper.go:247] ---> we do expect value: UpgradePending, in returned value: 
  I0305 14:47:58.352897 90782 helper.go:264] ---> Not as expected! Return false
  I0305 14:48:00.156874 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:48:01.379260 90782 helper.go:247] ---> we do expect value: UpgradePending, in returned value: 
  I0305 14:48:01.379401 90782 helper.go:264] ---> Not as expected! Return false
  I0305 14:48:03.156260 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:48:04.366263 90782 helper.go:247] ---> we do expect value: UpgradePending, in returned value: UpgradePending
  I0305 14:48:04.366383 90782 helper.go:249] the output UpgradePending matches one of the content UpgradePending, expected
    STEP: 4, apprrove this learn-operator.v0.0.1, it should be in Complete state @ 03/05/26 14:48:04.366
  I0305 14:48:12.370459 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:48:13.686053 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}], the returned resource:
  UpgradePending
  I0305 14:48:13.686171 90782 subscription.go:293] --> The expected CSV: learn-operator.v0.0.1
  I0305 14:48:26.692154 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installplan.name}{" "}{.status.currentCSV}'
  I0305 14:48:27.888062 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installplan.name}{" "}{.status.currentCSV}], the returned resource:
  install-x2bmh learn-operator.v0.0.1
  I0305 14:48:27.888178 90782 subscription.go:301] ---> Get the pending InstallPlan install-x2bmh
  I0305 14:48:27.888402 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig patch installplan install-x2bmh -n e2e-test-default-gk4sx --type merge -p {"spec": {"approved": true}}'
  I0305 14:48:39.354802 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) installplan install-x2bmh -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}
  I0305 14:48:42.356522 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get installplan install-x2bmh -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}'
  I0305 14:48:43.564849 90782 helper.go:247] ---> we do expect value: Complete, in returned value: Complete
  I0305 14:48:43.565010 90782 helper.go:249] the output Complete matches one of the content Complete, expected
  I0305 14:48:43.565091 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) csv learn-operator.v0.0.1 -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}
  I0305 14:48:46.566848 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get csv learn-operator.v0.0.1 -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}'
  I0305 14:48:47.765600 90782 helper.go:247] ---> we do expect value: Succeeded, in returned value: Succeeded
  I0305 14:48:47.765725 90782 helper.go:249] the output Succeeded matches one of the content Succeeded, expected
  I0305 14:48:47.765963 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get clusterversion version -o=jsonpath={.status.desired.version}'
    STEP: 5, this operator's olm.maxOpenShiftVersion is empty, so it should block the upgrade @ 03/05/26 14:48:48.962
  I0305 14:48:48.963042 90782 helper.go:404] Check the Upgradeable status of the OLM, expected: False
  I0305 14:48:51.965034 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].status}'
  I0305 14:48:53.168623 90782 helper.go:414] The Upgraableable status should be False, and get False
    STEP: 5-1, [OCP-87276] OCP 4.22: check message contains 'upgrades to 4.23' and parsing error @ 03/05/26 14:48:53.168
  I0305 14:48:53.168790 90782 helper.go:422] Check the Upgradeable message of the OLM, expected message to contain: upgrades to 4.23 or major version upgrades to 5.0
  I0305 14:48:56.171950 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].message}'
  I0305 14:48:57.334954 90782 helper.go:435] The Upgradeable message contains expected text: upgrades to 4.23 or major version upgrades to 5.0
  I0305 14:48:57.335076 90782 helper.go:422] Check the Upgradeable message of the OLM, expected message to contain: has invalid olm.maxOpenShiftVersion properties
  I0305 14:49:00.337106 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].message}'
  I0305 14:49:01.532235 90782 helper.go:435] The Upgradeable message contains expected text: has invalid olm.maxOpenShiftVersion properties
    STEP: 6, apprrove this learn-operator.v0.0.2, it should be in Complete state @ 03/05/26 14:49:01.532
  I0305 14:49:09.534376 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:49:11.024037 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}], the returned resource:
  UpgradePending
  I0305 14:49:11.024276 90782 subscription.go:293] --> The expected CSV: learn-operator.v0.0.2
  I0305 14:49:24.027675 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installplan.name}{" "}{.status.currentCSV}'
  I0305 14:49:25.222690 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installplan.name}{" "}{.status.currentCSV}], the returned resource:
  install-6wsdd learn-operator.v0.0.2
  I0305 14:49:25.222802 90782 subscription.go:301] ---> Get the pending InstallPlan install-6wsdd
  I0305 14:49:25.222990 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig patch installplan install-6wsdd -n e2e-test-default-gk4sx --type merge -p {"spec": {"approved": true}}'
  I0305 14:49:36.681237 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) installplan install-6wsdd -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}
  I0305 14:49:39.682931 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get installplan install-6wsdd -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}'
  I0305 14:49:41.080308 90782 helper.go:247] ---> we do expect value: Complete, in returned value: Complete
  I0305 14:49:41.080438 90782 helper.go:249] the output Complete matches one of the content Complete, expected
  I0305 14:49:41.080510 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) csv learn-operator.v0.0.2 -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}
  I0305 14:49:44.081825 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get csv learn-operator.v0.0.2 -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}'
  I0305 14:49:46.099503 90782 helper.go:247] ---> we do expect value: Succeeded, in returned value: Succeeded
  I0305 14:49:46.099674 90782 helper.go:249] the output Succeeded matches one of the content Succeeded, expected
    STEP: 6-1, [OCP-87276] OCP 4.22: check message contains 'upgrades to 4.23' and 'maximum supported OCP version' @ 03/05/26 14:49:46.099
  I0305 14:49:46.099836 90782 helper.go:422] Check the Upgradeable message of the OLM, expected message to contain: upgrades to 4.23 or major version upgrades to 5.0
  I0305 14:49:49.101603 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].message}'
  I0305 14:49:50.320534 90782 helper.go:435] The Upgradeable message contains expected text: upgrades to 4.23 or major version upgrades to 5.0
  I0305 14:49:50.320735 90782 helper.go:422] Check the Upgradeable message of the OLM, expected message to contain: maximum supported OCP version
  I0305 14:49:53.322427 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].message}'
  I0305 14:49:54.516619 90782 helper.go:435] The Upgradeable message contains expected text: maximum supported OCP version
    STEP: 7, the nextY(4.21.4) = 4.22.0, so it should block 4.21- upgrade @ 03/05/26 14:49:54.516
  I0305 14:49:54.516815 90782 helper.go:404] Check the Upgradeable status of the OLM, expected: False
  I0305 14:49:57.518106 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].status}'
  I0305 14:49:59.034273 90782 helper.go:414] The Upgraableable status should be False, and get False
    STEP: 8, apprrove this learn-operator.v0.0.3, it should be in Complete state @ 03/05/26 14:49:59.034
  I0305 14:50:07.037462 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}'
  I0305 14:50:08.225914 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.state}], the returned resource:
  UpgradePending
  I0305 14:50:08.226047 90782 subscription.go:293] --> The expected CSV: learn-operator.v0.0.3
  I0305 14:50:21.228810 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installplan.name}{" "}{.status.currentCSV}'
  I0305 14:50:22.446402 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installplan.name}{" "}{.status.currentCSV}], the returned resource:
  install-d9mhd learn-operator.v0.0.3
  I0305 14:50:22.446519 90782 subscription.go:301] ---> Get the pending InstallPlan install-d9mhd
  I0305 14:50:22.446793 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig patch installplan install-d9mhd -n e2e-test-default-gk4sx --type merge -p {"spec": {"approved": true}}'
  I0305 14:50:33.911774 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) installplan install-d9mhd -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}
  I0305 14:50:36.913227 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get installplan install-d9mhd -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}'
  I0305 14:50:39.002899 90782 helper.go:247] ---> we do expect value: Complete, in returned value: Complete
  I0305 14:50:39.003054 90782 helper.go:249] the output Complete matches one of the content Complete, expected
  I0305 14:50:39.003112 90782 helper.go:226] Running: oc get AsAdmin(true) WithoutNamespace(true) csv learn-operator.v0.0.3 -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}
  I0305 14:50:42.004704 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get csv learn-operator.v0.0.3 -n e2e-test-default-gk4sx -o=jsonpath={.status.phase}'
  I0305 14:50:44.483536 90782 helper.go:247] ---> we do expect value: Succeeded, in returned value: Succeeded
  I0305 14:50:44.483671 90782 helper.go:249] the output Succeeded matches one of the content Succeeded, expected
    STEP: 9, the nextY(4.22.0-0.nightly...) = 4.23.0 , so it should block OCP 4.22+ upgrade @ 03/05/26 14:50:44.483
  I0305 14:50:44.483824 90782 helper.go:404] Check the Upgradeable status of the OLM, expected: False
  I0305 14:50:47.485678 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get co operator-lifecycle-manager -o=jsonpath={.status.conditions[?(@.type=="Upgradeable")].status}'
  I0305 14:50:48.690806 90782 helper.go:414] The Upgraableable status should be False, and get False
  I0305 14:50:51.692198 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installedCSV}'
  I0305 14:50:52.891493 90782 helper.go:183] $oc get [sub sub-43101 -n e2e-test-default-gk4sx -o=jsonpath={.status.installedCSV}], the returned resource:
  learn-operator.v0.0.3
  I0305 14:50:52.891561 90782 subscription.go:69] updating the subscription to get the latest installedCSV: learn-operator.v0.0.3
  I0305 14:50:52.891569 90782 subscription.go:382] remove csv learn-operator.v0.0.3, ns is e2e-test-default-gk4sx, the subscription name is: sub-43101
  I0305 14:50:52.891590 90782 helper.go:277] removeResource: parameters contain '-n' flag, parameters: [csv learn-operator.v0.0.3 -n e2e-test-default-gk4sx]
  I0305 14:50:52.891681 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig delete csv learn-operator.v0.0.3 -n e2e-test-default-gk4sx'
  I0305 14:51:00.200377 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get csv learn-operator.v0.0.3 -n e2e-test-default-gk4sx'
  I0305 14:51:01.881790 90782 client.go:795] Error running oc --kubeconfig=/Users/jiazha/fips-kubeconfig get csv learn-operator.v0.0.3 -n e2e-test-default-gk4sx:
  Error from server (NotFound): clusterserviceversions.operators.coreos.com "learn-operator.v0.0.3" not found
  I0305 14:51:01.881894 90782 helper.go:293] the resource is delete successfully
  I0305 14:51:01.881944 90782 subscription.go:378] remove sub sub-43101, ns is e2e-test-default-gk4sx
  I0305 14:51:01.881998 90782 helper.go:277] removeResource: parameters contain '-n' flag, parameters: [sub sub-43101 -n e2e-test-default-gk4sx]
  I0305 14:51:01.882279 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig delete sub sub-43101 -n e2e-test-default-gk4sx'
  I0305 14:51:08.361555 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx'
  I0305 14:51:09.862619 90782 client.go:795] Error running oc --kubeconfig=/Users/jiazha/fips-kubeconfig get sub sub-43101 -n e2e-test-default-gk4sx:
  Error from server (NotFound): subscriptions.operators.coreos.com "sub-43101" not found
  I0305 14:51:09.862746 90782 helper.go:293] the resource is delete successfully
  I0305 14:51:09.862785 90782 og.go:99] delete og og-43101, ns is e2e-test-default-gk4sx
  I0305 14:51:09.862840 90782 helper.go:277] removeResource: parameters contain '-n' flag, parameters: [og og-43101 -n e2e-test-default-gk4sx]
  I0305 14:51:09.863012 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig delete og og-43101 -n e2e-test-default-gk4sx'
  I0305 14:51:16.341805 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get og og-43101 -n e2e-test-default-gk4sx'
  I0305 14:51:17.844757 90782 client.go:795] Error running oc --kubeconfig=/Users/jiazha/fips-kubeconfig get og og-43101 -n e2e-test-default-gk4sx:
  Error from server (NotFound): operatorgroups.operators.coreos.com "og-43101" not found
  I0305 14:51:17.844864 90782 helper.go:293] the resource is delete successfully
  I0305 14:51:17.844901 90782 catalog_source.go:207] delete carsrc cs-43101, ns is e2e-test-default-gk4sx
  I0305 14:51:17.844926 90782 helper.go:277] removeResource: parameters contain '-n' flag, parameters: [catsrc cs-43101 -n e2e-test-default-gk4sx]
  I0305 14:51:17.845055 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig delete catsrc cs-43101 -n e2e-test-default-gk4sx'
  I0305 14:51:24.319863 90782 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx'
  I0305 14:51:25.791010 90782 client.go:795] Error running oc --kubeconfig=/Users/jiazha/fips-kubeconfig get catsrc cs-43101 -n e2e-test-default-gk4sx:
  Error from server (NotFound): catalogsources.operators.coreos.com "cs-43101" not found
  I0305 14:51:25.791133 90782 helper.go:293] the resource is delete successfully
  I0305 14:51:26.892946 90782 client.go:524] Deleted {user.openshift.io/v1, Resource=users  e2e-test-default-fb8c6-user}, err: <nil>
  I0305 14:51:27.179870 90782 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-default-fb8c6}, err: <nil>
  I0305 14:51:27.453710 90782 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~MQdqptC22IFx_0TKgWhis9e5bSlmXoXCRu5epJCzjVg}, err: <nil>
  I0305 14:51:27.728744 90782 client.go:524] Deleted {user.openshift.io/v1, Resource=users  e2e-test-default-gk4sx-user}, err: <nil>
  I0305 14:51:28.010742 90782 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-default-gk4sx}, err: <nil>
  I0305 14:51:28.287544 90782 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~Rvu1_lBG0BVYUdG55YzW4nIVGaE38o3zg1DHVywajY8}, err: <nil>
    STEP: Destroying namespace "e2e-test-default-fb8c6" for this suite. @ 03/05/26 14:51:28.288
    STEP: Destroying namespace "e2e-test-default-gk4sx" for this suite. @ 03/05/26 14:51:28.56
  • [282.712 seconds]
  ------------------------------

  Ran 1 of 1 Specs in 282.712 seconds
  SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

jiazha-mac:tests-extension jiazha$ oc get clusterversion
NAME      VERSION                              AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.22.0-0.nightly-2026-03-02-153725   True        False         4h45m   Cluster version is 4.22.0-0.nightly-2026-03-02-153725
jiazha-mac:tests-extension jiazha$ oc get nodes
NAME                                        STATUS   ROLES                  AGE     VERSION
ip-10-0-2-249.us-east-2.compute.internal    Ready    control-plane,master   5h12m   v1.34.2
ip-10-0-56-151.us-east-2.compute.internal   Ready    worker                 4h57m   v1.34.2
ip-10-0-6-206.us-east-2.compute.internal    Ready    worker                 4h57m   v1.34.2
ip-10-0-61-240.us-east-2.compute.internal   Ready    control-plane,master   5h13m   v1.34.2
ip-10-0-89-21.us-east-2.compute.internal    Ready    control-plane,master   5h13m   v1.34.2
ip-10-0-93-53.us-east-2.compute.internal    Ready    worker                 5h5m    v1.34.2
jiazha-mac:tests-extension jiazha$ oc debug nodes/ip-10-0-2-249.us-east-2.compute.internal
Temporary namespace openshift-debug-mrq64 is created for debugging node...
Starting pod/ip-10-0-2-249us-east-2computeinternal-debug-bjwrx ...
To use host binaries, run `chroot /host`
Pod IP: 10.0.2.249
If you don't see a command prompt, try pressing enter.
sh-5.1# chroot /host
sh-5.1# fips-mode-setup --check
FIPS mode is enabled.

@jianzhangbjz
Copy link
Copy Markdown
Contributor Author

Hi @Xia-Zhao-rh , could you help approve it? Thanks!
/assign @Xia-Zhao-rh

@Xia-Zhao-rh
Copy link
Copy Markdown
Contributor

/lgtm
/approve

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Mar 5, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 5, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jianzhangbjz, Xia-Zhao-rh

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jianzhangbjz
Copy link
Copy Markdown
Contributor Author

/verified by @jianzhangbjz

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 5, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@jianzhangbjz: This PR has been marked as verified by @jianzhangbjz.

Details

In response to this:

/verified by @jianzhangbjz

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-bot openshift-merge-bot Bot merged commit 75b14fc into openshift:main Mar 5, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants