Skip to content

Fix etcd-metric-signer secret name in PKI verification step#82191

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
hasbro17:fix-etcd-metrics-signer-name
Jul 22, 2026
Merged

Fix etcd-metric-signer secret name in PKI verification step#82191
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
hasbro17:fix-etcd-metrics-signer-name

Conversation

@hasbro17

@hasbro17 hasbro17 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fix secret name mismatch for etcd metrics signer: the operator creates it as etcd-metric-signer
    (pkg/tlshelpers/tlshelpers.go:40), but the verification step was looking for etcd-metrics-signer
  • Improve PKI verification summary table to show expected-vs-actual mismatch details on failure instead of just the secret path

Test plan

  • /test e2e-aws-ovn-pki-rsa-techpreview on a cluster-etcd-operator or installer PR to confirm the etcd-metric-signer check passes

Summary by CodeRabbit

Updates OpenShift installer PKI verification to use the operator-created etcd-metric-signer secret, preventing false verification failures. Failed signer and PKI CR checks now report expected-versus-actual mismatch details in the summary table, improving troubleshooting for affected CI and installer validation jobs.

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 21, 2026
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 1b4b650c-1b5a-468d-9b68-7fe2eedfa61a

📥 Commits

Reviewing files that changed from the base of the PR and between bc9fded and 59bcbb0.

📒 Files selected for processing (1)
  • ci-operator/step-registry/openshift/installer/pki/verify/openshift-installer-pki-verify-commands.sh

Walkthrough

The PKI verification script updates the etcd metrics signer secret mapping, captures certificate algorithm and key mismatches, and reports explicit PKI custom resource mode details for pass and fail results.

Changes

PKI verification

Layer / File(s) Summary
Signer certificate verification
ci-operator/step-registry/openshift/installer/pki/verify/openshift-installer-pki-verify-commands.sh
The signer mapping references the updated etcd metrics secret, while failed certificate checks report expected and actual algorithm or key-parameter values.
PKI CR mode verification
ci-operator/step-registry/openshift/installer/pki/verify/openshift-installer-pki-verify-commands.sh
PKI CR results report the matched mode on success and the expected-versus-actual mode on failure.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main fix: correcting the signer secret name used by the PKI verification step.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR only changed a shell verification script; no It/Describe/Context/When test titles were added or edited.
Test Structure And Quality ✅ Passed PR only edits a shell PKI verification script; no Ginkgo It/BeforeEach/AfterEach code was changed, so the test-quality check is not applicable.
Microshift Test Compatibility ✅ Passed Only a PKI verification shell script changed; no new Ginkgo It/Describe/Context/When tests were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Only a PKI verification shell step changed; no new Ginkgo e2e tests or multi-node assumptions were added, so the SNO check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only a PKI verification shell script changed; it updates secret names and failure messages, with no manifests or scheduling logic.
Ote Binary Stdout Contract ✅ Passed Only a ci-operator bash step script changed; it’s not an OTE binary or process-level test entrypoint, so the stdout contract isn’t implicated.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Only a shell script changed; no new Ginkgo e2e tests or network assumptions were added.
No-Weak-Crypto ✅ Passed Changed file only adjusts PKI verification logging and secret naming; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons found.
Container-Privileges ✅ Passed PASS: The only changed file is a Bash verification script; the diff contains no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings.
No-Sensitive-Data-In-Logs ✅ Passed New log details are limited to cert algorithm/key params and PKI mode; no passwords, tokens, PII, session IDs, or hostnames were added.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

…ostics

The etcd metrics signer secret is named "etcd-metric-signer" in the
cluster-etcd-operator (pkg/tlshelpers/tlshelpers.go:40), not
"etcd-metrics-signer". The name mismatch caused the PKI verification
step to fail with "Could not find certificate from <stdin>".

Also surface expected-vs-actual mismatch details in the summary table
for failed checks instead of only showing the secret path, so failures
can be diagnosed from the summary without scrolling through the full log.

Assisted-by: Claude Code (Opus 4.6)
@hasbro17
hasbro17 force-pushed the fix-etcd-metrics-signer-name branch from 91df12a to 59bcbb0 Compare July 21, 2026 04:26
@openshift-ci
openshift-ci Bot requested review from kaleemsiddiqu and sanchezl July 21, 2026 04:26
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@hasbro17: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-installer-main-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-main-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.1-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.1-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.0-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.0-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.23-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.23-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.22-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.22-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-main-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-main-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.1-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.1-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.0-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.0-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-4.23-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-4.23-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@hasbro17: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-cluster-etcd-operator-main-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-main-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.1-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.1-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.0-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-5.0-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-4.23-e2e-aws-ovn-pki-default-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-cluster-etcd-operator-release-4.23-e2e-aws-ovn-pki-rsa-techpreview openshift/cluster-etcd-operator presubmit Registry content changed
pull-ci-openshift-installer-main-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-main-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.1-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.1-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.0-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-5.0-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.23-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.23-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.22-e2e-aws-ovn-pki-default-techpreview openshift/installer presubmit Registry content changed
pull-ci-openshift-installer-release-4.22-e2e-aws-ovn-pki-rsa-techpreview openshift/installer presubmit Registry content changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@hasbro17

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@hasbro17: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

if [[ "${status}" == "PASS" ]]; then
results+=("${status}|${description}|${namespace}/${secret_name}")
else
results+=("${status}|${description}|${fail_details}")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we should add ${namespace}/${secret_name} in case of failure too

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we're ok since it starts with Checking: ${description} (${namespace}/${secret_name}) above.

@sanchezl sanchezl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

"aggregator-signer|aggregator-client-signer|openshift-kube-apiserver-operator|tls.crt"
"etcd-signer|etcd-signer|openshift-etcd|tls.crt"
"etcd-metrics-signer|etcd-metrics-signer|openshift-etcd|tls.crt"
"etcd-metrics-signer|etcd-metric-signer|openshift-etcd|tls.crt"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit: the description still has the 's'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The description should be okay since it doesn't affect the test, and technically it should be metrics-signer since it's plural.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 22, 2026
@sanchezl

Copy link
Copy Markdown
Contributor

/retest required

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hasbro17, sanchezl

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

@sanchezl

Copy link
Copy Markdown
Contributor

/retest

@sanchezl

Copy link
Copy Markdown
Contributor

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@sanchezl: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@hasbro17

Copy link
Copy Markdown
Contributor Author

Tests look okay now. None of the installer certs pass but that's expected since we're still waiting for openshift/installer#10595 to merge. The etcd-metric typo is fixed along with the more detailed summary table errors.

https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_release/82191/rehearse-82191-pull-ci-openshift-installer-main-e2e-aws-ovn-pki-rsa-techpreview/2079425866378514432

{  - OK
--- Checking: etcd-metrics-signer (openshift-etcd/etcd-metric-signer) ---
  Algorithm: rsaEncryption - OK
  Key param: Public-Key: (4096 bit) - OK

--- Checking PKI CR ---
  Mode: Custom - OK

=============================================
PKI Verification Summary
=============================================
STATUS | CHECK                                         | DETAIL
-------+-----------------------------------------------+-------
FAIL   | root-ca                                       | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
FAIL   | kube-apiserver-to-kubelet-signer              | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
FAIL   | kube-apiserver-localhost-signer               | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
FAIL   | kube-apiserver-service-network-signer         | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
FAIL   | kube-apiserver-lb-signer                      | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
FAIL   | kube-control-plane-signer                     | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
FAIL   | aggregator-signer                             | key: expected Public-Key: (4096 bit), got Public-Key: (2048 bit)
PASS   | etcd-signer                                   | openshift-etcd/etcd-signer
PASS   | etcd-metrics-signer                           | openshift-etcd/etcd-metric-signer
PASS   | PKI CR                                        | mode=Custom

Total: 10, Passed: 3, Failed: 7
=============================================

@hasbro17

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@hasbro17: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 22, 2026
@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

@hasbro17: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/installer/release-5.0/e2e-aws-ovn-pki-default-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-installer-release-5.0-e2e-aws-ovn-pki-default-techpreview
ci/rehearse/openshift/cluster-etcd-operator/release-5.0/e2e-aws-ovn-pki-default-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-cluster-etcd-operator-release-5.0-e2e-aws-ovn-pki-default-techpreview
ci/rehearse/openshift/cluster-etcd-operator/main/e2e-aws-ovn-pki-default-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-cluster-etcd-operator-main-e2e-aws-ovn-pki-default-techpreview
ci/rehearse/openshift/installer/main/e2e-aws-ovn-pki-default-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-installer-main-e2e-aws-ovn-pki-default-techpreview
ci/rehearse/openshift/installer/release-5.1/e2e-aws-ovn-pki-default-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-installer-release-5.1-e2e-aws-ovn-pki-default-techpreview
ci/rehearse/openshift/installer/release-5.1/e2e-aws-ovn-pki-rsa-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-installer-release-5.1-e2e-aws-ovn-pki-rsa-techpreview
ci/rehearse/openshift/installer/main/e2e-aws-ovn-pki-rsa-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-installer-main-e2e-aws-ovn-pki-rsa-techpreview
ci/rehearse/openshift/cluster-etcd-operator/release-5.1/e2e-aws-ovn-pki-rsa-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-cluster-etcd-operator-release-5.1-e2e-aws-ovn-pki-rsa-techpreview
ci/rehearse/openshift/cluster-etcd-operator/release-5.1/e2e-aws-ovn-pki-default-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-cluster-etcd-operator-release-5.1-e2e-aws-ovn-pki-default-techpreview
ci/rehearse/openshift/cluster-etcd-operator/main/e2e-aws-ovn-pki-rsa-techpreview 59bcbb0 link unknown /pj-rehearse pull-ci-openshift-cluster-etcd-operator-main-e2e-aws-ovn-pki-rsa-techpreview

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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 208e27d into openshift:main Jul 22, 2026
9 of 20 checks passed
fracappa pushed a commit to fracappa/release that referenced this pull request Jul 22, 2026
…ostics (openshift#82191)

The etcd metrics signer secret is named "etcd-metric-signer" in the
cluster-etcd-operator (pkg/tlshelpers/tlshelpers.go:40), not
"etcd-metrics-signer". The name mismatch caused the PKI verification
step to fail with "Could not find certificate from <stdin>".

Also surface expected-vs-actual mismatch details in the summary table
for failed checks instead of only showing the secret path, so failures
can be diagnosed from the summary without scrolling through the full log.

Assisted-by: Claude Code (Opus 4.6)
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. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants