Skip to content

OSSM: skip TLS ADherence test to avoid failures - #83115

Open
fjglira wants to merge 1 commit into
openshift:mainfrom
fjglira:skip-tls-test
Open

OSSM: skip TLS ADherence test to avoid failures#83115
fjglira wants to merge 1 commit into
openshift:mainfrom
fjglira:skip-tls-test

Conversation

@fjglira

@fjglira fjglira commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

We will skip the test until we find the fix to avoid failures on arm and ocp 4.23. Currentrly from initial checks I see that those runs on IPI jobs and kube apiserver restarts causes timouts during test execution. Jira: https://redhat.atlassian.net/browse/OSSM-15256

Summary by CodeRabbit

  • Skips tests labeled tls-profile in ARM OCP 4.22 jobs and OCP 4.23 E2E jobs.
  • Passes GINKGO_LABEL_FILTER through the Sail operator E2E step.
  • Prevents OSSM TLS adherence test timeouts while the underlying issue is investigated.

We will skip the test until we find the fix to avoid failures on arm and ocp 4.23. Currentrly from initial checks I see that those runs on IPI jobs and kube apiserver restarts causes timouts during test execution. Jira: https://redhat.atlassian.net/browse/OSSM-15256

Signed-off-by: Francisco Herrera <fjglira@gmail.com>
@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: fjglira

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

The Sail operator OCP E2E step now supports GINKGO_LABEL_FILTER. ARM and OCP 4.23 test jobs set the filter to exclude tests labeled tls-profile.

Changes

Sail operator E2E filtering

Layer / File(s) Summary
E2E filter propagation
ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/*
The E2E step defines the optional GINKGO_LABEL_FILTER variable and exports it with an empty default.
Job filter configuration
ci-operator/config/openshift-service-mesh/sail-operator/*ocp-4.22.yaml, ci-operator/config/openshift-service-mesh/sail-operator/*ocp-4.23.yaml
ARM and OCP 4.23 E2E jobs set GINKGO_LABEL_FILTER to exclude tls-profile tests.

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 clearly describes the main change: skipping the TLS adherence test to prevent failures on ARM and OCP 4.23.
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 PR changes only CI configuration and E2E environment wiring; no Ginkgo It, Describe, Context, or When declarations or test titles are added or modified.
Test Structure And Quality ✅ Passed The PR changes only CI YAML, a shell wrapper, and a step reference; it adds no Ginkgo It blocks or test source requiring this quality review.
Microshift Test Compatibility ✅ Passed The pull request changes only CI YAML, a shell environment export, and step metadata; it adds no Ginkgo tests requiring MicroShift API compatibility review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: The patch adds only CI YAML and shell configuration for GINKGO_LABEL_FILTER; it adds no Ginkgo tests or test bodies requiring SNO compatibility review.
Topology-Aware Scheduling Compatibility ✅ Passed The changes only modify CI YAML and an E2E shell step to pass GINKGO_LABEL_FILTER; no deployment, operator, controller, or scheduling constraint changed.
Ote Binary Stdout Contract ✅ Passed The PR changes only three YAML files and one shell script; it adds Ginkgo filter propagation and no OTE binary or process-level Go stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No Ginkgo e2e tests were added or modified; the diff only changes CI configuration and test-runner environment variables.
No-Weak-Crypto ✅ Passed The PR only adds Ginkgo label-filter configuration and environment propagation; no MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB, custom crypto, or secret comparisons were added.
Container-Privileges ✅ Passed The PR adds only GINKGO_LABEL_FILTER configuration and export lines; no privileged, host namespace, SYS_ADMIN, root, or allowPrivilegeEscalation settings are added.
No-Sensitive-Data-In-Logs ✅ Passed Added lines only set the non-sensitive '!tls-profile' filter and document/export it; no added logging or sensitive values appear in the diff.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci
openshift-ci Bot requested review from bmangoen and yxun August 7, 2026 16:31
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@fjglira: 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-service-mesh-sail-operator-main-ocp-4.23-e2e-next-ocp-retest openshift-service-mesh/sail-operator presubmit Ci-operator config changed
pull-ci-openshift-service-mesh-sail-operator-main-ocp-4.22-e2e-ocp-arm-retest openshift-service-mesh/sail-operator presubmit Ci-operator config changed
pull-ci-openshift-service-mesh-sail-operator-main-ocp-4.22-e2e-ocp openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.4-ocp-4.22-e2e-ocp openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.4-ocp-4.22-e2e-ocp-arm-retest openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.1-ocp-4.22-e2e-ocp openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.1-ocp-4.22-e2e-ocp-arm-retest openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.2-ocp-4.22-e2e-ocp openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.2-ocp-4.22-e2e-ocp-arm-retest openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.0-ocp-4.22-e2e-ocp openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.0-ocp-4.22-e2e-ocp-arm-retest openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.3-ocp-4.22-e2e-ocp openshift-service-mesh/sail-operator presubmit Registry content changed
pull-ci-openshift-service-mesh-sail-operator-release-3.3-ocp-4.22-e2e-ocp-arm-retest openshift-service-mesh/sail-operator presubmit Registry content changed
periodic-ci-openshift-service-mesh-sail-operator-release-3.2-ocp-4.23-e2e-ocp N/A periodic Registry content changed
periodic-ci-openshift-service-mesh-sail-operator-release-3.1-ocp-4.23-e2e-ocp N/A periodic Registry content changed
periodic-ci-openshift-service-mesh-sail-operator-release-3.0-ocp-4.23-e2e-ocp N/A periodic Registry content changed
periodic-ci-openshift-service-mesh-sail-operator-release-3.3-ocp-4.23-e2e-ocp N/A periodic Registry content changed
periodic-ci-openshift-service-mesh-sail-operator-release-3.4-ocp-4.23-e2e-ocp N/A periodic 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.

@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/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-commands.sh`:
- Line 139: Update the remote command construction around GINKGO_LABEL_FILTER so
its value is passed as data through env or a positional parameter rather than
interpolated into the sh -c script. Escape the remote expansion and preserve the
existing empty-default behavior, preventing shell metacharacters such as command
substitutions, semicolons, backticks, and quotes from altering execution.
🪄 Autofix

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: 7099444a-6def-4b7c-8d90-5ded6c4c9d0b

📥 Commits

Reviewing files that changed from the base of the PR and between 88ce08f and 359a32a.

📒 Files selected for processing (4)
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.22.yaml
  • ci-operator/config/openshift-service-mesh/sail-operator/openshift-service-mesh-sail-operator-main__ocp-4.23.yaml
  • ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-commands.sh
  • ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-ref.yaml

export HUB=\"${HUB:-quay.io/sail-dev}\"
export USE_INTERNAL_REGISTRY=\"false\"
export PR_NUMBER=\"${PULL_NUMBER:-}\"
export GINKGO_LABEL_FILTER=\"${GINKGO_LABEL_FILTER:-}\"

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.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

filter='$(printf INJECTED)'
unsafe_script="export GINKGO_LABEL_FILTER=\"${filter}\"; printf '%s' \"\$GINKGO_LABEL_FILTER\""
actual="$(sh -c "$unsafe_script")"

if [[ "$actual" == "INJECTED" ]]; then
  echo "The current interpolation executes command substitution."
else
  echo "The current interpolation did not reproduce the expected injection."
  exit 1
fi

Repository: openshift/release

Length of output: 212


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

file='ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-commands.sh'
printf '%s\n' '--- target lines ---'
sed -n '110,165p' "$file"
printf '%s\n' '--- relevant identifiers and shell invocations ---'
rg -n -C 3 'GINKGO_LABEL_FILTER|oc rsh|QUAY_PASSWORD|docker login|sh -c' "$file"

Repository: openshift/release

Length of output: 3997


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

file='ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-commands.sh'

printf '%s\n' '--- repository references ---'
rg -n -C 3 'GINKGO_LABEL_FILTER|VERSIONS_YAML_CONFIG|E2E_COMMAND|QUAY_PASSWORD|servicemesh-sail-operator-e2e-ocp' \
  --glob '!vendor/**' --glob '!node_modules/**' .

printf '%s\n' '--- exact nested-shell probe ---'
python3 - <<'PY'
import os
import subprocess

value = '$(printf INJECTED)'
unsafe = f'export GINKGO_LABEL_FILTER="{value}"; printf "%s" "$GINKGO_LABEL_FILTER"'
safe = 'export GINKGO_LABEL_FILTER="${GINKGO_LABEL_FILTER:-}"; printf "%s" "$GINKGO_LABEL_FILTER"'

unsafe_result = subprocess.run(
    ['sh', '-c', unsafe], text=True, capture_output=True, check=True
)
safe_env = os.environ.copy()
safe_env['GINKGO_LABEL_FILTER'] = value
safe_result = subprocess.run(
    ['sh', '-c', safe], env=safe_env, text=True, capture_output=True, check=True
)

print(f'unsafe output: {unsafe_result.stdout!r}')
print(f'safe output: {safe_result.stdout!r}')
assert unsafe_result.stdout == 'INJECTED'
assert safe_result.stdout == value
print('nested-shell probe passed')
PY

Repository: openshift/release

Length of output: 50374


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

ref='ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-ref.yaml'
file='ci-operator/step-registry/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-commands.sh'

printf '%s\n' '--- step definition ---'
sed -n '1,55p' "$ref"

printf '%s\n' '--- direct callers ---'
rg -l 'servicemesh-sail-operator-e2e-ocp' ci-operator/config ci-operator/step-registry |
  head -50 |
  xargs -r rg -n -C 2 'servicemesh-sail-operator-e2e-ocp|GINKGO_LABEL_FILTER'

printf '%s\n' '--- exact nested-shell probe ---'
python3 - <<'PY'
import os
import subprocess

value = '$(printf INJECTED)'
unsafe = f'export GINKGO_LABEL_FILTER="{value}"; printf "%s" "$GINKGO_LABEL_FILTER"'
safe = 'export GINKGO_LABEL_FILTER="${GINKGO_LABEL_FILTER:-}"; printf "%s" "$GINKGO_LABEL_FILTER"'

unsafe_result = subprocess.run(
    ['sh', '-c', unsafe], text=True, capture_output=True, check=True
)
safe_env = os.environ.copy()
safe_env['GINKGO_LABEL_FILTER'] = value
safe_result = subprocess.run(
    ['sh', '-c', safe], env=safe_env, text=True, capture_output=True, check=True
)

print(f'unsafe output: {unsafe_result.stdout!r}')
print(f'safe output: {safe_result.stdout!r}')
assert unsafe_result.stdout == 'INJECTED'
assert safe_result.stdout == value
print('nested-shell probe passed')
PY

Repository: openshift/release

Length of output: 27028


Pass GINKGO_LABEL_FILTER as data, not shell code.

GINKGO_LABEL_FILTER is interpolated into the script passed to remote sh -c. Values containing $(...), backticks, ;, or " can execute commands or alter the script. The commands run in the test pod, which has logged in to Quay and set KUBECONFIG.

Pass the value through env or a positional parameter, then escape the remote expansion.

🤖 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/servicemesh/sail-operator/e2e-ocp/servicemesh-sail-operator-e2e-ocp-commands.sh`
at line 139, Update the remote command construction around GINKGO_LABEL_FILTER
so its value is passed as data through env or a positional parameter rather than
interpolated into the sh -c script. Escape the remote expansion and preserve the
existing empty-default behavior, preventing shell metacharacters such as command
substitutions, semicolons, backticks, and quotes from altering execution.

Source: Coding guidelines

@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@fjglira: 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.

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant