Skip to content

MCO-2451: Add automated TLS scanning presubmit for the MCO - #82232

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
isabella-janssen:mco-2451
Jul 28, 2026
Merged

MCO-2451: Add automated TLS scanning presubmit for the MCO#82232
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
isabella-janssen:mco-2451

Conversation

@isabella-janssen

@isabella-janssen isabella-janssen commented Jul 21, 2026

Copy link
Copy Markdown
Member

This adds a presubmit based on the TLS scanning tool described in https://github.com/richardsonnick/tls-scanner/tree/docs/running-binary-directly#cicd-workflow-recommended for the MCO. For now the job is optional and should be run manually on PRs. Once we know the test is stable, it will be turned on to run automatically and be required.

Summary by CodeRabbit

Adds an optional TLS/PQC readiness presubmit to the Machine Config Operator CI for main and release-5.0 configurations. The job uses the tls-scanner-tool base image, runs the tls-13 and tls-scanner-run tests on AWS with PQC scanning enabled, and is configured not to run on every change.

@openshift-ci-robot

openshift-ci-robot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

@isabella-janssen: This pull request references MCO-2451 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 story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

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

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 21, 2026
@openshift-ci
openshift-ci Bot requested review from djoshy and yuqi-zhang July 21, 2026 15:50
@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

Walkthrough

Adds the tls-scanner-tool base image and an optional tls-pqc-readiness AWS test job to the MCO main and release 5.0 CI configurations.

Changes

TLS PQC readiness configuration

Layer / File(s) Summary
Register TLS scanner base image
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml, ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0.yaml
Adds the tls-scanner-tool image using name 5.0, namespace ocp, and tag tls-scanner-tool.
Wire optional PQC readiness test
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml, ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0.yaml
Adds the optional tls-pqc-readiness job with PQC environment variables, tls-13 and tls-scanner-run test references, the openshift-org-aws cluster profile, and the ipi-aws workflow.

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

Possibly related PRs

Suggested reviewers: sergiordlr, jmguzik


Important

Pre-merge checks failed

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

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
Container-Privileges ❌ Error tls-scanner-run defaults to hostNetwork/hostPID with privileged:true and runAsUser:0, and the new job invokes it without setting TLS_SCANNER_CLUSTER_LABEL. Avoid the privileged scanner path: set a non-privileged mode/label if supported, or replace tls-scanner-run with a restricted pod spec.
Microshift Test Compatibility ⚠️ Warning The new tls-pqc-readiness job runs tls-13, which patches/reads FeatureGate, ClusterVersion, and APIServer TLSAdherence—APIs not on MicroShift. Add a MicroShift skip/guard for tls-13 or keep this presubmit out of MicroShift; avoid FeatureGate/APIServer patching on MicroShift.
✅ Passed checks (13 passed)
Check name Status Explanation
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 PASS: The PR only adds static CI job/config entries; no Ginkgo titles or dynamic test names are introduced.
Test Structure And Quality ✅ Passed PR only adds ci-operator/job YAML; no Ginkgo test code or test bodies changed, so this check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e specs were added; the PR only wires existing tls-13/tls-scanner-run CI refs in presubmit configs.
Topology-Aware Scheduling Compatibility ✅ Passed Only ci-operator config/job YAML changed; no deployment manifests, operator code, or scheduling constraints were added.
Ote Binary Stdout Contract ✅ Passed This PR only changes CI YAML/job generation; no source, main, or suite-setup code was modified, so the stdout contract is unaffected.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed New job only wires existing cluster-scoped tls-13/tls-scanner-run refs; inspected scripts use oc/kube API and show no hardcoded IPv4 or public internet calls.
No-Weak-Crypto ✅ Passed The PR only adds CI YAML for TLS scanning; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret-comparison code was introduced.
No-Sensitive-Data-In-Logs ✅ Passed The only additions are a new CI image and TLS test job; no passwords, tokens, PII, internal hostnames, or customer data are logged or introduced.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change by adding an automated TLS scanning presubmit for the MCO.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@isabella-janssen: 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-machine-config-operator-main-tls-pqc-readiness openshift/machine-config-operator presubmit Presubmit changed
pull-ci-openshift-machine-config-operator-release-5.0-tls-pqc-readiness openshift/machine-config-operator presubmit Presubmit changed
pull-ci-openshift-machine-config-operator-main-bootstrap-unit openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-agent-compact-ipv4 openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-agent-compact-ipv4-iso-no-registry openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-disruptive openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-mco-disruptive openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-fips openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-fips-op openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-ocb-techpreview openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-serial-ipsec openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-upgrade openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-upgrade-ipsec openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-upgrade-ocb-techpreview openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-upgrade-out-of-change openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-windows openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-ovn-workers-rhel8 openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-proxy openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-serial openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-single-node openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-upgrade-single-node openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-aws-workers-rhel8 openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-azure openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-main-e2e-azure-ovn-multidisk-techpreview openshift/machine-config-operator presubmit Ci-operator config changed

A total of 186 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here
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.

@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

🤖 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/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml`:
- Around line 773-785: The tls-pqc-readiness presubmit is manual-only because
always_run is false and no file-change trigger is configured. In both
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml
(lines 773-785) and
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0.yaml
(lines 774-786), update the tls-pqc-readiness job to run automatically by
setting always_run to true or adding an appropriate
run_if_changed/skip_if_only_changed pattern.
🪄 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: f2ae51c5-9bd7-449a-99de-1106413a7f69

📥 Commits

Reviewing files that changed from the base of the PR and between 243455e and ea88a19.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (2)
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0.yaml

@isabella-janssen

Copy link
Copy Markdown
Member Author

/testwith pull-ci-openshift-machine-config-operator-main-tls-pqc-readiness openshift/machine-config-operator#6297

@openshift-ci

openshift-ci Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

@isabella-janssen, testwith: Error processing request. ERROR:

could not determine job runs: requested job is invalid. needs to be formatted like: <org>/<repo>/<branch>/<variant?>/<job>. instead it was: pull-ci-openshift-machine-config-operator-main-tls-pqc-readiness

@openshift-ci

openshift-ci Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

@isabella-janssen: 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.

@cheesesashimi

Copy link
Copy Markdown
Member

/lgtm
/approve

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

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cheesesashimi, isabella-janssen

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

@isabella-janssen

Copy link
Copy Markdown
Member Author

/pj-rehearse skip

We will post-merge verify by running the new pre-submit on openshift/machine-config-operator#6297

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@isabella-janssen: 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 28, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 000d4cc into openshift:main Jul 28, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants