Skip to content

Add tls-scanner-run to RHOAI e2e job - #82555

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ugiordan:rhoai-tls-scanner
Jul 29, 2026
Merged

Add tls-scanner-run to RHOAI e2e job#82555
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ugiordan:rhoai-tls-scanner

Conversation

@ugiordan

@ugiordan ugiordan commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Adds tls-scanner-run as a post-test step to the opendatahub-operator-rhoai-e2e job to scan for TLS configuration issues in deployed RHOAI components.

Configuration

  • PQC_CHECK: "true" - enable post-quantum crypto checks
  • SCAN_NAMESPACE: redhat-ods-operator,redhat-ods-applications - scan both RHOAI namespaces

Reference

Testing

The tls-scanner-run step executes after the e2e test completes and scans the deployed cluster for TLS configuration issues. Findings are reported as test failures if critical issues are detected.

Summary by CodeRabbit

Updates the OpenDataHub Operator RHOAI end-to-end prow job (opendatahub-operator-rhoai-e2e) to run tls-scanner-run after the e2e test completes. The job now enables post-quantum TLS scanning (PQC_CHECK: "true") and targets the redhat-ods-operator and redhat-ods-applications namespaces (SCAN_NAMESPACE). Critical TLS configuration findings from this scanner are reported as test failures. This change also adds the tls-scanner-tool image to the job’s configured base_images.

@coderabbitai

coderabbitai Bot commented Jul 28, 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: Pro Plus

Run ID: f682f1da-16a7-4a42-be0b-72692852317b

📥 Commits

Reviewing files that changed from the base of the PR and between fc2f7af and 8acc940.

📒 Files selected for processing (1)
  • ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml

Walkthrough

The RHOAI operator E2E pipeline now defines the TLS scanner image, sets PQC and scan namespace environment variables, and invokes the tls-scanner-run step.

Changes

RHOAI E2E TLS scanner

Layer / File(s) Summary
Configure E2E TLS scanning
ci-operator/config/opendatahub-io/opendatahub-operator/...main.yaml
Adds the tls-scanner-tool image, configures PQC_CHECK and SCAN_NAMESPACE, and references tls-scanner-run in the E2E job.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: davidebianchi, chambridge

🚥 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 clearly matches the main change: adding the tls-scanner-run step to the RHOAI e2e job.
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 Only ci-operator config changed; no Ginkgo test titles were added or modified, so the check is not applicable.
Test Structure And Quality ✅ Passed Only ci-operator YAML changed; no Ginkgo test code or related assertions/setup were modified.
Microshift Test Compatibility ✅ Passed No new Ginkgo tests were added; this PR only updates CI YAML with a post-test tls-scanner-run step, so MicroShift test compatibility is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Only CI YAML changed; no new Ginkgo tests or multi-node assumptions were added. tls-scanner-run is a post-test scanner step, not topology-sensitive e2e code.
Topology-Aware Scheduling Compatibility ✅ Passed Only a ci-operator job config changed; it adds a post-test tls-scanner step and env vars, with no pod scheduling fields or deployment/controller code.
Ote Binary Stdout Contract ✅ Passed The PR only changes a CI YAML config; no process-level code (main/init/TestMain/suite setup) was modified, so stdout contract violations are not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Only CI config/step-registry changed; no new Ginkgo tests or public-network/IPv4-only assumptions found in tls-scanner-run.
No-Weak-Crypto ✅ Passed The change only adds tls-scanner-run with PQC_CHECK/SCAN_NAMESPACE; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons were introduced.
Container-Privileges ✅ Passed Changed ci-operator YAML adds a post-test step and env vars only; no privileged, hostPID/Network/IPC, SYS_ADMIN, or allowPrivilegeEscalation settings are present.
No-Sensitive-Data-In-Logs ✅ Passed No new logging or secret-bearing values were added; the diff only adds a tls-scanner step and benign env vars, matching existing CI patterns.
✨ 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 added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 28, 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/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml (1)

126-127: 📐 Maintainability & Code Quality | 🔵 Trivial

Regenerate and validate CI artifacts for the new post-step.

Adding tls-scanner-run changes the CI job structure, so run make update / make registry-metadata && make ci-operator-config && make jobs and include the generated PR changes when submitting.
[maintainability和code_quality]

