Skip to content

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 2 times, most recently from cf57c4a to 361a58d Compare January 30, 2026 10:17
@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",
...

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 2, 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.

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.

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?

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