Skip to content

Adding PQC to perfscale - #81040

Open
jtaleric wants to merge 1 commit into
openshift:mainfrom
jtaleric:perfscale-pqc
Open

Adding PQC to perfscale#81040
jtaleric wants to merge 1 commit into
openshift:mainfrom
jtaleric:perfscale-pqc

Conversation

@jtaleric

@jtaleric jtaleric commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

This PR adds PQC coverage to the OpenShift QE perfscale CI infrastructure.

  • Adds a reusable openshift-qe-pqc step and step chain.
  • Applies and validates the APIServer PQC TLS security profile.
  • Adds scheduled AWS 6-node control-plane PQC jobs for OpenShift 4.22 and 5.0.
  • Enables TLSCurvePreferences and runs PQC, worker-scale, control-plane, and Orion workflows.

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds an OpenShift QE PQC step that configures and verifies API server TLS settings. Registers the step and chain with ownership metadata. Adds scheduled AWS performance-scale jobs for OpenShift 4.22 and 5.0 configurations.

Changes

PQC performance-scale automation

Layer / File(s) Summary
PQC TLS configuration step
ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.yaml, ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh
Defines the PQC step and its one-hour timeout. The script applies the custom API server TLS profile, monitors rollout conditions, verifies the resulting configuration, and fails after 60 minutes.
PQC chain and ownership wiring
ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml, ci-operator/step-registry/openshift-qe/pqc/*.metadata.json, ci-operator/step-registry/openshift-qe/pqc/OWNERS
Registers the openshift-qe-pqc chain and reference, adds approver and reviewer metadata, and links OWNERS to the parent directory.
Scheduled AWS job integration
ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-4.22-nightly-x86.yaml, ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-5.0-nightly-x86.yaml
Adds Tuesday and Friday control-plane-6nodes-pqc jobs with TLS curve preference settings and PQC-related test chains.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PerformanceScaleJob
  participant PQCChain
  participant PQCCommands
  participant OpenShiftAPIServer
  participant KubeAPIServerOperator
  PerformanceScaleJob->>PQCChain: Run openshift-qe-pqc
  PQCChain->>PQCCommands: Execute PQC command script
  PQCCommands->>OpenShiftAPIServer: Apply TLS security profile
  PQCCommands->>KubeAPIServerOperator: Poll rollout conditions
  KubeAPIServerOperator-->>PQCCommands: Return operator status
  PQCCommands->>OpenShiftAPIServer: Verify applied TLS profile
Loading

Possibly related PRs

Suggested labels: rehearsals-ack

Suggested reviewers: 0xfelix, aaradhak, afcollins


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error The script logs an unbounded Degraded condition message and full kube-apiserver YAML on failure (lines 132 and 142), which may expose internal hostnames or other cluster data. Restrict failure diagnostics to an allowlist of safe fields and redact or omit operator messages and full YAML before writing to CI logs.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding PQC support to perfscale jobs and workflows.
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 The pull request adds CI YAML, metadata, and a shell script; searches found no Ginkgo test declarations or dynamic test titles.
Test Structure And Quality ✅ Passed The pull request changes only CI YAML/JSON, an OWNERS link, and a shell script; it adds no Ginkgo test code, so these test-quality requirements are not applicable.
Microshift Test Compatibility ✅ Passed The PR adds CI configuration and a shell step, not Ginkgo tests; no changed It, Describe, Context, When, or test source requires MicroShift API compatibility review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No Go/e2e test files or Ginkgo declarations were added; the patch contains CI YAML/JSON, OWNERS, and a shell PQC rollout script, so this SNO test check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed The diff adds CI steps/jobs and an APIServer TLS configuration only; added lines contain no affinity, topology spread, replica, PDB, node selector, or toleration constraints.
Ote Binary Stdout Contract ✅ Passed The PR adds no Go or OTE binary code; its new ref invokes a shell CI script, so no process-level OTE stdout violation exists.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds only CI YAML, metadata, and a shell setup script; it adds no Ginkgo e2e tests or IPv4-only test logic, so this check is not applicable.
No-Weak-Crypto ✅ Passed Changed PQC code uses AES128-GCM-SHA256 and X25519/MLKEM; searches found no MD5, SHA1, DES, RC4, 3DES, Blowfish, or ECB, and comparisons cover status/configuration only.
Container-Privileges ✅ Passed The complete PR diff and generated PQC jobs contain no privileged, hostPID/hostNetwork/hostIPC, SYS_ADMIN, allowPrivilegeEscalation, or root security declarations.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci
openshift-ci Bot requested review from 0xFelix and aaradhak June 24, 2026 21:15
@jtaleric

Copy link
Copy Markdown
Contributor Author

Not sure why make update touched all these files :/

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ?

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jtaleric: job(s): ? either don't exist or were not found to be affected, and cannot be rehearsed

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🧹 Nitpick comments (1)
ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh (1)

2-3: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Prefer set -euo pipefail and avoid leaving -x enabled.

The script handles only non-sensitive oc operations, so tracing is not a credential-leak risk here. However, per guidelines the default should be set -euo pipefail (without -x), enabling -x only while actively debugging. Adding -u/-o pipefail also catches unset vars and masked pipe failures (e.g., the oc ... | jq / oc ... | grep pipelines).

♻️ Suggested change
-set -x
-set -e
+set -euo pipefail

As per coding guidelines: "Default to set -euo pipefail (without -x) in step registry scripts, and only enable -x when actively debugging".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh`
around lines 2 - 3, The script currently enables tracing with set -x and only
uses set -e; update the top-level shell options in openshift-qe-pqc-commands.sh
to default to set -euo pipefail and remove -x unless you are actively debugging.
Keep the change focused at the script setup so the existing oc/jq/grep pipeline
commands benefit from unset-variable and pipe-failure detection without leaving
tracing on.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml`:
- Around line 1-5: The PQC chain definition is incomplete and collides with
another registry entry: update the `openshift-qe-pqc` chain in
`openshift-qe-pqc-chain.yaml` so it no longer shares the same `as` name as
`openshift-qe-pqc-ref.yaml`, and add the missing `steps` list so the chain
actually runs the PQC TLS/setup step. Use the existing `chain` definition as the
locator, then either rename the chain or ref entry to a unique `as` value and
wire the appropriate step reference into `steps` so validation passes and the
workflow executes.

In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh`:
- Around line 28-53: The rollout check in openshift-qe-pqc-commands.sh can exit
successfully from the pre-change steady state because the initial wait only
warns and the loop in the kube-apiserver monitoring logic may see
Progressing=False/Available=True/Degraded=False before the TLS update applies.
Update the flow around the initial oc get co kube-apiserver wait and the main
status loop so completion is only allowed after observing the operator enter
Progressing and then return to stable, or require current_tls from oc get
apiserver cluster to equal Custom before printing rollout complete.

---

Nitpick comments:
In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh`:
- Around line 2-3: The script currently enables tracing with set -x and only
uses set -e; update the top-level shell options in openshift-qe-pqc-commands.sh
to default to set -euo pipefail and remove -x unless you are actively debugging.
Keep the change focused at the script setup so the existing oc/jq/grep pipeline
commands benefit from unset-variable and pipe-failure detection without leaving
tracing on.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 6633a4b5-a08a-44d1-96ac-0a0d14240f55

📥 Commits

Reviewing files that changed from the base of the PR and between 6693dfd and 64d874a.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (8)
  • ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__aws-4.22-nightly-x86.yaml
  • ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__aws-5.0-nightly-x86.yaml
  • ci-operator/step-registry/openshift-qe/pqc/OWNERS
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.metadata.json
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.metadata.json
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.yaml

Comment on lines +1 to +5

chain:
as: openshift-qe-pqc
documentation: |-
This chain executes pqc setup No newline at end of file

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.

🎯 Functional Correctness | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Confirm the duplicate registry name and inspect existing chains for required `steps:`.
fd -t f 'openshift-qe-pqc' ci-operator/step-registry/openshift-qe/pqc
echo "=== elements named openshift-qe-pqc ==="
rg -nP '^\s*as:\s*openshift-qe-pqc\s*$' ci-operator/step-registry
echo "=== sample chains: do they all have steps? ==="
fd -t f -e yaml -g '*-chain.yaml' ci-operator/step-registry/openshift-qe | head -5 | while read -r f; do echo "--- $f"; rg -n 'steps:' "$f" || echo "NO steps in $f"; done

Repository: openshift/release

Length of output: 1334


Duplicate as name and missing steps in PQC chain

Two blocking issues prevent the PQC workflow from building or running:

  1. Name Collision: Both openshift-qe-pqc-ref.yaml and openshift-qe-pqc-chain.yaml declare as: openshift-qe-pqc. The step registry namespace is shared across refs, chains, and workflows, causing make validate-step-registry to fail.
  2. Empty Chain Execution: The openshift-qe-pqc chain definition lacks a steps list. Without steps, the chain executes nothing, so the PQC TLS setup will not run.

Rename the ref to resolve the collision and add the step reference to the chain:

🐛 Proposed fix
# ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.yaml
 change: Rename file to openshift-qe-pqc-setup-ref.yaml and update 'as' key
-  as: openshift-qe-pqc
+  as: openshift-qe-pqc-setup

# ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml
 chain:
   as: openshift-qe-pqc
+  steps:
+  - ref: openshift-qe-pqc-setup
   documentation: |-
     This chain executes pqc setup 

Alternatively, remove chain.yaml and reference the ref directly in CI configs as - ref: openshift-qe-pqc.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml`
around lines 1 - 5, The PQC chain definition is incomplete and collides with
another registry entry: update the `openshift-qe-pqc` chain in
`openshift-qe-pqc-chain.yaml` so it no longer shares the same `as` name as
`openshift-qe-pqc-ref.yaml`, and add the missing `steps` list so the chain
actually runs the PQC TLS/setup step. Use the existing `chain` definition as the
locator, then either rename the chain or ref entry to a unique `as` value and
wire the appropriate step reference into `steps` so validation passes and the
workflow executes.

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh (1)

3-3: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use set -euo pipefail instead of bare set -e.

set -e alone leaves unset variables and pipeline failures unhandled. The script relies on several piped commands (e.g., Lines 28, 67, 107) and variable expansions, so -u and -o pipefail make failures surface deterministically.

♻️ Proposed change
-set -e
+set -euo pipefail

As per coding guidelines: "Default to set -euo pipefail (without -x) in step registry scripts".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh` at
line 3, The script currently uses only set -e, which leaves unset variables and
pipeline failures unchecked. Update the shell options at the top of
openshift-qe-pqc-commands.sh to use set -euo pipefail so failures in variable
expansions and piped commands are surfaced consistently; this applies to the
script’s command flow and any later pipelines it runs.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh`:
- Around line 86-93: The crypto verification logic in
openshift-qe-pqc-commands.sh is only warning on mismatch, which lets a bad
rollout pass silently. Update the verification block around the
actual_ciphers/actual_tls/actual_groups checks so that the failure path in the
script exits non-zero instead of just echoing a warning, while keeping the
success message for the matching case. Use the existing crypto verification
condition and the surrounding step flow to ensure a mismatch fails the step.

---

Nitpick comments:
In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh`:
- Line 3: The script currently uses only set -e, which leaves unset variables
and pipeline failures unchecked. Update the shell options at the top of
openshift-qe-pqc-commands.sh to use set -euo pipefail so failures in variable
expansions and piped commands are surfaced consistently; this applies to the
script’s command flow and any later pipelines it runs.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 11bbdb10-380c-44bd-ad20-db609eb594ae

📥 Commits

Reviewing files that changed from the base of the PR and between c5b6bc0 and e7ba879.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (8)
  • ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__aws-4.22-nightly-x86.yaml
  • ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__aws-5.0-nightly-x86.yaml
  • ci-operator/step-registry/openshift-qe/pqc/OWNERS
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.metadata.json
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.metadata.json
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.yaml
✅ Files skipped from review due to trivial changes (4)
  • ci-operator/step-registry/openshift-qe/pqc/OWNERS
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.metadata.json
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.yaml
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-chain.metadata.json
🚧 Files skipped from review as they are similar to previous changes (3)
  • ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-ref.yaml
  • ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__aws-5.0-nightly-x86.yaml
  • ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__aws-4.22-nightly-x86.yaml

Comment on lines +86 to +93
# Verify settings match
if [[ "$actual_ciphers" == "ECDHE-ECDSA-AES128-GCM-SHA256" ]] && \
[[ "$actual_tls" == "VersionTLS12" ]] && \
[[ "$actual_groups" == "X25519MLKEM768 X25519" ]]; then
echo "✓ Crypto settings verified correctly!"
else
echo "⚠ Warning: Crypto settings may not match expected values"
fi

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Crypto verification mismatch is non-fatal — the step passes even when the wrong profile is applied.

When actual_ciphers/actual_tls/actual_groups don't match the expected values, the script only prints a warning (Line 92) and the step still exits 0. For a verification step this silently masks a failed rollout. Consider exiting non-zero on mismatch so the job actually fails.

🛡️ Proposed change
         else
-            echo "⚠ Warning: Crypto settings may not match expected values"
+            echo "ERROR: Crypto settings do not match expected values"
+            exit 1
         fi
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Verify settings match
if [[ "$actual_ciphers" == "ECDHE-ECDSA-AES128-GCM-SHA256" ]] && \
[[ "$actual_tls" == "VersionTLS12" ]] && \
[[ "$actual_groups" == "X25519MLKEM768 X25519" ]]; then
echo "✓ Crypto settings verified correctly!"
else
echo "⚠ Warning: Crypto settings may not match expected values"
fi
# Verify settings match
if [[ "$actual_ciphers" == "ECDHE-ECDSA-AES128-GCM-SHA256" ]] && \
[[ "$actual_tls" == "VersionTLS12" ]] && \
[[ "$actual_groups" == "X25519MLKEM768 X25519" ]]; then
echo "✓ Crypto settings verified correctly!"
else
echo "ERROR: Crypto settings do not match expected values"
exit 1
fi
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ci-operator/step-registry/openshift-qe/pqc/openshift-qe-pqc-commands.sh`
around lines 86 - 93, The crypto verification logic in
openshift-qe-pqc-commands.sh is only warning on mismatch, which lets a bad
rollout pass silently. Update the verification block around the
actual_ciphers/actual_tls/actual_groups checks so that the failure path in the
script exits non-zero instead of just echoing a warning, while keeping the
success message for the matching case. Use the existing crypto verification
condition and the surrounding step flow to ensure a mismatch fails the step.

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jtaleric

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jtaleric: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@jtaleric

jtaleric commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jtaleric

jtaleric commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-ci

openshift-ci Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@jtaleric: The following test 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/periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc 6589b9e link unknown /pj-rehearse periodic-ci-openshift-eng-ocp-qe-perfscale-ci-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc

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.

…hift#82763)

* Add driver-toolkit qualifier for 5.0 nightly verification jobs

* Run make release-controllers to regenerate priv 5.0 config

Regenerates core-services/release-controller/_releases/priv/release-ocp-5.0.json
to include the driver-toolkit qualifier, keeping generated output in sync
with the release-qualifiers.yaml and release-ocp-5.0.json changes.
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jtaleric
Once this PR has been reviewed and has the lgtm label, please assign bradmwilliams for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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 removed the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 3, 2026

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (1)
ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-4.22-nightly-x86.yaml (1)

41-42: 🩺 Stability & Availability | 🔵 Trivial | 💤 Low value

The new PQC job reuses the 05:00 Tue/Fri slot in both variants. Both new control-plane-6nodes-pqc jobs use cron: 0 5 * * 2,5 and cluster_profile: aws-perfscale-qe, and each variant already schedules control-plane-24nodes in that slot. Concurrent large AWS installs on one shared profile can exhaust the quota and cause install failures or queueing.

  • ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-4.22-nightly-x86.yaml#L41-L42: offset this cron from the control-plane-24nodes schedule at Line 224 (0 5 * * 2,5).
  • ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-5.0-nightly-x86.yaml#L78-L79: offset this cron from the control-plane-24nodes schedule at Line 226 (0 5 * * 6,2,4,5), which overlaps on Tuesday and Friday.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-4.22-nightly-x86.yaml`
around lines 41 - 42, The new control-plane-6nodes-pqc cron schedules overlap
with control-plane-24nodes on the shared AWS profile. Offset the cron in
ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-4.22-nightly-x86.yaml
lines 41-42 from the Tuesday/Friday 05:00 slot, and likewise offset the cron in
ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-5.0-nightly-x86.yaml
lines 78-79 to avoid its Tuesday/Friday overlaps; leave the
control-plane-24nodes schedules unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In
`@ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-4.22-nightly-x86.yaml`:
- Around line 41-42: The new control-plane-6nodes-pqc cron schedules overlap
with control-plane-24nodes on the shared AWS profile. Offset the cron in
ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-4.22-nightly-x86.yaml
lines 41-42 from the Tuesday/Friday 05:00 slot, and likewise offset the cron in
ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-5.0-nightly-x86.yaml
lines 78-79 to avoid its Tuesday/Friday overlaps; leave the
control-plane-24nodes schedules unchanged.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro Plus

Run ID: eec83430-5f8b-4af5-82e4-e775e3fa6644

📥 Commits

Reviewing files that changed from the base of the PR and between 6cf40b5 and a28161d.

📒 Files selected for processing (2)
  • ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-4.22-nightly-x86.yaml
  • ci-operator/config/openshift-eng/ocp-perfscale/openshift-eng-ocp-perfscale-main__aws-5.0-nightly-x86.yaml

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@jtaleric: 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
periodic-ci-openshift-eng-ocp-perfscale-main-aws-5.0-nightly-x86-control-plane-6nodes-pqc N/A periodic Periodic changed
periodic-ci-openshift-eng-ocp-perfscale-main-aws-4.22-nightly-x86-control-plane-6nodes-pqc N/A periodic Periodic 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants