Skip to content

Comments

OPRUN-4415: automate OCP-87188: Central TLS Profile Consistency#1207

Open
jianzhangbjz wants to merge 1 commit intoopenshift:mainfrom
jianzhangbjz:OCP-87188
Open

OPRUN-4415: automate OCP-87188: Central TLS Profile Consistency#1207
jianzhangbjz wants to merge 1 commit intoopenshift:mainfrom
jianzhangbjz:OCP-87188

Conversation

@jianzhangbjz
Copy link
Member

As the title shows, but hold it until operator-framework/operator-marketplace#715 merged and the available nightly payload generated.

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

openshift-ci-robot commented Jan 27, 2026

@jianzhangbjz: This pull request references OPRUN-4415 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 epic to target the "4.22.0" version, but no target version was set.

Details

In response to this:

As the title shows, but hold it until operator-framework/operator-marketplace#715 merged and the available nightly payload generated.

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.

@jianzhangbjz
Copy link
Member Author

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 27, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 27, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jianzhangbjz

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 27, 2026
@jianzhangbjz
Copy link
Member Author

Test passed.

jiazha-mac:tests-extension jiazha$ oc get clusterversion
NAME      VERSION                              AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.22.0-0.nightly-2026-01-28-225830   True        False         4h49m   Cluster version is 4.22.0-0.nightly-2026-01-28-225830

jiazha-mac:tests-extension jiazha$ ./bin/olmv0-tests-ext run-test "[sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency"
  I0130 14:34:07.942094 86340 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: 1769754847 - will randomize all specs

  Will run 1 of 1 specs
  ------------------------------
  [sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency [NonHyperShiftHOST]
  /Users/jiazha/goproject/operator-framework-olm/tests-extension/test/qe/specs/olmv0_common.go:52
    STEP: Creating a kubernetes client @ 01/30/26 14:34:07.942
  I0130 14:34:12.947414 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig explain template.apiVersion'
  I0130 14:34:30.982712 86340 client.go:349] do not know if it is external oidc cluster or not, and try to check it again
  I0130 14:34:30.983101 86340 client.go:820] showInfo is true
  I0130 14:34:30.983132 86340 client.go:821] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get authentication/cluster -o=jsonpath={.spec.type}'
  I0130 14:34:31.998880 86340 clusters.go:572] Found authentication type used: 
  I0130 14:34:35.271602 86340 client.go:200] configPath is now "/var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/configfile3331224288"
  I0130 14:34:35.271716 86340 client.go:363] The user is now "e2e-test-default-lgrlk-user"
  I0130 14:34:35.271732 86340 client.go:366] Creating project "e2e-test-default-lgrlk"
  I0130 14:34:35.615833 86340 client.go:375] Waiting on permissions in project "e2e-test-default-lgrlk" ...
  I0130 14:34:38.257261 86340 client.go:436] Waiting for ServiceAccount "default" to be provisioned...
  I0130 14:34:38.639026 86340 client.go:436] Waiting for ServiceAccount "builder" to be provisioned...
  I0130 14:34:39.021546 86340 client.go:436] Waiting for ServiceAccount "deployer" to be provisioned...
  I0130 14:34:39.404585 86340 client.go:446] Waiting for RoleBinding "system:image-builders" to be provisioned...
  I0130 14:34:39.962323 86340 client.go:446] Waiting for RoleBinding "system:deployers" to be provisioned...
  I0130 14:34:40.516910 86340 client.go:446] Waiting for RoleBinding "system:image-pullers" to be provisioned...
  I0130 14:34:41.134767 86340 client.go:477] Project "e2e-test-default-lgrlk" has been fully provisioned.
    STEP: 1) Check deployment logs for TLS configuration message @ 01/30/26 14:34:41.749
  I0130 14:34:41.750165 86340 olmv0_common.go:87] Checking logs for deployment package-server-manager in namespace openshift-operator-lifecycle-manager
  I0130 14:34:41.750724 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/package-server-manager -n openshift-operator-lifecycle-manager'
  I0130 14:34:46.056178 86340 olmv0_common.go:95] Deployment package-server-manager contains the expected TLS configuration message
  I0130 14:34:46.056322 86340 olmv0_common.go:87] Checking logs for deployment catalog-operator in namespace openshift-operator-lifecycle-manager
  I0130 14:34:46.056664 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/catalog-operator -n openshift-operator-lifecycle-manager'
  I0130 14:35:18.582279 86340 olmv0_common.go:95] Deployment catalog-operator contains the expected TLS configuration message
  I0130 14:35:18.582407 86340 olmv0_common.go:87] Checking logs for deployment olm-operator in namespace openshift-operator-lifecycle-manager
  I0130 14:35:18.582626 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/olm-operator -n openshift-operator-lifecycle-manager'
  I0130 14:40:38.702208 86340 olmv0_common.go:95] Deployment olm-operator contains the expected TLS configuration message
  I0130 14:40:38.702361 86340 olmv0_common.go:87] Checking logs for deployment marketplace-operator in namespace openshift-marketplace
  I0130 14:40:38.702603 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/marketplace-operator -n openshift-marketplace'
  I0130 14:40:41.567243 86340 olmv0_common.go:95] Deployment marketplace-operator contains the expected TLS configuration message
    STEP: 2) Create passthrough routes for metrics endpoints @ 01/30/26 14:40:41.567
  I0130 14:40:41.567564 86340 olmv0_common.go:108] Creating route marketplace-metrics for service marketplace-operator-metrics in namespace openshift-marketplace
  I0130 14:40:41.567844 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough marketplace-metrics --service=marketplace-operator-metrics --port=8081 -n openshift-marketplace'
  I0130 14:40:44.034610 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route marketplace-metrics -n openshift-marketplace -o=jsonpath={.spec.host}'
  I0130 14:40:45.076741 86340 olmv0_common.go:118] Route marketplace-metrics created with host: marketplace-metrics-openshift-marketplace.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:40:45.076866 86340 olmv0_common.go:108] Creating route catalog-metrics for service catalog-operator-metrics in namespace openshift-operator-lifecycle-manager
  I0130 14:40:45.077168 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough catalog-metrics --service=catalog-operator-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0130 14:40:46.674976 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route catalog-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0130 14:40:47.633519 86340 olmv0_common.go:118] Route catalog-metrics created with host: catalog-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:40:47.633639 86340 olmv0_common.go:108] Creating route olm-metrics for service olm-operator-metrics in namespace openshift-operator-lifecycle-manager
  I0130 14:40:47.633899 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough olm-metrics --service=olm-operator-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0130 14:40:49.376984 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route olm-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0130 14:40:50.677951 86340 olmv0_common.go:118] Route olm-metrics created with host: olm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:40:50.678064 86340 olmv0_common.go:108] Creating route psm-metrics for service package-server-manager-metrics in namespace openshift-operator-lifecycle-manager
  I0130 14:40:50.678284 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough psm-metrics --service=package-server-manager-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0130 14:40:52.550459 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route psm-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0130 14:40:56.135924 86340 olmv0_common.go:118] Route psm-metrics created with host: psm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
    STEP: 3) Verify TLS 1.2 connection works with Intermediate profile (should NOT contain NONE) @ 01/30/26 14:40:56.136
  I0130 14:40:56.136135 86340 olmv0_common.go:123] Testing TLS 1.2 connection to route: marketplace-metrics-openshift-marketplace.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:40:57.232209 86340 olmv0_common.go:130] TLS 1.2 connection output for marketplace-metrics: New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : ECDHE-RSA-AES128-GCM-SHA256

  I0130 14:40:57.232419 86340 olmv0_common.go:136] TLS 1.2 connection to marketplace-metrics works correctly with Intermediate profile
  I0130 14:40:57.232438 86340 olmv0_common.go:123] Testing TLS 1.2 connection to route: catalog-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:40:58.629605 86340 olmv0_common.go:130] TLS 1.2 connection output for catalog-metrics: New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : ECDHE-RSA-AES128-GCM-SHA256

  I0130 14:40:58.629802 86340 olmv0_common.go:136] TLS 1.2 connection to catalog-metrics works correctly with Intermediate profile
  I0130 14:40:58.629821 86340 olmv0_common.go:123] Testing TLS 1.2 connection to route: olm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:02.484778 86340 olmv0_common.go:130] TLS 1.2 connection output for olm-metrics: New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : ECDHE-RSA-AES128-GCM-SHA256

  I0130 14:41:02.484952 86340 olmv0_common.go:136] TLS 1.2 connection to olm-metrics works correctly with Intermediate profile
  I0130 14:41:02.484970 86340 olmv0_common.go:123] Testing TLS 1.2 connection to route: psm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:03.761022 86340 olmv0_common.go:130] TLS 1.2 connection output for psm-metrics: New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : ECDHE-RSA-AES128-GCM-SHA256

  I0130 14:41:03.761170 86340 olmv0_common.go:136] TLS 1.2 connection to psm-metrics works correctly with Intermediate profile
    STEP: 4) Update TLS configuration to Modern profile @ 01/30/26 14:41:03.761
  I0130 14:41:03.761651 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get apiserver cluster -o=jsonpath={.spec.tlsSecurityProfile}'
  I0130 14:41:05.730052 86340 olmv0_common.go:143] Original TLS profile: 
  I0130 14:41:05.730478 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig patch apiserver cluster --type=merge -p {"spec":{"tlsSecurityProfile":{"type":"Modern","modern":{}}}}'
  I0130 14:41:06.988819 86340 olmv0_common.go:166] TLS configuration updated to Modern profile
    STEP: Waiting for TLS configuration to propagate to deployments @ 01/30/26 14:41:06.988
  I0130 14:41:16.990582 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/package-server-manager -n openshift-operator-lifecycle-manager --since=2m'
  I0130 14:41:20.556110 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/catalog-operator -n openshift-operator-lifecycle-manager --since=2m'
  I0130 14:41:22.673838 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/olm-operator -n openshift-operator-lifecycle-manager --since=2m'
  I0130 14:41:27.860087 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/marketplace-operator -n openshift-marketplace --since=2m'
    STEP: 5) Verify TLS 1.2 connection fails with Modern profile (should contain NONE) @ 01/30/26 14:41:31.463
  I0130 14:41:31.463724 86340 olmv0_common.go:191] Testing TLS 1.2 connection to route with Modern profile: marketplace-metrics-openshift-marketplace.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:32.077135 86340 olmv0_common.go:198] TLS 1.2 connection output for marketplace-metrics with Modern profile: New, (NONE), Cipher is (NONE)
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : 0000

  I0130 14:41:32.077324 86340 olmv0_common.go:204] TLS 1.2 connection to marketplace-metrics correctly rejected with Modern profile
  I0130 14:41:32.077381 86340 olmv0_common.go:191] Testing TLS 1.2 connection to route with Modern profile: catalog-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:32.682133 86340 olmv0_common.go:198] TLS 1.2 connection output for catalog-metrics with Modern profile: New, (NONE), Cipher is (NONE)
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : 0000

  I0130 14:41:32.682360 86340 olmv0_common.go:204] TLS 1.2 connection to catalog-metrics correctly rejected with Modern profile
  I0130 14:41:32.682381 86340 olmv0_common.go:191] Testing TLS 1.2 connection to route with Modern profile: olm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:33.307107 86340 olmv0_common.go:198] TLS 1.2 connection output for olm-metrics with Modern profile: New, (NONE), Cipher is (NONE)
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : 0000

  I0130 14:41:33.307284 86340 olmv0_common.go:204] TLS 1.2 connection to olm-metrics correctly rejected with Modern profile
  I0130 14:41:33.307302 86340 olmv0_common.go:191] Testing TLS 1.2 connection to route with Modern profile: psm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:34.023634 86340 olmv0_common.go:198] TLS 1.2 connection output for psm-metrics with Modern profile: New, (NONE), Cipher is (NONE)
  Protocol: TLSv1.2
      Protocol  : TLSv1.2
      Cipher    : 0000

  I0130 14:41:34.023845 86340 olmv0_common.go:204] TLS 1.2 connection to psm-metrics correctly rejected with Modern profile
    STEP: 6) Get metrics using appropriate authentication method @ 01/30/26 14:41:34.023
  I0130 14:41:34.024029 86340 tools.go:528] Getting a token assgined to specific serviceaccount from openshift-monitoring namespace...
  I0130 14:41:34.024313 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create token prometheus-k8s -n openshift-monitoring'
  I0130 14:41:36.236404 86340 olmv0_common.go:213] Got prometheus-k8s token for OLM operator metrics
    STEP: Extract client certificates from metrics-client-certs secret @ 01/30/26 14:41:36.236
  I0130 14:41:36.236926 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get secret metrics-client-certs -n openshift-monitoring -o=jsonpath={.data.tls\.crt}'
  I0130 14:41:37.607772 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get secret metrics-client-certs -n openshift-monitoring -o=jsonpath={.data.tls\.key}'
  I0130 14:41:38.647835 86340 olmv0_common.go:242] Client certificates extracted successfully
  I0130 14:41:38.647928 86340 olmv0_common.go:245] Fetching metrics from route: marketplace-metrics-openshift-marketplace.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:38.647963 86340 olmv0_common.go:255] Using client certificate authentication for marketplace metrics
  I0130 14:41:38.987282 86340 olmv0_common.go:264] Failed to fetch metrics from marketplace-metrics: exit status 4
  I0130 14:41:38.987421 86340 olmv0_common.go:245] Fetching metrics from route: catalog-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:38.987468 86340 olmv0_common.go:259] Using bearer token authentication for catalog-metrics
  I0130 14:41:40.302011 86340 olmv0_common.go:264] Failed to fetch metrics from catalog-metrics: exit status 4
  I0130 14:41:40.302190 86340 olmv0_common.go:245] Fetching metrics from route: olm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:40.302253 86340 olmv0_common.go:259] Using bearer token authentication for olm-metrics
  I0130 14:41:40.629497 86340 olmv0_common.go:264] Failed to fetch metrics from olm-metrics: exit status 4
  I0130 14:41:40.629659 86340 olmv0_common.go:245] Fetching metrics from route: psm-metrics-openshift-operator-lifecycle-manager.apps.shudi-a2230.qe.devcluster.openshift.com
  I0130 14:41:40.629772 86340 olmv0_common.go:259] Using bearer token authentication for psm-metrics
  I0130 14:41:40.946689 86340 olmv0_common.go:264] Failed to fetch metrics from psm-metrics: exit status 4
  I0130 14:41:40.946788 86340 olmv0_common.go:276] TLS Profile Consistency test completed successfully
    STEP: Restoring original TLS configuration @ 01/30/26 14:41:40.984
  I0130 14:41:40.985298 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig patch apiserver cluster --type=json -p [{"op": "remove", "path": "/spec/tlsSecurityProfile"}]'
  I0130 14:41:42.870458 86340 olmv0_common.go:156] TLS configuration restored
  I0130 14:42:12.873419 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route marketplace-metrics -n openshift-marketplace --ignore-not-found'
  I0130 14:42:15.242678 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route catalog-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0130 14:42:19.744354 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route olm-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0130 14:42:21.250400 86340 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route psm-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0130 14:42:23.554398 86340 client.go:524] Deleted {user.openshift.io/v1, Resource=users  e2e-test-default-lgrlk-user}, err: <nil>
  I0130 14:42:25.319295 86340 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-default-lgrlk}, err: <nil>
  I0130 14:42:27.103099 86340 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~Hgw7Dw7_GwO8S7GwUTviAiT_r6FvMb5I5tfC8TD1fFc}, err: <nil>
    STEP: Destroying namespace "e2e-test-default-lgrlk" for this suite. @ 01/30/26 14:42:27.104
  • [500.152 seconds]
  ------------------------------

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

/unhold

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 30, 2026
@jianzhangbjz
Copy link
Member Author

Hi @kuiwang02 @Xia-Zhao-rh @bandrade , could you help approve it? Thanks!

@Xia-Zhao-rh
Copy link
Contributor

ERROR: Metadata is out of date. Please run 'make build-update' and commit the result.
make: *** [Makefile:201: verify-metadata] Error 1

}()

// Patch to Modern profile
_, err = oc.AsAdmin().WithoutNamespace().Run("patch").Args("apiserver", "cluster", "--type=merge",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so. I will add [Disruptive] to avoid it.

dr.RmIr(itName)
})

g.It("PolarionID:87188-Central TLS Profile Consistency", g.Label("NonHyperShiftHOST"), func() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz better to add [Disruptive]

for i, routeHost := range routeHosts {
e2e.Logf("Testing TLS 1.2 connection to route: %s", routeHost)
opensslCmd := fmt.Sprintf("echo | openssl s_client -connect %s:443 -tls1_2 2>&1 | grep -E 'Protocol|Cipher'", routeHost)
output, err := exec.Command("bash", "-c", opensslCmd).Output()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz I am not sure if it outputs sensitive info. if yes, need to enhance it not to output it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it sensitive info or not?

e2e.Logf("TLS configuration restored")

// Wait for deployments to be ready after restore
time.Sleep(30 * time.Second)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz we need to avoid such timer because it can not ensure the CO's status.
we expect the case fails if the CO is not back to normal, and case succeeds if the CO is back to normal.

your code will make case pass once CO is not back to normal.

I find https://github.com/openshift/openshift-tests-private/blob/main/test/extended/logging/utils.go#L2552-L2581 or https://github.com/openshift/openshift-tests-private/blob/main/test/extended/util/networking.go#L23 , and maybe you could make similar method in our util for it.

o.Expect(err).NotTo(o.HaveOccurred())
e2e.Logf("Original TLS profile: %s", originalTLSProfile)

defer func() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz better to put the defer code after

		o.Expect(err).NotTo(o.HaveOccurred())

before

e2e.Logf("TLS configuration updated to Modern profile")

your current code will do it whether it patch successfully or not.
if putting it after that, will save 1 time if patching fails.

_, err = oc.AsAdmin().WithoutNamespace().Run("patch").Args("apiserver", "cluster", "--type=merge",
"-p", `{"spec":{"tlsSecurityProfile":{"type":"Modern","modern":{}}}}`).Output()
o.Expect(err).NotTo(o.HaveOccurred())
e2e.Logf("TLS configuration updated to Modern profile")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz better to check if CO status is ok after e2e.Logf("TLS configuration updated to Modern profile")

I raise it because I find most of module case related to patch apiserver will check CO's status after patching. it should be best-pratice to make case stable.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, some CO's status will be unavailable.

o.Expect(err).NotTo(o.HaveOccurred())
o.Expect(clientCert).NotTo(o.BeEmpty())

clientKey, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("secret", "metrics-client-certs", "-n", "openshift-monitoring", "-o=jsonpath={.data.tls\\.key}").Output()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz if it includes senstive info, could use NotShowInfo()

keyFile := "/tmp/metrics-client-87188.key"

decodeCertCmd := fmt.Sprintf("echo '%s' | base64 -d > %s", clientCert, certFile)
_, err = exec.Command("bash", "-c", decodeCertCmd).Output()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz if it output senstive info, please enhance it.

o.Expect(err).NotTo(o.HaveOccurred())

decodeKeyCmd := fmt.Sprintf("echo '%s' | base64 -d > %s", clientKey, keyFile)
_, err = exec.Command("bash", "-c", decodeKeyCmd).Output()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz if it output senstive info, please enhance it.

dr.RmIr(itName)
})

g.It("PolarionID:87188-Central TLS Profile Consistency", g.Label("NonHyperShiftHOST"), func() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz the case should add [Slow] too.

@jianzhangbjz jianzhangbjz force-pushed the OCP-87188 branch 3 times, most recently from 361a58d to 97dd5fd Compare February 2, 2026 07:34
@jianzhangbjz
Copy link
Member Author

Test passed. Hi @kuiwang02 @Xia-Zhao-rh could you help review it again? Thanks!

jiazha-mac:tests-extension jiazha$ ./bin/olmv0-tests-ext run-test "[sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow]"
  I0202 14:36:43.815673 26328 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: 1770014203 - will randomize all specs

  Will run 1 of 1 specs
  ------------------------------
  [sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow] [NonHyperShiftHOST]
  /Users/jiazha/goproject/operator-framework-olm/tests-extension/test/qe/specs/olmv0_common.go:54
    STEP: Creating a kubernetes client @ 02/02/26 14:36:43.816
  I0202 14:36:48.820515 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig explain template.apiVersion'
  I0202 14:36:50.305833 26328 client.go:349] do not know if it is external oidc cluster or not, and try to check it again
  I0202 14:36:50.306162 26328 client.go:820] showInfo is true
  I0202 14:36:50.306185 26328 client.go:821] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get authentication/cluster -o=jsonpath={.spec.type}'
  I0202 14:36:51.958851 26328 clusters.go:572] Found authentication type used: 
  I0202 14:36:55.222950 26328 client.go:200] configPath is now "/var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/configfile2724499642"
  I0202 14:36:55.223027 26328 client.go:363] The user is now "e2e-test-default-bss7s-user"
  I0202 14:36:55.223042 26328 client.go:366] Creating project "e2e-test-default-bss7s"
  I0202 14:36:55.569452 26328 client.go:375] Waiting on permissions in project "e2e-test-default-bss7s" ...
  I0202 14:36:57.404468 26328 client.go:436] Waiting for ServiceAccount "default" to be provisioned...
  I0202 14:36:57.787262 26328 client.go:436] Waiting for ServiceAccount "builder" to be provisioned...
  I0202 14:36:58.157058 26328 client.go:436] Waiting for ServiceAccount "deployer" to be provisioned...
  I0202 14:36:58.537000 26328 client.go:446] Waiting for RoleBinding "system:image-builders" to be provisioned...
  I0202 14:36:58.835173 26328 client.go:446] Waiting for RoleBinding "system:deployers" to be provisioned...
  I0202 14:36:59.385200 26328 client.go:446] Waiting for RoleBinding "system:image-pullers" to be provisioned...
  I0202 14:36:59.923832 26328 client.go:477] Project "e2e-test-default-bss7s" has been fully provisioned.
    STEP: Pre-check: Verify all ClusterOperators are stable @ 02/02/26 14:37:00.204
  I0202 14:37:00.204938 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:37:01.615474 26328 olmv0_common.go:85] All ClusterOperators are stable, proceeding with test
    STEP: 1) Check deployment logs for TLS configuration message @ 02/02/26 14:37:01.615
  I0202 14:37:01.615570 26328 olmv0_common.go:115] Checking logs for deployment package-server-manager in namespace openshift-operator-lifecycle-manager
  I0202 14:37:01.615677 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/package-server-manager -n openshift-operator-lifecycle-manager'
  I0202 14:37:03.839709 26328 olmv0_common.go:123] Deployment package-server-manager contains the expected TLS configuration message
  I0202 14:37:03.839850 26328 olmv0_common.go:115] Checking logs for deployment catalog-operator in namespace openshift-operator-lifecycle-manager
  I0202 14:37:03.840092 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/catalog-operator -n openshift-operator-lifecycle-manager'
  I0202 14:37:13.020279 26328 olmv0_common.go:123] Deployment catalog-operator contains the expected TLS configuration message
  I0202 14:37:13.020404 26328 olmv0_common.go:115] Checking logs for deployment olm-operator in namespace openshift-operator-lifecycle-manager
  I0202 14:37:13.020645 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/olm-operator -n openshift-operator-lifecycle-manager'
  I0202 14:37:15.244062 26328 olmv0_common.go:123] Deployment olm-operator contains the expected TLS configuration message
  I0202 14:37:15.244226 26328 olmv0_common.go:115] Checking logs for deployment marketplace-operator in namespace openshift-marketplace
  I0202 14:37:15.244477 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/marketplace-operator -n openshift-marketplace'
  I0202 14:37:17.149457 26328 olmv0_common.go:123] Deployment marketplace-operator contains the expected TLS configuration message
    STEP: 2) Create passthrough routes for metrics endpoints @ 02/02/26 14:37:17.149
  I0202 14:37:17.149670 26328 olmv0_common.go:136] Creating route marketplace-metrics for service marketplace-operator-metrics in namespace openshift-marketplace
  I0202 14:37:17.149920 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough marketplace-metrics --service=marketplace-operator-metrics --port=8081 -n openshift-marketplace'
  I0202 14:37:18.686489 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route marketplace-metrics -n openshift-marketplace -o=jsonpath={.spec.host}'
  I0202 14:37:20.043994 26328 olmv0_common.go:146] Route marketplace-metrics created with host: marketplace-metrics-openshift-marketplace.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:20.044138 26328 olmv0_common.go:136] Creating route catalog-metrics for service catalog-operator-metrics in namespace openshift-operator-lifecycle-manager
  I0202 14:37:20.044449 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough catalog-metrics --service=catalog-operator-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0202 14:37:21.450444 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route catalog-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0202 14:37:22.386835 26328 olmv0_common.go:146] Route catalog-metrics created with host: catalog-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:22.386973 26328 olmv0_common.go:136] Creating route olm-metrics for service olm-operator-metrics in namespace openshift-operator-lifecycle-manager
  I0202 14:37:22.387270 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough olm-metrics --service=olm-operator-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0202 14:37:23.620932 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route olm-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0202 14:37:24.584675 26328 olmv0_common.go:146] Route olm-metrics created with host: olm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:24.584806 26328 olmv0_common.go:136] Creating route psm-metrics for service package-server-manager-metrics in namespace openshift-operator-lifecycle-manager
  I0202 14:37:24.585080 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough psm-metrics --service=package-server-manager-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0202 14:37:25.848433 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route psm-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0202 14:37:26.829374 26328 olmv0_common.go:146] Route psm-metrics created with host: psm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
    STEP: 3) Verify TLS 1.2 connection works with Intermediate profile (should NOT contain NONE) @ 02/02/26 14:37:26.829
  I0202 14:37:26.829654 26328 olmv0_common.go:151] Testing TLS 1.2 connection to route: marketplace-metrics-openshift-marketplace.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:28.574111 26328 olmv0_common.go:163] TLS 1.2 connection to marketplace-metrics works correctly with Intermediate profile
  I0202 14:37:28.574229 26328 olmv0_common.go:151] Testing TLS 1.2 connection to route: catalog-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:29.993588 26328 olmv0_common.go:163] TLS 1.2 connection to catalog-metrics works correctly with Intermediate profile
  I0202 14:37:29.993702 26328 olmv0_common.go:151] Testing TLS 1.2 connection to route: olm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:31.484873 26328 olmv0_common.go:163] TLS 1.2 connection to olm-metrics works correctly with Intermediate profile
  I0202 14:37:31.484979 26328 olmv0_common.go:151] Testing TLS 1.2 connection to route: psm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:32.936020 26328 olmv0_common.go:163] TLS 1.2 connection to psm-metrics works correctly with Intermediate profile
    STEP: 4) Update TLS configuration to Modern profile @ 02/02/26 14:37:32.936
  I0202 14:37:32.936624 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get apiserver cluster -o=jsonpath={.spec.tlsSecurityProfile}'
  I0202 14:37:33.892716 26328 olmv0_common.go:170] Original TLS profile: 
  I0202 14:37:33.893093 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig patch apiserver cluster --type=merge -p {"spec":{"tlsSecurityProfile":{"type":"Modern","modern":{}}}}'
  I0202 14:37:35.160983 26328 olmv0_common.go:250] TLS configuration updated to Modern profile
    STEP: Waiting for TLS configuration to propagate to deployments @ 02/02/26 14:37:35.161
  I0202 14:37:45.163082 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/package-server-manager -n openshift-operator-lifecycle-manager --since=2m'
  I0202 14:37:48.125606 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/catalog-operator -n openshift-operator-lifecycle-manager --since=2m'
  I0202 14:37:50.282348 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/olm-operator -n openshift-operator-lifecycle-manager --since=2m'
  I0202 14:37:52.131444 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/marketplace-operator -n openshift-marketplace --since=2m'
    STEP: 5) Verify TLS 1.2 connection fails with Modern profile (should contain NONE) @ 02/02/26 14:37:53.975
  I0202 14:37:53.975753 26328 olmv0_common.go:272] Testing TLS 1.2 connection to route with Modern profile: marketplace-metrics-openshift-marketplace.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:54.627667 26328 olmv0_common.go:284] TLS 1.2 connection to marketplace-metrics correctly rejected with Modern profile
  I0202 14:37:54.627857 26328 olmv0_common.go:272] Testing TLS 1.2 connection to route with Modern profile: catalog-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:55.246741 26328 olmv0_common.go:284] TLS 1.2 connection to catalog-metrics correctly rejected with Modern profile
  I0202 14:37:55.246905 26328 olmv0_common.go:272] Testing TLS 1.2 connection to route with Modern profile: olm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:55.840261 26328 olmv0_common.go:284] TLS 1.2 connection to olm-metrics correctly rejected with Modern profile
  I0202 14:37:55.840324 26328 olmv0_common.go:272] Testing TLS 1.2 connection to route with Modern profile: psm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:37:56.482995 26328 olmv0_common.go:284] TLS 1.2 connection to psm-metrics correctly rejected with Modern profile
    STEP: 6) Get metrics using appropriate authentication method @ 02/02/26 14:37:56.483
  I0202 14:37:56.483243 26328 tools.go:528] Getting a token assgined to specific serviceaccount from openshift-monitoring namespace...
  I0202 14:37:56.483527 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create token prometheus-k8s -n openshift-monitoring'
  I0202 14:37:58.945041 26328 olmv0_common.go:293] Got prometheus-k8s token for OLM operator metrics
    STEP: Extract client certificates from metrics-client-certs secret @ 02/02/26 14:37:58.945
  I0202 14:38:00.890053 26328 olmv0_common.go:331] Client certificates extracted successfully
  I0202 14:38:00.890170 26328 olmv0_common.go:334] Fetching metrics from route: marketplace-metrics-openshift-marketplace.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:38:00.890233 26328 olmv0_common.go:343] Using client certificate authentication for marketplace metrics
  I0202 14:38:01.268114 26328 olmv0_common.go:354] Failed to fetch metrics from marketplace-metrics (error details omitted for security)
  I0202 14:38:01.268271 26328 olmv0_common.go:334] Fetching metrics from route: catalog-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:38:01.268305 26328 olmv0_common.go:348] Using bearer token authentication for catalog-metrics
  I0202 14:38:01.578151 26328 olmv0_common.go:354] Failed to fetch metrics from catalog-metrics (error details omitted for security)
  I0202 14:38:01.578375 26328 olmv0_common.go:334] Fetching metrics from route: olm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:38:01.578421 26328 olmv0_common.go:348] Using bearer token authentication for olm-metrics
  I0202 14:38:01.896340 26328 olmv0_common.go:354] Failed to fetch metrics from olm-metrics (error details omitted for security)
  I0202 14:38:01.896558 26328 olmv0_common.go:334] Fetching metrics from route: psm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 14:38:01.896587 26328 olmv0_common.go:348] Using bearer token authentication for psm-metrics
  I0202 14:38:02.213483 26328 olmv0_common.go:354] Failed to fetch metrics from psm-metrics (error details omitted for security)
  I0202 14:38:02.213695 26328 olmv0_common.go:366] TLS Profile Consistency test completed successfully
    STEP: Restoring original TLS configuration @ 02/02/26 14:38:02.214
  I0202 14:38:02.214759 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig patch apiserver cluster --type=json -p [{"op": "remove", "path": "/spec/tlsSecurityProfile"}]'
  I0202 14:38:21.436745 26328 olmv0_common.go:189] TLS configuration restored
    STEP: Waiting for all ClusterOperators to be stable after restore @ 02/02/26 14:38:21.436
  I0202 14:38:51.438751 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:38:52.786675 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:39:21.439710 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:39:23.683794 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:39:51.442328 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:39:53.240197 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:40:21.438716 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:40:22.715394 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:40:51.438549 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:40:52.840108 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:41:21.438400 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:41:24.018831 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:41:51.438286 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:41:52.788708 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:42:21.439290 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:42:24.053183 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:42:51.439224 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:42:53.452183 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:43:21.439203 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:43:22.801299 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:43:51.439118 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:43:52.857931 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:44:21.438955 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:44:26.852637 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:44:51.438788 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:44:53.315284 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:45:21.438750 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:45:23.845911 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:45:51.438638 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:46:52.896006 26328 client.go:795] Error running oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}:
  Error from server (Timeout): the server was unable to return a response in the time allotted, but may still be processing the request (get clusteroperators.config.openshift.io)
  I0202 14:46:52.896111 26328 olmv0_common.go:198] Failed to get ClusterOperator status: exit status 1, retrying...
  I0202 14:46:52.896288 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:47:53.910590 26328 client.go:795] Error running oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}:
  Error from server (Timeout): the server was unable to return a response in the time allotted, but may still be processing the request (get clusteroperators.config.openshift.io)
  I0202 14:47:53.910733 26328 olmv0_common.go:198] Failed to get ClusterOperator status: exit status 1, retrying...
  I0202 14:47:53.910990 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:48:02.997099 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:48:21.437962 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:48:22.848883 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:48:51.438372 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:48:52.721862 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:49:21.438224 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:49:23.223434 26328 olmv0_common.go:218] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:49:51.438082 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:49:53.586184 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:50:21.438004 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:50:22.691997 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:50:51.437926 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:50:52.952026 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:51:21.437880 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:51:22.843970 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:51:51.437684 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:51:52.743999 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:52:21.437271 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:52:22.868127 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:52:51.436797 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:52:52.871523 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:53:21.436095 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:53:24.041037 26328 olmv0_common.go:218] ClusterOperator dns status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:53:51.435821 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:53:53.104903 26328 olmv0_common.go:218] ClusterOperator dns status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:54:21.435755 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:54:22.866761 26328 olmv0_common.go:218] ClusterOperator dns status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:54:51.435160 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:54:52.788161 26328 olmv0_common.go:218] ClusterOperator dns status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:55:21.435469 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:55:22.832571 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:55:51.435352 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:55:52.820097 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:56:21.435319 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:56:22.854390 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=True, waiting...
  I0202 14:56:51.435273 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:56:54.893538 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:57:21.435440 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:57:23.155624 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:57:51.434967 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:57:54.043245 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:58:21.435009 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:58:23.219687 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:58:51.434913 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:58:52.898897 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:59:21.434918 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:59:22.878685 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 14:59:51.434993 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 14:59:52.809470 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:00:21.436007 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:00:22.918561 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:00:51.441751 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:00:52.786305 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:01:21.435775 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:01:23.466528 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:01:51.435473 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:01:52.855961 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:02:21.434343 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:02:23.121176 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:02:51.434229 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:02:53.211721 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:03:21.433865 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:03:22.847988 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:03:51.434432 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:03:53.757597 26328 olmv0_common.go:218] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0202 15:04:21.434345 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0202 15:04:24.109884 26328 olmv0_common.go:222] All ClusterOperators are stable (Available=True, Progressing=False, Degraded=False)
    STEP: Verify TLS 1.2 connection succeeds after restore @ 02/02/26 15:04:24.11
  I0202 15:04:24.110164 26328 olmv0_common.go:232] Testing TLS 1.2 connection to route after restore: marketplace-metrics-openshift-marketplace.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 15:04:27.052439 26328 olmv0_common.go:236] openssl command error for marketplace-metrics: exit status 1
  I0202 15:04:27.052646 26328 olmv0_common.go:232] Testing TLS 1.2 connection to route after restore: catalog-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 15:04:31.005360 26328 olmv0_common.go:245] TLS 1.2 connection to catalog-metrics works correctly after restore
  I0202 15:04:31.005542 26328 olmv0_common.go:232] Testing TLS 1.2 connection to route after restore: olm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 15:04:32.402059 26328 olmv0_common.go:245] TLS 1.2 connection to olm-metrics works correctly after restore
  I0202 15:04:32.402314 26328 olmv0_common.go:232] Testing TLS 1.2 connection to route after restore: psm-metrics-openshift-operator-lifecycle-manager.apps.yinzhou-22.qe.devcluster.openshift.com
  I0202 15:04:33.746303 26328 olmv0_common.go:245] TLS 1.2 connection to psm-metrics works correctly after restore
  I0202 15:04:33.746998 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route marketplace-metrics -n openshift-marketplace --ignore-not-found'
  I0202 15:04:35.029146 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route catalog-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0202 15:04:36.633024 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route olm-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0202 15:04:37.891419 26328 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route psm-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0202 15:04:43.185677 26328 client.go:524] Deleted {user.openshift.io/v1, Resource=users  e2e-test-default-bss7s-user}, err: <nil>
  I0202 15:04:43.470842 26328 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-default-bss7s}, err: <nil>
  I0202 15:04:43.754749 26328 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~UW5ETNwjP8s0NxPDdqnv0bwRJUZxFwPpGJCV49OUino}, err: <nil>
    STEP: Destroying namespace "e2e-test-default-bss7s" for this suite. @ 02/02/26 15:04:43.755
  • [1680.219 seconds]
  ------------------------------

  Ran 1 of 1 Specs in 1680.220 seconds
  SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
  {
    "name": "[sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow]",
    "lifecycle": "blocking",
    "duration": 1680214,
    "startTime": "2026-02-02 06:36:43.815884 UTC",
    "endTime": "2026-02-02 07:04:44.030695 UTC",
    "result": "passed",
...

return true, nil
})
if restoreErr != nil {
e2e.Logf("Warning: ClusterOperators did not stabilize after restore: %v", restoreErr)
Copy link
Contributor

@kuiwang02 kuiwang02 Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz need to indicate the case fail or not. for your code, once the co is not recovered, the case still pass, and it will provide the wrong information.

dr.RmIr(itName)
})

g.It("PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow]", g.Label("NonHyperShiftHOST"), func() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz per the latest log, it is 1680.219 seconds. it is greater than default 15m.

so, need to add [Timeout:xxxm], and suggest [Timeout:40m] to be

PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow][Timeout:40m]

or else, your case will be killed during execution.

}()

e2e.Logf("TLS configuration updated to Modern profile")
// Wait for TLS configuration to propagate to deployments
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz better to add CO checking here as well.

Copy link
Member Author

@jianzhangbjz jianzhangbjz Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once the TLS configuration is updated, many COs will not be ready, which is as expected. It will take twice as long if we check the CO here.

certFile := "/tmp/metrics-client-87188.crt"
keyFile := "/tmp/metrics-client-87188.key"

// Use base64 decoding directly without logging the content
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jianzhangbjz

		// Use base64 decoding directly without logging the content
		certData, err := base64.StdEncoding.DecodeString(clientCert)
		o.Expect(err).NotTo(o.HaveOccurred())
		err = os.WriteFile(certFile, certData, 0600)
		o.Expect(err).NotTo(o.HaveOccurred())

		keyData, err := base64.StdEncoding.DecodeString(clientKey)
		o.Expect(err).NotTo(o.HaveOccurred())
		err = os.WriteFile(keyFile, keyData, 0600)
		o.Expect(err).NotTo(o.HaveOccurred())

		// Cleanup temp files after test
		defer func() {
			_ = os.Remove(certFile)
			_ = os.Remove(keyFile)
		}()

