Skip to content

NE-2215: add CI step and techpreview presubmit jobs for testing previous HAProxy version#80171

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
gcs278:haproxy-multi-version-ci-scaffolding
Jul 9, 2026
Merged

NE-2215: add CI step and techpreview presubmit jobs for testing previous HAProxy version#80171
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
gcs278:haproxy-multi-version-ci-scaffolding

Conversation

@gcs278

@gcs278 gcs278 commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds presubmit CI jobs and a reusable step to test the non-default HAProxy version (2.8) on the default IngressController. This supports the HAProxy version selection feature described in openshift/enhancements#1965, with the API defined in openshift/api#2895.

What's included

  • CI step (ingress-conf-haproxy-version): Configures the default IngressController to use a specific HAProxy version at install time by writing a manifest with spec.haproxyVersion to SHARED_DIR. Takes an explicit HAPROXY_VERSION env var (e.g. "2.8").

cluster-ingress-operator presubmits (all optional, triggered manually):

  • e2e-aws-ovn-haproxy28-techpreview: conformance with HAProxy 2.8
  • e2e-aws-operator-haproxy28-techpreview: operator e2e with HAProxy 2.8
  • e2e-aws-ovn-upgrade-haproxy28-techpreview: upgrade test with HAProxy 2.8
  • e2e-aws-ovn-serial-haproxy28-techpreview: serial e2e (2 shards) with HAProxy 2.8

router presubmits (all optional, triggered manually):

  • e2e-agnostic-haproxy28-techpreview: conformance with HAProxy 2.8 (GCP)
  • e2e-aws-serial-haproxy28-techpreview: serial e2e (2 shards) with HAProxy 2.8
  • e2e-aws-ovn-upgrade-haproxy28-techpreview: upgrade test with HAProxy 2.8

How it works

  1. Job sets HAPROXY_VERSION: "2.8" and FEATURE_SET: TechPreviewNoUpgrade
  2. Step writes an IngressController manifest with spec.haproxyVersion: "2.8" to SHARED_DIR
  3. Installer picks up the manifest, cluster installs with HAProxy 2.8
  4. Standard e2e suite runs against it

Not included (deferred)

  • Minor version upgrade presubmits: Blocked until the haproxyVersion API is backported to the upgrade-from release.
  • Nightly conformance jobs: Can be added when the feature moves toward GA.

https://redhat.atlassian.net/browse/NE-2215

🤖 Generated with Claude Code

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 5, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

@gcs278: This pull request references NE-2215 which is a valid jira issue.

Details

In response to this:

Summary

Scaffolding for CI testing of multiple HAProxy versions per openshift/enhancements#1965.

What's included

  • CI step (ingress-conf-haproxy-version): Auto-discovers HAProxy sidecar images from the release payload and configures the default IngressController to use a specific version at install time. Supports both explicit version selection (HAPROXY_VERSION) and auto-discovery (HAPROXY_AUTO_SELECT: "previous" or "newest").

  • Nightly job definitions (commented out): Two job variants for e2e-aws-ovn with TechPreviewNoUpgrade, one for testing the previous HAProxy version and one for the newest. Only one is needed — which one depends on the default version decision in the EP.

Pending decisions (from EP review)

  • API field name: haproxyVersion (HAProxy-version based) vs haproxyOCPVersion (OCP-version based)
  • Default version on upgrade: current (3.2) vs previous (2.8)
  • Default version on fresh install
  • Uncomment the appropriate job definition

How it works

  1. Job runs with HAPROXY_AUTO_SELECT: "previous" (or "newest")
  2. Step inspects the release payload via oc adm release info for haproxy-* images
  3. If 2+ HAProxy images exist, selects the target version and writes an IngressController manifest to SHARED_DIR
  4. If only 1 image, exits cleanly (no-op — nothing to test)
  5. Installer picks up the manifest, cluster installs with the selected HAProxy version
  6. Standard e2e suite runs against it

Pattern

Follows the same approach as RHCOS dual-stream testing (rhcos-conf-osstream step, e2e-aws-ovn-rhcos10-techpreview jobs).

https://redhat.atlassian.net/browse/NE-2215

🤖 Generated with Claude Code

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 openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 5, 2026
@openshift-ci

openshift-ci Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai

coderabbitai Bot commented Jun 5, 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

This PR adds a new ingress HAProxy version step that writes spec.haproxyVersion into the default IngressController manifest from HAPROXY_VERSION, and wires that step into three new TechPreviewNoUpgrade cluster-ingress-operator CI jobs.

Changes

HAProxy Version Step and CI Job Wiring

Layer / File(s) Summary
Step definition and ownership
ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh, ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml, ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.metadata.json, ci-operator/step-registry/ingress/conf/haproxy-version/OWNERS
Adds the command script, step reference, ownership metadata, and OWNERS content for the HAProxy version ingress step.
CI job wiring
ci-operator/config/openshift/cluster-ingress-operator/openshift-cluster-ingress-operator-master.yaml
Adds three optional cluster-ingress-operator jobs that set HAProxy 2.8 techpreview env vars, run the new pre-chain, and invoke upgrade, serial e2e, or operator e2e workflows.

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

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 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 No Ginkgo test declarations were added; the PR only adds CI config and a shell step, and the new job names are static strings.
Test Structure And Quality ✅ Passed No Ginkgo test code was added; the PR only changes CI step/config files, so the test-structure checklist isn’t applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo tests were added; the PR only changes CI scaffolding and a step script, with no It/Describe/Context/When or MicroShift-unsupported API usage in changed files.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: PR adds CI step and job config only; no new Ginkgo tests or SNO-sensitive assertions were introduced in the changed files.
Topology-Aware Scheduling Compatibility ✅ Passed No topology-sensitive scheduling constraints were added; the new CI step only writes spec.haproxyVersion, and the jobs only reference workflows/envs.
Ote Binary Stdout Contract ✅ Passed No Go/OTE binary or suite-setup code changed; the PR only adds CI config and a shell step, so the stdout contract isn’t implicated.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS: PR adds CI config and a shell step only; no new Ginkgo tests or IPv4/public-internet assumptions appear in the changed files.
No-Weak-Crypto ✅ Passed Scanned the touched files; there’s no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, no custom crypto, and no secret/token comparison logic.
Container-Privileges ✅ Passed No added manifest sets privileged/host* or allowPrivilegeEscalation; the new step/job YAML only defines env, resources, pre chains, and workflows.
No-Sensitive-Data-In-Logs ✅ Passed New script only logs HAPROXY_VERSION and file paths; no passwords, tokens, API keys, PII, or internal hostnames are printed.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding a CI step and TechPreviewNoUpgrade jobs to test a non-default HAProxy version.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@gcs278 gcs278 changed the title NE-2215: add CI scaffolding for HAProxy multi-version testing [WIP] NE-2215: add CI scaffolding for HAProxy multi-version testing Jun 5, 2026
@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jun 5, 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: 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/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh`:
- Around line 26-50: The current pipeline that builds HAPROXY_IMAGES uses plain
lexicographic sort which misorders multi-digit tags; change the pipeline that
sets HAPROXY_IMAGES to use version-aware sorting (e.g., replace the plain sort
with a version-aware sort such as sort -V or sort -t- -k2,2V) so that selecting
TARGET_IMAGE for HAPROXY_AUTO_SELECT (in the case branches that use head/tail)
picks the true previous/newest semantic version; keep the rest of the logic (the
grep '^haproxy-' filter, COUNT check, and HAPROXY_AUTO_SELECT case) the same.
🪄 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: b987fb87-db29-4eae-ab43-fe063a7c4c7a

📥 Commits

Reviewing files that changed from the base of the PR and between 1e72272 and 1171f38.

📒 Files selected for processing (5)
  • ci-operator/config/openshift/release/openshift-release-main__nightly-5.0.yaml
  • ci-operator/step-registry/ingress/conf/haproxy-version/OWNERS
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.metadata.json
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml

Comment on lines +26 to +50
HAPROXY_IMAGES=$(oc adm release info --registry-config "${CLUSTER_PROFILE_DIR}/pull-secret" \
"${RELEASE_IMAGE_LATEST}" --output=json | \
jq -r '.references.spec.tags[].name' | grep '^haproxy-' | sort || true)

if [[ -z "${HAPROXY_IMAGES}" ]]; then
echo "No HAProxy sidecar images found in payload, skipping"
exit 0
fi

COUNT=$(echo "${HAPROXY_IMAGES}" | wc -l)
echo "Found ${COUNT} HAProxy image(s) in payload: ${HAPROXY_IMAGES}"

if [[ "${COUNT}" -lt 2 ]]; then
echo "Only one HAProxy version in payload, no alternative version to test. Skipping."
exit 0
fi

# Image names follow the pattern "haproxy-28", "haproxy-32", etc.
case "${HAPROXY_AUTO_SELECT}" in
previous)
TARGET_IMAGE=$(echo "${HAPROXY_IMAGES}" | head -1)
;;
newest)
TARGET_IMAGE=$(echo "${HAPROXY_IMAGES}" | tail -1)
;;

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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use version-aware ordering before selecting previous/newest.

Line 28 uses lexicographic sort, which can select the wrong image when tags include multi-digit components (for example, haproxy-310 vs haproxy-39).

💡 Proposed fix
-  HAPROXY_IMAGES=$(oc adm release info --registry-config "${CLUSTER_PROFILE_DIR}/pull-secret" \
-    "${RELEASE_IMAGE_LATEST}" --output=json | \
-    jq -r '.references.spec.tags[].name' | grep '^haproxy-' | sort || true)
+  HAPROXY_IMAGES=$(oc adm release info --registry-config "${CLUSTER_PROFILE_DIR}/pull-secret" \
+    "${RELEASE_IMAGE_LATEST}" --output=json | \
+    jq -r '.references.spec.tags[].name | select(startswith("haproxy-"))' | sort -V || true)
🤖 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/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh`
around lines 26 - 50, The current pipeline that builds HAPROXY_IMAGES uses plain
lexicographic sort which misorders multi-digit tags; change the pipeline that
sets HAPROXY_IMAGES to use version-aware sorting (e.g., replace the plain sort
with a version-aware sort such as sort -V or sort -t- -k2,2V) so that selecting
TARGET_IMAGE for HAPROXY_AUTO_SELECT (in the case branches that use head/tail)
picks the true previous/newest semantic version; keep the rest of the logic (the
grep '^haproxy-' filter, COUNT check, and HAPROXY_AUTO_SELECT case) the same.

@gcs278 gcs278 changed the title [WIP] NE-2215: add CI scaffolding for HAProxy multi-version testing NE-2215: add CI step and nightly job for testing previous HAProxy version Jun 5, 2026
@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch 3 times, most recently from a69c0d8 to 3754871 Compare July 8, 2026 01:22
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 8, 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: 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/cluster-ingress-operator/openshift-cluster-ingress-operator-master.yaml`:
- Around line 311-331: The generated Prow job for
e2e-aws-operator-haproxy28-techpreview is missing from the matching
ci-operator/jobs entry. Regenerate the job artifacts by running make update,
then commit the updated ci-operator/jobs/ configuration so the job definition is
present alongside the ci-operator/config change.
🪄 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: bacec7ed-3009-4093-af8c-b9536b927d0e

📥 Commits

Reviewing files that changed from the base of the PR and between 8ccf982 and a69c0d8.

📒 Files selected for processing (6)
  • ci-operator/config/openshift/cluster-ingress-operator/openshift-cluster-ingress-operator-master.yaml
  • ci-operator/config/openshift/release/openshift-release-main__nightly-5.0.yaml
  • ci-operator/step-registry/ingress/conf/haproxy-version/OWNERS
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.metadata.json
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml
✅ Files skipped from review due to trivial changes (2)
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.metadata.json
  • ci-operator/step-registry/ingress/conf/haproxy-version/OWNERS
🚧 Files skipped from review as they are similar to previous changes (3)
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml
  • ci-operator/config/openshift/release/openshift-release-main__nightly-5.0.yaml
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh

@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch from 3754871 to e1423e3 Compare July 8, 2026 01:26

@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

🤖 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/cluster-ingress-operator/openshift-cluster-ingress-operator-master.yaml`:
- Around line 175-188: The new e2e-aws-ovn-serial-haproxy28-techpreview test is
defined in the CI config but missing from the generated ci-operator/jobs output.
Regenerate the jobs manifest so the matching job entry for this test is emitted,
and make sure the generated output reflects the updated test name and
configuration from the e2e-aws-ovn-serial-haproxy28-techpreview stanza.
- Around line 156-168: The new haproxy28 techpreview job definitions are present
in the CI operator config, but the generated Prow job entries under
ci-operator/jobs are missing. Regenerate the configs by running the repository’s
update generation flow so both e2e-aws-ovn-upgrade-haproxy28-techpreview and
e2e-aws-ovn-serial-haproxy28-techpreview are emitted, and verify the matching
job artifacts are created for the openshift-cluster-ingress-operator master
config.
🪄 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: f6418d8f-7413-4b7c-b253-e74be098e5c9

📥 Commits

Reviewing files that changed from the base of the PR and between a69c0d8 and e1423e3.

📒 Files selected for processing (5)
  • ci-operator/config/openshift/cluster-ingress-operator/openshift-cluster-ingress-operator-master.yaml
  • ci-operator/step-registry/ingress/conf/haproxy-version/OWNERS
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.metadata.json
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml
✅ Files skipped from review due to trivial changes (2)
  • ci-operator/step-registry/ingress/conf/haproxy-version/OWNERS
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.metadata.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml
  • ci-operator/step-registry/ingress/conf/haproxy-version/ingress-conf-haproxy-version-commands.sh

@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch 5 times, most recently from dfed3d6 to 2d47c96 Compare July 8, 2026 01:46
@gcs278 gcs278 marked this pull request as ready for review July 8, 2026 01:47
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 8, 2026
@openshift-ci openshift-ci Bot requested review from dgoodwin and knobunc July 8, 2026 01:48
@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch 2 times, most recently from bec03d0 to e067410 Compare July 8, 2026 01:58
@gcs278 gcs278 changed the title NE-2215: add CI step and nightly job for testing previous HAProxy version NE-2215: add CI step and presubmit jobs for testing previous HAProxy version Jul 8, 2026
@gcs278 gcs278 changed the title NE-2215: add CI step and presubmit jobs for testing previous HAProxy version NE-2215: add CI step and techpreview presubmit jobs for testing previous HAProxy version Jul 8, 2026
@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch from a98aa0e to be14565 Compare July 9, 2026 13:20

@gcs278 gcs278 left a comment

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.

Addressed review comment: fixed ${HAPROXY_VERSION}${HAPROXY_VERSION:-} so nounset does not trigger before the if -z check can give the proper error message. Also rebased on main.

@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch from be14565 to 04304b5 Compare July 9, 2026 13:21
@jcmoraisjr

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 9, 2026
Add CI jobs for testing the non-default HAProxy version (2.8)
with the IngressControllerMultipleHAProxyVersions TechPreview feature gate:

- ingress-conf-haproxy-version step: writes an IngressController manifest
  to SHARED_DIR with the specified haproxyVersion, run before ipi-install

cluster-ingress-operator presubmits:
- e2e-aws-ovn-haproxy28-techpreview: optional conformance presubmit
- e2e-aws-operator-haproxy28-techpreview: optional CIO e2e presubmit
- e2e-aws-ovn-upgrade-haproxy28-techpreview: optional upgrade presubmit
- e2e-aws-ovn-serial-haproxy28-techpreview: optional serial presubmit (2 shards)

router presubmits:
- e2e-agnostic-haproxy28-techpreview: optional conformance presubmit (GCP)
- e2e-aws-serial-haproxy28-techpreview: optional serial presubmit (2 shards)
- e2e-aws-ovn-upgrade-haproxy28-techpreview: optional upgrade presubmit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gcs278 gcs278 force-pushed the haproxy-multi-version-ci-scaffolding branch from 04304b5 to 2aebbf3 Compare July 9, 2026 13:31
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 9, 2026
@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Sorry - I realized the e2e-aws-ovn-haproxy28-techpreview job in openshift/router has moved to generic names, like e2e-upgrade-haproxy28-techpreview and uses azure (not AWS). Updated to align them.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@gcs278: 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-ingress-operator-master-e2e-aws-operator-haproxy28-techpreview openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-ovn-haproxy28-techpreview openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-ovn-hypershift-conformance openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-ovn-serial-haproxy28-techpreview-1of2 openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-ovn-serial-haproxy28-techpreview-2of2 openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-ovn-upgrade-haproxy28-techpreview openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-azure-manual-oidc openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-azure-operator openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-azure-ovn openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-hypershift openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-e2e-ibmcloud-operator openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-hypershift-e2e-aks openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-images openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-okd-scos-images openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-unit openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-verify openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-cluster-ingress-operator-master-verify-deps openshift/cluster-ingress-operator presubmit Presubmit changed
pull-ci-openshift-router-master-e2e-agnostic-haproxy28-techpreview openshift/router presubmit Presubmit changed
pull-ci-openshift-router-master-e2e-aws-serial-haproxy28-techpreview-1of2 openshift/router presubmit Presubmit changed
pull-ci-openshift-router-master-e2e-aws-serial-haproxy28-techpreview-2of2 openshift/router presubmit Presubmit changed
pull-ci-openshift-router-master-e2e-upgrade-haproxy28-techpreview openshift/router presubmit Presubmit 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.

@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

I only changed pull-ci-openshift-router-master-e2e-upgrade-haproxy28-techpreview, so I should test:
/pj-rehearse pull-ci-openshift-router-master-e2e-upgrade-haproxy28-techpreview

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@gcs278: 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

@gcs278, pj-rehearse: unable prepare a candidate for rehearsal; rehearsals will not be run. This could be due to a branch that needs to be rebased. ERROR:

couldn't checkout base SHA 886b445fe880edaabd683b6dd6603d6d3dcd694d: error checking out "886b445fe880edaabd683b6dd6603d6d3dcd694d": exit status 128 fatal: unable to read tree (886b445fe880edaabd683b6dd6603d6d3dcd694d)

@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-router-master-e2e-upgrade-haproxy28-techpreview

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-router-master-e2e-upgrade-haproxy28-techpreview

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

hmmm, i double checked the must-gather and I do not see spec.haproxyVersion set. I need to see if my step is working correct, or if i'm missing something
/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 9, 2026
@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

ah never mind. i forgot the API doesn't exist because openshift/cluster-ingress-operator#1498 need to merge, but we need this PR to test openshift/cluster-ingress-operator#1498. Chicken & Egg.

I see the step working, but we must merge and test on openshift/cluster-ingress-operator#1498 to get a real indicator if this works.

@jcmoraisjr ready for another review.

All test runs look good
/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@gcs278: 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 9, 2026
@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/unhold

@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 9, 2026
@jcmoraisjr

Copy link
Copy Markdown
Member

all good, ship it!

/lgtm

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

openshift-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gcs278, jcmoraisjr

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-merge-bot openshift-merge-bot Bot merged commit 221eec6 into openshift:main Jul 9, 2026
19 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