🤖 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/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml`
around lines 126 - 127, Regenerate the CI artifacts after adding the
tls-scanner-run post-step by running make update, make registry-metadata && make
ci-operator-config && make jobs, then include all resulting generated changes in
the pull request.

Sources: Coding guidelines, Learnings

🤖 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/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml`:
- Around line 126-127: Regenerate the CI artifacts after adding the
tls-scanner-run post-step by running make update, make registry-metadata && make
ci-operator-config && make jobs, then include all resulting generated changes in
the pull request.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro Plus

Run ID: dd2cf08f-f231-4920-9089-effb787a082c

📥 Commits

Reviewing files that changed from the base of the PR and between ce0fbdb and 2778ba3.

📒 Files selected for processing (1)
  • ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml

@ugiordan
ugiordan force-pushed the rhoai-tls-scanner branch from 2778ba3 to 6f7f910 Compare July 28, 2026 14:55
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@ugiordan: pj-rehearse could not automatically process this event because the request waited in queue for longer than 5 minutes. Use /pj-rehearse to trigger rehearsals manually.

@ugiordan
ugiordan force-pushed the rhoai-tls-scanner branch from 6f7f910 to 08b9f11 Compare July 28, 2026 15:01
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@ugiordan: pj-rehearse could not automatically process this event because the request waited in queue for longer than 5 minutes. Use /pj-rehearse to trigger rehearsals manually.

@ugiordan
ugiordan force-pushed the rhoai-tls-scanner branch from 08b9f11 to 6887e15 Compare July 28, 2026 15:13
@ugiordan

Copy link
Copy Markdown
Contributor Author

/pj-rehearse

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@ugiordan
ugiordan force-pushed the rhoai-tls-scanner branch from 6887e15 to fc2f7af Compare July 28, 2026 16:02

@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/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml`:
- Line 161: Regenerate the derived CI metadata and Prow job artifacts after
adding the tls-scanner-run step to the CI configuration, ensuring the generated
outputs reflect the updated job definition before merging.
🪄 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: Pro Plus

Run ID: 5ec15594-08e6-4144-88c9-7c6a7207f3d1

📥 Commits

Reviewing files that changed from the base of the PR and between 6f7f910 and fc2f7af.

📒 Files selected for processing (1)
  • ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml

cpu: 2000m
memory: 3Gi
timeout: 3h0m0s
- ref: tls-scanner-run

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.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate target file =="
fd -a 'opendatahub-io-opendatahub-operator-main\.yaml$' . || true

echo "== target references =="
if [ -f ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml ]; then
  wc -l ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml
  sed -n '140,175p' ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml
fi

echo "== changed files/stat =="
git diff --stat || true
git diff -- ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml | sed -n '1,220p' || true

echo "== generated config status mentions =="
git ls-files ci-operator | sed -n '1,80p' | rg 'generated|metadata|config|jobs|Prow|Prow jobs|metadata' || true
rg -n "Generated|generated|Prow|make update|make registry-metadata|make ci-operator-config|make jobs|needs to|must be regenerated" README.md Makefile ci-operator/config 2>/dev/null | sed -n '1,220p' || true

Repository: openshift/release

Length of output: 37354


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repository Makefile rules =="
if [ -f Makefile ]; then
  sed -n '/registry-metadata/ci-operator-config/jobs/update/p' Makefile | sed -n '1,240p' || true
  rg -n '^registry-metadata:|^ci-operator-config:|^jobs:|^update:' Makefile || true
fi

echo "== CI config related metadata files =="
rg -n "zz_generated_metadata|generated-metadata|metadata|prowing|Prow jobs|generated Prow jobs" ci-operator/config README.md Makefile 2>/dev/null || true

echo "== check whether target config has step in both diff and file =="
python3 - <<'PY'
from pathlib import Path
p=Path('ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml')
if p.exists():
    text=p.read_text()
    print('exists True')
    for i,line in enumerate(text.splitlines(),1):
        if 'tls-scanner-run' in line:
            print(f'{i}:{line.strip()}')
    print('total_lines', len(text.splitlines()))
else:
    print('exists False')
PY

Repository: openshift/release

Length of output: 50374


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== CI config related metadata files and generated artifacts =="
git ls-files | rg '(^ci-operator/config/.+/.*|Makefile|README\.md|zz_generated_metadata|generated.*metadata|.*Prow.*|.*jobs.*)' | sed -n '1,200p' || true

echo "== exact search for generated metadata/jobs wording =="
rg -n "generated metadata|zz_generated_metadata|Prow jobs|generated Prow|make update|make registry-metadata|make ci-operator-config|make jobs" . \
  -g 'Makefile' -g 'README.md' -g '*ci-operator*' -g '*generated*' -g '*.yaml' -g '*.yml' | sed -n '1,240p' || true

echo "== diff around exact target line with context =="
git diff -- ci-operator/config/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml | sed -n '1,260p' || true

Repository: openshift/release

Length of output: 47231


Validate generated CI artifacts for the new scan step.

This CI job has been modified, so regenerate/generate the derived CI metadata and Prow jobs before merging.

🤖 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/opendatahub-io/opendatahub-operator/opendatahub-io-opendatahub-operator-main.yaml`
at line 161, Regenerate the derived CI metadata and Prow job artifacts after
adding the tls-scanner-run step to the CI configuration, ensuring the generated
outputs reflect the updated job definition before merging.

Sources: Coding guidelines, Learnings

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@ugiordan: pj-rehearse could not automatically process this event because the request waited in queue for longer than 5 minutes. Use /pj-rehearse to trigger rehearsals manually.

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

Copy link
Copy Markdown
Contributor

/retest

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/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 Jul 29, 2026
@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/test

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/test generated-config

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/hold cancel

@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 Jul 29, 2026
@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/rehearsals-ack

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/label rehearsals-ack

@openshift-ci

openshift-ci Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

@GowthamShanmugam: The label(s) /label rehearsals-ack cannot be applied. These labels are supported: acknowledge-critical-fixes-only, platform/aws, platform/azure, platform/baremetal, platform/google, platform/libvirt, platform/openstack, ga, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, px-approved, docs-approved, qe-approved, ux-approved, no-qe, rebase/manual, cluster-config-api-changed, run-integration-tests, verified, ready-for-human-review, approved, backport-risk-assessed, bugzilla/valid-bug, cherry-pick-approved, jira/skip-dependent-bug-check, jira/valid-bug, ok-to-test, priority/ci-critical, stability-fix-approved, staff-eng-approved. Is this label configured under labels -> additional_labels or labels -> restricted_labels in plugin.yaml?

Details

In response to this:

/label rehearsals-ack

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.

Adds tls-scanner-run as a test step to the opendatahub-operator-rhoai-e2e
job to enforce TLS compliance scanning on deployed RHOAI components.

Configuration:
- tls-scanner-tool base image from OCP 4.22
- Runs as final test step (blocks PR on failure, can be overridden)
- PQC_CHECK: true (enable post-quantum crypto checks)
- SCAN_NAMESPACE: redhat-ods-operator,redhat-ods-applications

Follows the pattern from compliance-operator (PR openshift#78651).

Reference: https://steps.ci.openshift.org/reference/tls-scanner-run
Related: RHOAIENG-61076

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@ugiordan
ugiordan force-pushed the rhoai-tls-scanner branch from fc2f7af to 8acc940 Compare July 29, 2026 09:20
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 29, 2026
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 29, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@ugiordan: 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-opendatahub-io-opendatahub-operator-main-images opendatahub-io/opendatahub-operator presubmit Ci-operator config changed
pull-ci-opendatahub-io-opendatahub-operator-main-opendatahub-operator-e2e opendatahub-io/opendatahub-operator presubmit Ci-operator config changed
pull-ci-opendatahub-io-opendatahub-operator-main-opendatahub-operator-rhoai-e2e opendatahub-io/opendatahub-operator presubmit Ci-operator config 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.

@ugiordan

Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@ugiordan

Copy link
Copy Markdown
Contributor Author

/retest

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/pj-rehearse pull-ci-opendatahub-io-opendatahub-operator-main-opendatahub-operator-rhoai-e2e

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/pj-rehearse ask

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@ugiordan

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-opendatahub-io-opendatahub-operator-main-opendatahub-operator-rhoai-e2e

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/pj-rehearse ack

@openshift-ci

openshift-ci Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: GowthamShanmugam, ugiordan

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

@GowthamShanmugam

Copy link
Copy Markdown
Contributor

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@GowthamShanmugam: 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 29, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@GowthamShanmugam: 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 merged commit fb1c6c9 into openshift:main Jul 29, 2026
14 of 15 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. 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.

2 participants