better to

		// Use base64 decoding directly without logging the content
		certData, err := base64.StdEncoding.DecodeString(clientCert)
		o.Expect(err).NotTo(o.HaveOccurred())
		err = os.WriteFile(certFile, certData, 0600)
		o.Expect(err).NotTo(o.HaveOccurred())
		defer func() {
			_ = os.Remove(certFile)
		}()


		keyData, err := base64.StdEncoding.DecodeString(clientKey)
		o.Expect(err).NotTo(o.HaveOccurred())
		err = os.WriteFile(keyFile, keyData, 0600)
		o.Expect(err).NotTo(o.HaveOccurred())

		// Cleanup temp files after test
		defer func() {
			_ = os.Remove(keyFile)
		}()

or else, once

		keyData, err := base64.StdEncoding.DecodeString(clientKey)
		o.Expect(err).NotTo(o.HaveOccurred())
		err = os.WriteFile(keyFile, keyData, 0600)
		o.Expect(err).NotTo(o.HaveOccurred())

fails, the certFile is not removed.

for i, routeHost := range routeHosts {
e2e.Logf("Testing TLS 1.2 connection to route: %s", routeHost)
opensslCmd := fmt.Sprintf("echo | openssl s_client -connect %s:443 -tls1_2 2>&1 | grep -E 'Protocol|Cipher'", routeHost)
output, err := exec.Command("bash", "-c", opensslCmd).Output()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it sensitive info or not?

@jianzhangbjz
Copy link
Member Author

Test passed.

jiazha-mac:tests-extension jiazha$ ./bin/olmv0-tests-ext run-test "[sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow][Timeout:40m]"
  I0213 16:30:23.601995 22668 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: 1770971423 - will randomize all specs

  Will run 1 of 1 specs
  ------------------------------
  [sig-operator][Jira:OLM] OLMv0 should PolarionID:87188-Central TLS Profile Consistency[Serial][Disruptive][Slow][Timeout:40m] [NonHyperShiftHOST]
  /Users/jiazha/goproject/operator-framework-olm/tests-extension/test/qe/specs/olmv0_common.go:86
    STEP: Creating a kubernetes client @ 02/13/26 16:30:23.602
  I0213 16:30:28.607124 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig explain template.apiVersion'
  I0213 16:30:31.743447 22668 client.go:349] do not know if it is external oidc cluster or not, and try to check it again
  I0213 16:30:31.743851 22668 client.go:820] showInfo is true
  I0213 16:30:31.743880 22668 client.go:821] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get authentication/cluster -o=jsonpath={.spec.type}'
  I0213 16:30:33.107203 22668 clusters.go:572] Found authentication type used: 
  I0213 16:30:36.295386 22668 client.go:200] configPath is now "/var/folders/5n/w9ysf4w93jnfy7k19xxct31c0000gn/T/configfile732982047"
  I0213 16:30:36.295484 22668 client.go:363] The user is now "e2e-test-default-ts7fb-user"
  I0213 16:30:36.295496 22668 client.go:366] Creating project "e2e-test-default-ts7fb"
  I0213 16:30:37.634408 22668 client.go:375] Waiting on permissions in project "e2e-test-default-ts7fb" ...
  I0213 16:30:39.045263 22668 client.go:436] Waiting for ServiceAccount "default" to be provisioned...
  I0213 16:30:39.425169 22668 client.go:436] Waiting for ServiceAccount "builder" to be provisioned...
  I0213 16:30:39.795321 22668 client.go:436] Waiting for ServiceAccount "deployer" to be provisioned...
  I0213 16:30:40.270324 22668 client.go:446] Waiting for RoleBinding "system:image-builders" to be provisioned...
  I0213 16:30:40.850564 22668 client.go:446] Waiting for RoleBinding "system:deployers" to be provisioned...
  I0213 16:30:41.392722 22668 client.go:446] Waiting for RoleBinding "system:image-pullers" to be provisioned...
  I0213 16:30:42.007614 22668 client.go:477] Project "e2e-test-default-ts7fb" has been fully provisioned.
    STEP: Pre-check: Verify all ClusterOperators are stable @ 02/13/26 16:30:42.278
  I0213 16:30:42.279477 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:30:43.813543 22668 olmv0_common.go:117] All ClusterOperators are stable, proceeding with test
    STEP: 1) Check deployment logs for TLS configuration message @ 02/13/26 16:30:43.813
  I0213 16:30:43.813645 22668 olmv0_common.go:147] Checking logs for deployment package-server-manager in namespace openshift-operator-lifecycle-manager
  I0213 16:30:43.813783 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/package-server-manager -n openshift-operator-lifecycle-manager'
  I0213 16:30:46.140252 22668 olmv0_common.go:155] Deployment package-server-manager contains the expected TLS configuration message
  I0213 16:30:46.140397 22668 olmv0_common.go:147] Checking logs for deployment catalog-operator in namespace openshift-operator-lifecycle-manager
  I0213 16:30:46.140634 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/catalog-operator -n openshift-operator-lifecycle-manager'
  I0213 16:31:00.238241 22668 olmv0_common.go:155] Deployment catalog-operator contains the expected TLS configuration message
  I0213 16:31:00.238651 22668 olmv0_common.go:147] Checking logs for deployment olm-operator in namespace openshift-operator-lifecycle-manager
  I0213 16:31:00.238932 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/olm-operator -n openshift-operator-lifecycle-manager'
  I0213 16:34:47.273115 22668 olmv0_common.go:155] Deployment olm-operator contains the expected TLS configuration message
  I0213 16:34:47.273279 22668 olmv0_common.go:147] Checking logs for deployment marketplace-operator in namespace openshift-marketplace
  I0213 16:34:47.273688 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/marketplace-operator -n openshift-marketplace'
  I0213 16:34:49.211492 22668 olmv0_common.go:155] Deployment marketplace-operator contains the expected TLS configuration message
    STEP: 2) Create passthrough routes for metrics endpoints @ 02/13/26 16:34:49.211
  I0213 16:34:49.211802 22668 olmv0_common.go:168] Creating route marketplace-metrics for service marketplace-operator-metrics in namespace openshift-marketplace
  I0213 16:34:49.212056 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough marketplace-metrics --service=marketplace-operator-metrics --port=8081 -n openshift-marketplace'
  I0213 16:34:51.976988 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route marketplace-metrics -n openshift-marketplace -o=jsonpath={.spec.host}'
  I0213 16:34:52.975087 22668 olmv0_common.go:178] Route marketplace-metrics created with host: marketplace-metrics-openshift-marketplace.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:34:52.975228 22668 olmv0_common.go:168] Creating route catalog-metrics for service catalog-operator-metrics in namespace openshift-operator-lifecycle-manager
  I0213 16:34:52.975487 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough catalog-metrics --service=catalog-operator-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0213 16:34:54.306858 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route catalog-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0213 16:34:55.281105 22668 olmv0_common.go:178] Route catalog-metrics created with host: catalog-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:34:55.281289 22668 olmv0_common.go:168] Creating route olm-metrics for service olm-operator-metrics in namespace openshift-operator-lifecycle-manager
  I0213 16:34:55.281530 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough olm-metrics --service=olm-operator-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0213 16:34:56.505822 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route olm-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0213 16:34:57.504596 22668 olmv0_common.go:178] Route olm-metrics created with host: olm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:34:57.504754 22668 olmv0_common.go:168] Creating route psm-metrics for service package-server-manager-metrics in namespace openshift-operator-lifecycle-manager
  I0213 16:34:57.504980 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create route passthrough psm-metrics --service=package-server-manager-metrics --port=8443 -n openshift-operator-lifecycle-manager'
  I0213 16:34:58.838172 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get route psm-metrics -n openshift-operator-lifecycle-manager -o=jsonpath={.spec.host}'
  I0213 16:34:59.861113 22668 olmv0_common.go:178] Route psm-metrics created with host: psm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
    STEP: 3) Verify TLS 1.2 connection works with Intermediate profile (should NOT contain NONE) @ 02/13/26 16:34:59.861
  I0213 16:34:59.861375 22668 olmv0_common.go:183] Testing TLS 1.2 connection to route: marketplace-metrics-openshift-marketplace.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:02.114569 22668 olmv0_common.go:195] TLS 1.2 connection to marketplace-metrics works correctly with Intermediate profile
  I0213 16:35:02.114729 22668 olmv0_common.go:183] Testing TLS 1.2 connection to route: catalog-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:04.115608 22668 olmv0_common.go:195] TLS 1.2 connection to catalog-metrics works correctly with Intermediate profile
  I0213 16:35:04.115738 22668 olmv0_common.go:183] Testing TLS 1.2 connection to route: olm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:05.435212 22668 olmv0_common.go:195] TLS 1.2 connection to olm-metrics works correctly with Intermediate profile
  I0213 16:35:05.435358 22668 olmv0_common.go:183] Testing TLS 1.2 connection to route: psm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:06.760766 22668 olmv0_common.go:195] TLS 1.2 connection to psm-metrics works correctly with Intermediate profile
    STEP: 4) Update TLS configuration to Modern profile @ 02/13/26 16:35:06.76
  I0213 16:35:06.761245 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get apiserver cluster -o=jsonpath={.spec.tlsSecurityProfile}'
  I0213 16:35:07.691532 22668 olmv0_common.go:202] Original TLS profile: 
  I0213 16:35:07.691922 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig patch apiserver cluster --type=merge -p {"spec":{"tlsSecurityProfile":{"type":"Modern","modern":{}}}}'
  I0213 16:35:09.875319 22668 olmv0_common.go:282] TLS configuration updated to Modern profile
    STEP: Waiting for TLS configuration to propagate to deployments @ 02/13/26 16:35:09.875
  I0213 16:35:19.877290 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/package-server-manager -n openshift-operator-lifecycle-manager --since=2m'
  I0213 16:35:21.764798 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/catalog-operator -n openshift-operator-lifecycle-manager --since=2m'
  I0213 16:35:23.662205 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/olm-operator -n openshift-operator-lifecycle-manager --since=2m'
  I0213 16:35:27.095681 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig logs deployment/marketplace-operator -n openshift-marketplace --since=2m'
    STEP: 5) Verify TLS 1.2 connection fails with Modern profile (should contain NONE) @ 02/13/26 16:35:29.047
  I0213 16:35:29.047937 22668 olmv0_common.go:304] Testing TLS 1.2 connection to route with Modern profile: marketplace-metrics-openshift-marketplace.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:29.658678 22668 olmv0_common.go:316] TLS 1.2 connection to marketplace-metrics correctly rejected with Modern profile
  I0213 16:35:29.658856 22668 olmv0_common.go:304] Testing TLS 1.2 connection to route with Modern profile: catalog-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:30.273256 22668 olmv0_common.go:316] TLS 1.2 connection to catalog-metrics correctly rejected with Modern profile
  I0213 16:35:30.273406 22668 olmv0_common.go:304] Testing TLS 1.2 connection to route with Modern profile: olm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:31.872035 22668 olmv0_common.go:316] TLS 1.2 connection to olm-metrics correctly rejected with Modern profile
  I0213 16:35:31.872204 22668 olmv0_common.go:304] Testing TLS 1.2 connection to route with Modern profile: psm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:32.478902 22668 olmv0_common.go:316] TLS 1.2 connection to psm-metrics correctly rejected with Modern profile
    STEP: 6) Get metrics using appropriate authentication method @ 02/13/26 16:35:32.478
  I0213 16:35:32.479002 22668 tools.go:528] Getting a token assgined to specific serviceaccount from openshift-monitoring namespace...
  I0213 16:35:32.479150 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig create token prometheus-k8s -n openshift-monitoring'
  I0213 16:35:33.429583 22668 olmv0_common.go:325] Got prometheus-k8s token for OLM operator metrics
    STEP: Extract client certificates from metrics-client-certs secret @ 02/13/26 16:35:33.429
  I0213 16:35:35.375988 22668 olmv0_common.go:363] Client certificates extracted successfully
  I0213 16:35:35.376103 22668 olmv0_common.go:366] Fetching metrics from route: marketplace-metrics-openshift-marketplace.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:35.376171 22668 olmv0_common.go:375] Using client certificate authentication for marketplace metrics
  I0213 16:35:35.766222 22668 olmv0_common.go:386] Failed to fetch metrics from marketplace-metrics (error details omitted for security)
  I0213 16:35:35.766431 22668 olmv0_common.go:366] Fetching metrics from route: catalog-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:35.766457 22668 olmv0_common.go:380] Using bearer token authentication for catalog-metrics
  I0213 16:35:36.075605 22668 olmv0_common.go:386] Failed to fetch metrics from catalog-metrics (error details omitted for security)
  I0213 16:35:36.075756 22668 olmv0_common.go:366] Fetching metrics from route: olm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:36.075789 22668 olmv0_common.go:380] Using bearer token authentication for olm-metrics
  I0213 16:35:36.380561 22668 olmv0_common.go:386] Failed to fetch metrics from olm-metrics (error details omitted for security)
  I0213 16:35:36.380703 22668 olmv0_common.go:366] Fetching metrics from route: psm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:35:36.380744 22668 olmv0_common.go:380] Using bearer token authentication for psm-metrics
  I0213 16:35:36.715578 22668 olmv0_common.go:386] Failed to fetch metrics from psm-metrics (error details omitted for security)
  I0213 16:35:36.715709 22668 olmv0_common.go:398] TLS Profile Consistency test completed successfully
    STEP: Restoring original TLS configuration @ 02/13/26 16:35:36.716
  I0213 16:35:36.716777 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig patch apiserver cluster --type=json -p [{"op": "remove", "path": "/spec/tlsSecurityProfile"}]'
  I0213 16:35:38.055866 22668 olmv0_common.go:221] TLS configuration restored
    STEP: Waiting for all ClusterOperators to be stable after restore @ 02/13/26 16:35:38.056
  I0213 16:36:08.064754 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:36:09.524686 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:36:38.058896 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:36:40.526532 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:37:08.066025 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:37:09.633505 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:37:38.058809 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:37:40.905367 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:38:08.058646 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:38:10.151237 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:38:38.058442 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:38:39.310856 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:39:08.058351 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:39:09.596242 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:39:38.058125 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:39:39.411812 22668 olmv0_common.go:250] ClusterOperator authentication status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:40:08.057668 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:40:09.348172 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:40:38.058480 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:40:39.497187 22668 olmv0_common.go:250] ClusterOperator dns status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:41:08.058501 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:41:10.064613 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:41:38.058042 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:41:41.355242 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:42:08.057881 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:42:09.874458 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:42:38.057831 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:42:39.363607 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:43:08.057636 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:43:09.472734 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:43:38.058196 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:43:39.683535 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:44:08.058093 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:44:09.378006 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:44:38.057363 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:44:39.339396 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:45:08.057226 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:45:10.715103 22668 olmv0_common.go:250] ClusterOperator etcd status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:45:38.064749 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:45:40.690359 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:46:08.056800 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:46:09.326879 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:46:38.057631 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:46:39.496595 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:47:08.058132 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:47:09.502286 22668 olmv0_common.go:250] ClusterOperator dns status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:47:38.058632 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:47:41.409102 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:48:08.058587 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:48:10.739638 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:48:38.057698 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:48:40.231829 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:49:08.058476 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:49:10.823718 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:49:38.059911 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:49:39.584476 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:50:08.057378 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:50:09.582229 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:50:38.057168 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:50:39.426389 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:51:08.057276 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:51:10.008167 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:51:38.057364 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:51:39.942372 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:52:08.057177 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:52:10.557558 22668 olmv0_common.go:250] ClusterOperator kube-apiserver status: Available=True, Progressing=True, Degraded=False, waiting...
  I0213 16:52:38.056349 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig get clusteroperator -o=jsonpath={range .items[*]}{.metadata.name},{.status.conditions[?(@.type=="Available")].status},{.status.conditions[?(@.type=="Progressing")].status},{.status.conditions[?(@.type=="Degraded")].status};{end}'
  I0213 16:52:40.752933 22668 olmv0_common.go:254] All ClusterOperators are stable (Available=True, Progressing=False, Degraded=False)
    STEP: Verify TLS 1.2 connection succeeds after restore @ 02/13/26 16:52:40.753
  I0213 16:52:40.753099 22668 olmv0_common.go:264] Testing TLS 1.2 connection to route after restore: marketplace-metrics-openshift-marketplace.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:52:41.866227 22668 olmv0_common.go:268] openssl command error for marketplace-metrics: exit status 1
  I0213 16:52:41.866368 22668 olmv0_common.go:264] Testing TLS 1.2 connection to route after restore: catalog-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:52:43.208397 22668 olmv0_common.go:277] TLS 1.2 connection to catalog-metrics works correctly after restore
  I0213 16:52:43.208534 22668 olmv0_common.go:264] Testing TLS 1.2 connection to route after restore: olm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:52:45.754133 22668 olmv0_common.go:277] TLS 1.2 connection to olm-metrics works correctly after restore
  I0213 16:52:45.754273 22668 olmv0_common.go:264] Testing TLS 1.2 connection to route after restore: psm-metrics-openshift-operator-lifecycle-manager.apps.skundu-bkpks.qe.devcluster.openshift.com
  I0213 16:52:47.175173 22668 olmv0_common.go:277] TLS 1.2 connection to psm-metrics works correctly after restore
  I0213 16:52:47.175569 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route marketplace-metrics -n openshift-marketplace --ignore-not-found'
  I0213 16:52:48.725863 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route catalog-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0213 16:52:52.666628 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route olm-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0213 16:52:54.010544 22668 client.go:761] Running 'oc --kubeconfig=/Users/jiazha/22-kubeconfig delete route psm-metrics -n openshift-operator-lifecycle-manager --ignore-not-found'
  I0213 16:52:58.348039 22668 client.go:524] Deleted {user.openshift.io/v1, Resource=users  e2e-test-default-ts7fb-user}, err: <nil>
  I0213 16:52:58.657685 22668 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-default-ts7fb}, err: <nil>
  I0213 16:52:58.967978 22668 client.go:524] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~6C4i3nZxUSF12mRnzk3tXMbYbdIs5EDUp58buk-yBsk}, err: <nil>
    STEP: Destroying namespace "e2e-test-default-ts7fb" for this suite. @ 02/13/26 16:52:58.968
  • [1355.678 seconds]
  ------------------------------

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

@jianzhangbjz
Copy link
Member Author

Hi @kuiwang02 , could you help review it? Thanks!

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 13, 2026

@jianzhangbjz: all tests passed!

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

@kuiwang02
Copy link
Contributor

@jianzhangbjz I just get one last comment: is it required to be in disc env? is it stable in disc env?

if it is equal between connected and disc, I suggest to add [Skipped:Disconnected] to make disc job stable.
if we have to test it in disc env, no need to add it.

@jianzhangbjz
Copy link
Member Author

/payload-job periodic-ci-openshift-operator-framework-olm-release-4.22-periodics-e2e-gcp-ovn-ipi-disconnected-extended-f1

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 14, 2026

@jianzhangbjz: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-operator-framework-olm-release-4.22-periodics-e2e-gcp-ovn-ipi-disconnected-extended-f1

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/90f214c0-096f-11f1-9c76-11c012abf2c2-0

@jianzhangbjz
Copy link
Member Author

if it is equal between connected and disc, I suggest to add [Skipped:Disconnected] to make disc job stable.

It's not required in the disconnected env. But, usually, it's better to run a test case in the disconnected env as well. I triiger a disconnected env job for it. Please let me know if any concerns, thanks!

@jianzhangbjz
Copy link
Member Author

/payload-job periodic-ci-openshift-operator-framework-olm-release-4.22-periodics-e2e-gcp-ovn-ipi-disconnected-techpreview-extended-f2

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 14, 2026

@jianzhangbjz: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-operator-framework-olm-release-4.22-periodics-e2e-gcp-ovn-ipi-disconnected-techpreview-extended-f2

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/8ea214d0-0970-11f1-8929-d9f5e1dd8c54-0

@jianzhangbjz
Copy link
Member Author

/payload-job periodic-ci-openshift-operator-framework-olm-release-4.22-periodics-e2e-gcp-ovn-ipi-disconnected-techpreview-extended-f2

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 14, 2026

@jianzhangbjz: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-operator-framework-olm-release-4.22-periodics-e2e-gcp-ovn-ipi-disconnected-techpreview-extended-f2

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/83d255e0-098b-11f1-9703-2cc81fdae71c-0

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants