Skip to content

WIP: Smoke test HAProxy 3.2.19 RPM#792

Open
gcs278 wants to merge 1 commit into
openshift:masterfrom
gcs278:smoke-test-haproxy32-3.2.19
Open

WIP: Smoke test HAProxy 3.2.19 RPM#792
gcs278 wants to merge 1 commit into
openshift:masterfrom
gcs278:smoke-test-haproxy32-3.2.19

Conversation

@gcs278

@gcs278 gcs278 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Smoke test for HAProxy 3.2.19 in the monolithic (non-sidecar) router model.

The haproxy32-3.2.19 RPM is already available in the yum repo but is currently unused. This PR switches the monolithic router image to install haproxy32 instead of haproxy28, allowing us to smoke test HAProxy 3.2 in CI before it is formally adopted.

Summary by CodeRabbit

  • Chores
    • Updated the HAProxy router image to use a newer HAProxy package version.

@openshift-ci

openshift-ci Bot commented Jun 8, 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

@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 8, 2026
@gcs278 gcs278 changed the title Smoke test HAProxy 3.2.19 RPM for OCP 4.23 Smoke test HAProxy 3.2.19 RPM Jun 8, 2026
@gcs278

gcs278 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

FYI this is a "vanilla" 3.2 smoke test PR - just to get some green CI runs before integrating HAProxy 3.2 with the sidecar architecture.

/assign @jcmoraisjr

@gcs278
gcs278 marked this pull request as ready for review June 8, 2026 19:15
@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 Jun 8, 2026
@gcs278 gcs278 changed the title Smoke test HAProxy 3.2.19 RPM WIP: Smoke test HAProxy 3.2.19 RPM Jun 8, 2026
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9792e119-8f95-4f3f-be4a-6300f8306e9a

📥 Commits

Reviewing files that changed from the base of the PR and between 2268fb3 and d30e595.

📒 Files selected for processing (1)
  • images/router/haproxy/Dockerfile.ocp

Walkthrough

The Dockerfile for the OpenShift router updates the HAProxy package installed during image build from haproxy28 to haproxy32.

Changes

HAProxy package update

Layer / File(s) Summary
Package install switch
images/router/haproxy/Dockerfile.ocp
INSTALL_PKGS replaces haproxy28 with haproxy32.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Suggested labels

jira/valid-reference

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the change to smoke test HAProxy 3.2.19 RPMs and matches the PR’s purpose.
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 images/router/haproxy/Dockerfile.ocp changed; no Ginkgo tests or titles were added or modified.
Test Structure And Quality ✅ Passed No Ginkgo-based tests were added or modified; the touched tests are standard Go tests using t.Run/t.Cleanup, so this check is not applicable.
Microshift Test Compatibility ✅ Passed Only images/router/haproxy/Dockerfile.ocp changed; no Ginkgo tests or MicroShift-sensitive APIs/features were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only touches the HAProxy Dockerfile/package selection; no new Ginkgo/e2e tests or SNO-unsafe assumptions were added.
Topology-Aware Scheduling Compatibility ✅ Passed The PR only swaps haproxy28 for haproxy32 in a Dockerfile; no affinity, replicas, node selectors, or topology-aware scheduling logic was added.
Ote Binary Stdout Contract ✅ Passed PASS: PR only changes the HAProxy router Dockerfile to install haproxy32; no process-level code or stdout writes were added.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only changes the HAProxy Dockerfile package from haproxy28 to haproxy32; no Ginkgo e2e tests or networking code were added, so the check is not applicable.
No-Weak-Crypto ✅ Passed The PR only swaps haproxy28 to haproxy32; no new MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret-comparison code was added.
Container-Privileges ✅ Passed Only images/router/haproxy/Dockerfile.ocp changed; it bumps haproxy28 to haproxy32 and keeps USER 1001 with no privileged settings.
No-Sensitive-Data-In-Logs ✅ Passed Only change is haproxy28→haproxy32 in Dockerfile; no logging code or sensitive-data exposure was added.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ 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 added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 8, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 `@images/router/haproxy/Dockerfile.ocp`:
- Line 3: The RUN instruction that installs
haproxy32-3.2.19-1.rhaos4.23.el9.x86_64.rpm must perform package cache cleanup
in the same layer; update the RUN that currently calls "yum install -y
https://.../haproxy32-3.2.19-1.rhaos4.23.el9.x86_64.rpm" to chain the install
with cache cleanup (e.g., run yum clean all and remove yum caches) in the same
command so no package manager metadata remains in the final image.
- Line 3: The RUN line in Dockerfile.ocp that installs the RPM from a mutable
GitHub branch (the existing RUN yum install ... refs/heads/master URL) must be
replaced with an immutable, verified artifact: point to a pinned artifact URL
(digest or internal Brew/registry artifact) and verify its integrity before
install (e.g., fetch the RPM by digest/checksum or GPG signature, validate
checksum/signature, then run yum install from the verified local file). Ensure
the RPM source is not a branch URL and include checksum or signature validation
steps so the container build only consumes a pinned, trusted package.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d5e60100-d267-4eaa-9a00-e268af5564b5

📥 Commits

Reviewing files that changed from the base of the PR and between a86164c and 09017b0.

📒 Files selected for processing (1)
  • images/router/haproxy/Dockerfile.ocp

Comment thread images/router/haproxy/Dockerfile.ocp Outdated
@openshift-ci

openshift-ci Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from jcmoraisjr. 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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (2)
images/router/haproxy/Dockerfile.ocp (2)

3-5: ⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

Use an immutable, verified RPM source instead of a mutable GitHub branch URL.

Line 3 installs an RPM from refs/heads/master, which is mutable and not integrity-checked. If that artifact changes upstream, the build can silently consume untrusted content, including RPM scriptlets executed during install.

🔒 Recommended hardening change
-RUN curl -fLo /tmp/haproxy32.rpm https://github.com/gcs278/openshift-hacks/raw/refs/heads/master/haproxy-builds/haproxy32-3.2.19-1.rhaos4.23.el9.x86_64.rpm && \
-    yum install -y /tmp/haproxy32.rpm && \
-    rm -f /tmp/haproxy32.rpm
+RUN curl -fsSL -o /tmp/haproxy32.rpm https://<immutable-artifact-url>/haproxy32-3.2.19-1.rhaos4.23.el9.x86_64.rpm && \
+    echo "<sha256>  /tmp/haproxy32.rpm" | sha256sum -c - && \
+    yum install -y /tmp/haproxy32.rpm && \
+    rm -f /tmp/haproxy32.rpm && \
+    yum clean all

As per coding guidelines, container artifacts should follow immutable pinning principles: "non-RH images: pin by digest".

🤖 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 `@images/router/haproxy/Dockerfile.ocp` around lines 3 - 5, The RUN step that
curls an RPM from a mutable GitHub branch (the line starting with "RUN curl -fLo
/tmp/haproxy32.rpm ... refs/heads/master") must be replaced with an immutable,
verified artifact fetch: point the download to a pinned release URL (tag or
commit SHA) or a trusted registry with a digest, and verify integrity before
install (e.g., check a SHA256 checksum or GPG signature of haproxy32.rpm)
instead of relying on refs/heads/master; update the RUN command to download the
pinned URL, validate the file, then install and remove it.

Source: Coding guidelines


3-5: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Clean yum metadata in the same layer as the RPM install.

The yum install does not run yum clean all in the same RUN layer, so cache and metadata remain in that layer and bloat the final image.

🧹 Proposed fix
 RUN curl -fLo /tmp/haproxy32.rpm https://github.com/gcs278/openshift-hacks/raw/refs/heads/master/haproxy-builds/haproxy32-3.2.19-1.rhaos4.23.el9.x86_64.rpm && \
     yum install -y /tmp/haproxy32.rpm && \
-    rm -f /tmp/haproxy32.rpm
+    rm -f /tmp/haproxy32.rpm && \
+    yum clean all

As per coding guidelines: "No package manager cache in final layer".

🤖 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 `@images/router/haproxy/Dockerfile.ocp` around lines 3 - 5, The RUN layer that
downloads and installs /tmp/haproxy32.rpm leaves yum metadata behind; modify the
RUN that currently runs curl && yum install -y /tmp/haproxy32.rpm && rm -f
/tmp/haproxy32.rpm to also run the yum cleanup (e.g., yum clean all && rm -rf
/var/cache/yum or equivalent) in the same RUN chain so package manager
cache/metadata are removed before the layer is committed; target the RUN
instruction that handles /tmp/haproxy32.rpm in Dockerfile.ocp to implement this
change.

Sources: Coding guidelines, Linters/SAST tools

🤖 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.

Duplicate comments:
In `@images/router/haproxy/Dockerfile.ocp`:
- Around line 3-5: The RUN step that curls an RPM from a mutable GitHub branch
(the line starting with "RUN curl -fLo /tmp/haproxy32.rpm ...
refs/heads/master") must be replaced with an immutable, verified artifact fetch:
point the download to a pinned release URL (tag or commit SHA) or a trusted
registry with a digest, and verify integrity before install (e.g., check a
SHA256 checksum or GPG signature of haproxy32.rpm) instead of relying on
refs/heads/master; update the RUN command to download the pinned URL, validate
the file, then install and remove it.
- Around line 3-5: The RUN layer that downloads and installs /tmp/haproxy32.rpm
leaves yum metadata behind; modify the RUN that currently runs curl && yum
install -y /tmp/haproxy32.rpm && rm -f /tmp/haproxy32.rpm to also run the yum
cleanup (e.g., yum clean all && rm -rf /var/cache/yum or equivalent) in the same
RUN chain so package manager cache/metadata are removed before the layer is
committed; target the RUN instruction that handles /tmp/haproxy32.rpm in
Dockerfile.ocp to implement this change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c88616bc-de9b-422c-a972-793668d3b076

📥 Commits

Reviewing files that changed from the base of the PR and between 09017b0 and 3acfa51.

📒 Files selected for processing (1)
  • images/router/haproxy/Dockerfile.ocp

@gcs278

gcs278 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

/test ?

@gcs278

gcs278 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-router
/test okd-scos-e2e-aws-ovn
/test perfscale-aws-fips-ingress-perf
/test perfscale-aws-ingress-perf

@gcs278

gcs278 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

CI is looking very good. One failure on The HAProxy router converges when multiple routers are writing conflicting status, but that is that very flaky in other CI jobs.

I call it good, but I'll spin more more time:
/test all

@gcs278

gcs278 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

/test ?

@gcs278

gcs278 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-router
/test okd-scos-e2e-aws-ovn
/test perfscale-aws-fips-ingress-perf
/test perfscale-aws-ingress-perf

@gcs278

gcs278 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@gcs278

gcs278 commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

Early Perf & Scale Results of (non-FIP): here

And Fips: here (Note: This is comparing FIPs to non-FIPs which isn't a fair comparison, we need to get a FIPs baseline run, but I'm not sure how/where to identify that).

@gcs278
gcs278 force-pushed the smoke-test-haproxy32-3.2.19 branch from b83f1e1 to 2268fb3 Compare June 26, 2026 18:17
@gcs278

gcs278 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

We've typically done some aggregate E2E to expose any flakes in the past with new HAProxy versions:

/payload-aggregate periodic-ci-openshift-release-master-ci-5.0-e2e-aws-ovn 5

@openshift-ci

openshift-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

@gcs278: trigger 0 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

@gcs278

gcs278 commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

whoops I forgot to start the perf tests:
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-router
/test okd-scos-e2e-aws-ovn
/test perfscale-aws-fips-ingress-perf
/test perfscale-aws-ingress-perf

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 29, 2026
image approach (no sidecar yet)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gcs278
gcs278 force-pushed the smoke-test-haproxy32-3.2.19 branch from 2268fb3 to d30e595 Compare July 6, 2026 18:57
@gcs278

gcs278 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-router
/test okd-scos-e2e-aws-ovn
/test perfscale-aws-fips-ingress-perf
/test perfscale-aws-ingress-perf

@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 6, 2026
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{"name":"HttpError","status":500,"request":{"method":"PATCH","url":"https://api.github.com/repos/openshift/router/issues/comments/4652558144","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/0.0.0-development octokit-core.js/7.0.6 Node.js/24","content-type":"application/json; charset=utf-8"},"body":{"body":"<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- This is an auto-generated comment: review paused by coderabbit.ai -->\n\n> [!NOTE]\n> ## Reviews paused\n> \n> 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.\n> \n> Use the following commands to manage reviews:\n> - `@coderabbitai resume` to resume automatic reviews.\n> - `@coderabbitai review` to trigger a single review.\n> \n> Use the checkboxes below for quick actions:\n> - [ ] <!-- {\"checkboxId\": \"7f6cc2e2-2e4e-497a-8c31-c9e4573e93d1\"} --> ▶️ Resume reviews\n> - [ ] <!-- {\"checkboxId\": \"e9bb8d72-00e8-4f67-9cb2-caf3b22574fe\"} --> 🔍 Trigger review\n\n<!-- end of auto-generated comment: review paused by coderabbit.ai -->\nNo actionable comments were generated in the recent review. 🎉\n\n<details>\n<summary>ℹ️ Recent review info</summary>\n\n<details>\n<summary>⚙️ Run configuration</summary>\n\n**Configuration used**: Repository: openshift/coderabbit/.coderabbit.yaml\n\n**Review profile**: CHILL\n\n**Plan**: Enterprise\n\n**Run ID**: `9792e119-8f95-4f3f-be4a-6300f8306e9a`\n\n</details>\n\n<details>\n<summary>📥 Commits</summary>\n\nReviewing files that changed from the base of the PR and between 2268fb372469b8752f9414a2035e672c90399b90 and d30e595af99c751f7c1efb6e688ac961b074b0eb.\n\n</details>\n\n<details>\n<summary>📒 Files selected for processing (1)</summary>\n\n* `images/router/haproxy/Dockerfile.ocp`\n\n</details>\n\n<details>\n<summary>✅ Files skipped from review due to trivial changes (1)</summary>\n\n* images/router/haproxy/Dockerfile.ocp\n\n</details>\n\n</details>\n\n---\n<!-- walkthrough_start -->\n\n## Walkthrough\n\nThe router image Dockerfile updates the HAProxy package installed during build from `haproxy28` to `haproxy32`.\n\n### Changes\n\n**Router HAProxy package update**\n\n|Layer / File(s)|Summary|\n|---|---|\n|**Package install switch** <br> `images/router/haproxy/Dockerfile.ocp`|`INSTALL_PKGS` replaces `haproxy28` with `haproxy32`.|\n\n**Estimated code review effort:** 1 (Trivial) | ~5 minutes\n\n### Suggested labels\n\n`jira/valid-reference`\n\n<!-- walkthrough_end -->\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 15</summary>\n\n<details>\n<summary>✅ Passed checks (15 passed)</summary>\n\n|                    Check name                    | Status   | Explanation                                                                                                                                                                  |\n| :----------------------------------------------: | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|                 Description Check                | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled.                                                                                                                  |\n|                    Title check                   | ✅ Passed | The title clearly matches the main change: a WIP smoke test for HAProxy 3.2.19 RPM.                                                                                          |\n|                Docstring Coverage                | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.                                                                   |\n|                Linked Issues check               | ✅ Passed | Check skipped because no linked issues were found for this pull request.                                                                                                     |\n|            Out of Scope Changes check            | ✅ Passed | Check skipped because no linked issues were found for this pull request.                                                                                                     |\n|        Stable And Deterministic Test Names       | ✅ Passed | Only images/router/haproxy/Dockerfile.ocp changed; no Ginkgo tests or titles were added or modified.                                                                         |\n|            Test Structure And Quality            | ✅ Passed | PR only changes images/router/haproxy/Dockerfile.ocp to swap haproxy28→haproxy32; no Ginkgo/test files are modified, so this check is not applicable.                        |\n|           Microshift Test Compatibility          | ✅ Passed | The PR only changes images/router/haproxy/Dockerfile.ocp to swap haproxy28 for haproxy32; no Ginkgo tests or MicroShift-relevant APIs/features were added or modified.       |\n|  Single Node Openshift (Sno) Test Compatibility  | ✅ Passed | Only Dockerfile.ocp changed; no Ginkgo/e2e tests were added or modified, so the SNO check is not applicable.                                                                 |\n|      Topology-Aware Scheduling Compatibility     | ✅ Passed | PASS: PR only swaps haproxy28→haproxy32 in the router Dockerfile; no deployment manifests, controllers, or topology-sensitive scheduling logic changed.                      |\n|            Ote Binary Stdout Contract            | ✅ Passed | PR only changes images/router/haproxy/Dockerfile.ocp to install haproxy32; no Go process-level code or stdout/stderr logging is touched.                                     |\n| Ipv6 And Disconnected Network Test Compatibility | ✅ Passed | PR only changes a Dockerfile package name; no new Ginkgo tests or IPv4/external-network code was added.                                                                      |\n|                  No-Weak-Crypto                  | ✅ Passed | Diff only swaps haproxy28 to haproxy32 in the Dockerfile; no new MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret-comparison code was added.                     |\n|               Container-Privileges               | ✅ Passed | The PR only changes haproxy28 to haproxy32 in the router Dockerfile; no privileged, hostNetwork/hostPID/hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings were added. |\n|             No-Sensitive-Data-In-Logs            | ✅ Passed | Only a Dockerfile package swap (haproxy28→haproxy32); no logging or sensitive-data exposure was added.                                                                       |\n\n</details>\n\n</details>\n\n<!-- pre_merge_checks_walkthrough_end -->\n<!-- finishing_touch_checkbox_start -->\n\n<details>\n<summary>✨ Finishing Touches</summary>\n\n<details>\n<summary>🧪 Generate unit tests (beta)</summary>\n\n- [ ] <!-- {\"checkboxId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Create PR with unit tests\n\n</details>\n\n</details>\n\n<!-- finishing_touch_checkbox_end -->\n<!-- tips_start -->\n\n---\n\n\n\n\n<sub>Comment `@coderabbitai help` to get the list of available commands.</sub>\n\n<!-- tips_end -->\n<!-- internal state start -->\n\n\n<!-- N4IgzgxgFgpgtgQwGowE5gJYHsB2IBcAjADTgAuqArhGZajACYDKZCZMBoYF1t9K6bHiKkADqgDyAIwBWMGhgBuMMARABidQAIACgCUtYSnESoAngB0cVgCoYyAGxj4tAdQCSOl0zhYA1jBa7NxaABIAgjqoWAAeZloAzAB0AExJhACcWno6ALJaWlYAcsZSaC4A7BkpWoAoBFpYojA4BVYAqnoAMi5QZGSiYPgA9EMA5vZQlFJJEFhwQ43NYFAYAGZkQ9GU7KhDopQODkNVNYU44dtQWKguoxBgKRUAHK04TFh0EIFSqAg40C4wL4AgBaYJkEFQBDiWJmBIpEHJNKZLSAJMItDYEKhRjAyFofn8AVpENw0K89DBFBgYAB3NCDLQMBBUhgqBBOVA4LDELQyCC+X4YMAyVCvToIMoOBk4GCMMAg+hSBBgGA8hhYEFciFwNA4oY065+EEYHAgmGjehgMCvADC9DYjBcKQADCkAGwg50e51PGyEJ74AAszvw7oAWq8rAARFQQVAYURkIT4KwgrQ+fyBcFaVbXMKRaJxRKpdJZE1BWDE3BYBwTDAQLQACi5pswrIgWIAlFotjsq6yHElUxjKwADKEwuLwxElzKj7J5LRCrTs+0MeLMhAYBwSpxLlpkStmYw9mCiLD47ZL60QOj0HCOeKUHCUFUMIemkeBfSGGn2aAqBWgS+FytaHvWPYfH2GCIDiQQXia3Dsg4WjjtChZwik86IewCAMA0qyoROGEpE8o48mAF4RFEsLFjUHYtGUhjAlmKjsPh5Y2u4+IwLm9A5tciAoXhjRJrgH5pgAQvQNKXtuDA9H0AzDEMPy0nS0zNOMMpoCaoxJPQDBQmQMxzKpMlDKwYB+CauYAPxWX47hRgAvBUzoZBkbopAArE8w4AKKiPWin9IMIyGcZSRsDuVoYH8SQyhsPxYDSKpDEUAUgikOXOlYViaFoNpzDqD7WkYJhYpY1ifncDzPFoEA7vGqzUvhh5sBWy7LggWiADgEih/NuO6ALgEdHMZmQRsboBgmuwOCsu1F44niFqyi0XE9s+1plHxgTURh43dQ+MAWg6+F/oeQGGBg7ZYiuqDQPY8h8KqK4LaeACOlBsYwK5xaMOClXiWCEaOAACfICluwqoKOEnppSaDslNISzJVC3WnS/H0N9v34QwdB6dd9BUrSPImk1lAMHpKYtFoaajjAKQwCCOqsA4xrBSCWCKKahPskhEB+KOVgFIzzOs+z7JcxgPN81zihuqL9MSyzbO4jLCZy7zpq9mgKvi6h/gMCCkBYPKksgggaXyzghsM6hTSoKskDsqzNvyq1AzGjga1WmaaCrA7jPO67HZONbtt6Za8phyHWg7n2o6WdNyEq2m4TrGSm2WgcZA3ggOr7jydWPC8YBbvhm0OFgmb4co5haKMdf4bzyOHEkWgSDKOZbg4dCBDSypaFqf3lkz6vS5z2t2wqUEGwJoqjjYlYHbR+uirMOCNziWOwC0cD5wme6b9aWJD/GSZ+41uCrLWCg30htBgORl54oeMDxOec1/VBXXWmzMuPwXIaQHgvExRu8R74ID8PEcsWBP6ik2jILAUhz4fW3m2NAf1P5bRaAgCAXxEy7hgAjcIqFNi4jYvOYe1ohRGD+ggbOqBh6oHfMOMuDVlgX3wjALEDhv5B3evhN2p8VD52tHxfEiCoCj1wCCAAYp4JgIitDKJ0KoqgOAwA8lrDgGyN8ADivxVh/F6kyZYUgsBYgYFIvM/DoBd1Xl/eR7FroaNUejUQWIhS4C0HQtxK4+4YC3nMHx8ZKKMXkAgV8gR7ABJHggUYW4dF4hbEolRjI2AIB5H8URVdgkwmduorJSoVT6MCNowwSZDij1lHY+CPElysgfGsNqCMuEvEFheYGQhcHGRXKMNaKT2BaACikAK+Dz78TIGYYKEdBFaDiUtLQMAYjnhVDmHcAQsYTHqbJdeRZG6YFwLotR9BVg4P+EwrQPizC1zwtbYZ9BRmBFQVIJeFZOr7FQJsshIBSC/BpEwYwpgzC5GhJwEAMFkkqE2AvXYxFYRDCjFgYWQdtxkPRaINQhVwjuBBDiGUvx3EVXBQRRqUI/YqHyjgFx+YaJFk3loNFGKXZYt/P+WAgDKw4WQn9I539CF+DhTmaIcAiLoVhKRecZALxoUnJhecUgnyiCZNfUY11RzuCKEwGw4ROidAAPo6AANJGKYPOWsIQVlfNHMeSV/LDjwy0EUC8siyRSEoPJGpZ5ypXDAfuABjI1iEQvlSv4OIOE1XxQ4HYbAhCAIvHg9szVE1nMpes88qB3F5n2FIB+ay2lJlpTVd1Mo6WdBNIBaAUbHRaAANSECGCCQgdKArcFhe42YrJTxk1krxPiZAXCdFSiAAAvqQVkrAsUMGKqySStdhagsquYPQ9bVD4AANqgF+DS9wDA1D7pxMahgUh3Kuh8m6KQDBAxSEBSAHxh41Cwr3gi7YaAhjIriKi9FAQOVOCSDix9SFc3VplAQFIpBmgMAgxwUMpByVVTUG0dVDpeWBB1Xqg1RrTUWqtcWqk0QgbNDxHawm8Yb4+OFmK51SchBNPoKIHcXwpVKtlQE/ZiqMLwnho+3tMAl3/uKnAFj6z7BmDULXGkk6AC6QLKTUjpPOkq9hD1bu3SADyzpCAVCkM6CATwMhPDdCZmACQGB3qkCkTIPkvh4WdIGe99n3QZEDDlR9CRCFmJ8oQVYGQED3udPpwzUhCARYSDejyspCApASB5QMDAEhSB8oGQgj6pBPASKsQgMA4urBSAgZ0SoKgVEIAgLyPkfTOhgCFioOXZRPEK15dLR7SA5TdM1qQCQKgpEDGZrLFQfIpAC+lwMCAXQJB8jAN0fWIAZGdAkTyUhFsgAU0++guRdQwBtLAYWW7QBCn0MJjFqmTBkZ0BbdiBAzFSlVDCsAEhG7xis80W7gsHvqnuBQPSxVG5wvcCdTk7IWAOk4FOkAgmN1SCkPYVw0R2BRDsI4BDd2VRIauAcBgp2/D6A+/d6dt09DPjZSwKjowwB7fkH4AgPAvvE+fCjpw1PhZ06oAzhgJOcAxkgPGRMQhWe0/wOjh7+iAgMHcFaH6YBydqEfbFMgQuKRGHjZp0AAFhZFCLghkAvO4wJjEhtfbtOkOsBfuzn6MGNk7hwBm4QIAheGBsqIJo+E0wLpgDDuHZBACYBNaFYowoAgicMoFCyGm7LmaKQ98j7fCsjUGwnAelH3XAwNpdkQvtc6jUKyPnhuhCTuIBrk32fdfM8CJr035A2Cvktw97Ntv7dqAZUmVHjUnACPiIgMgAFMPElSZGmlLheoeB0BNAIqM8TSKFXRUsC5chJEfZaGs2xC/4BfIcUg8fddJ5T4p7erVRiDwJxjkAaeM8OCzzrtQbenBF5LzTsvag2XcAp0VduvwcSgfN3X/A9PrcWNzEjc1B3UcxnwFBM1cxnwOIDxKw60aV8JWonBk01lBoB4HRGR0U39iZZgAccQu4mAXdgob5vscCb48DkY4Iq8l9FNKIB4QD8AQAEdnosCfsKd7FRQ8FVgICjdrQ4AGFiZP5JV5VDBE0wBVh4g8FKCv8swoBLQrgHBY9t8sAE8mC98/ZU94xL9r8c8mCyDfs/ZVAp1H8tcb8mCIMJctApdGEbwTcf9a8t0ACQBG9gD19HcTdncEw3ceIOw4l5FE4TQrCGEZcAkcEBIYCvlwJrR9g6lcYZcTI49VDd8sRk9NDSAL8TRM9S9zCQBxdGAbCZdwgrQVAgQyMH8occi9CQAJArxQZ0xZgmgipqU94qUacHCLd/8OdACm9GCPCacvDXc/oyg/CtkuRAiDFx5pdAJsZAhoCPppFoi7kDgUJ4i2JaCQAd9E9Uj99z9tCsir8qjdcoIJBVgmBGjdsWiVBiiVQrRgYKiq9n8mCwdC1AhwgPoYwdgBDk8u0GwbBpoy9VAzdHD68D87508T8RdPsei3DcA1Ae4lk314VN5v1pVf02UANkDsUIBRAh9o0ABuAIoxIIluKfa0PMO/GY8IvCRaBoUUePdpRgDYlfBg9fTfBwFQtQlw1AaIVALQ9PA43Q3XW8bgOYB4o4lvaacnXgQeLQd4/CAARUoHZEkw6L/2cPoEPwhPoFPwbxt1hIdx/FwCWQQNaKRLAA/R2FRKVT/XZSxOAxxKaTAGHlxJ/TMFIlRDdPhEJPGOJIMRblThCCxJmWAlUMZIYAohTRWDsIGOXC1BXFdwflIWZJUFX0YPZM5JSM5F2MyLt0OKf1yJFPlTgHFILOqNyHrGiGWDWDxH+JCFE2fQwDhzAik2BM6I1PkHBOPx1KhMJxcP1Ltz6IZSNJwBNKuPoVgmRMRWtIwltMxKxQdNxNEOdOhC0DdNIi+S9JSB9IvD9L8FJPBHJNFArLjCwCYBWHWAVBgFDz+DxEiClyGCuVr0tDCP4hpL/npLDNaiZOX1TNZLhI3xWMzO2OzPSL2IFLzKFLUCLLFJMMqLLN1yYD0j3HdT7QkCaB0QvLxEbCYC5G7DrLxAbMTWbNVLbPVO6JAE1K7MhNFxhMHPcIRPiAxMxSAxxTxMYB3K0D3IDMljJNfMCHfLbk/Jpm/IjMMCjMCCYCKAkDaOFmvCCWhBY3rGTN/PoLXwAozM2OSJArSNGH5J0IlKYJgpLLgseNyJsEaBrCwFGDMBBHCDYUkoAkJn0S1SIqTBIrmTVKcIoqopwCPxouhP7KAPooApAB0HCCYCYBcBHKWRXIGDXLRPdKeE9MSvhGDTwRZWYsAxgE4tZBYywDMGBgH2TyuW4HOW3goBrA5HOQpMstrhsrNiWHsCUECEgFgGcuJnqoglNJ/LoLTLZKAq0q5I0L0oyP2MgsMqh1fGLNLLMOqIkDGUkiyKbhYHVCvGKgfF+BoC8tBMos7L8u1LR0CtcJCsNIMGNPiB6onLhQtJRLdLnJYuxKXIQjSWQgSqVW9KJIvBhC+ADlD2vNvj7TzG4DWo2BBrQFFHqu0i1WXHlWoHapTLUvTMGq2KYIhuuH0sFMmuMtmr8CeJAHcFECVjlI+KFG3hlBoD+iKFxANFQD8AxGmjcqbO3FIpr3bJ8v2v8p7NoqCt6PcJisuvHOCSyqxLuRFTFTtx1E4plFkm4pTTYiPOsJ0EUEDCGHWR2DzM1BpsNEBqHiSTe2UL2qRoGq3yGqzN0sxomoQugumtguL3grmt13dRBFcH4SNDtHmXlR2q6Ktz2q1O7KOr7JOubyYKjDDQaFHPiDioD0So3NEK3PSsrBFqxWltpC0FyCjB8iGCYAiBbSjACiYCGD0BtFVoSHzsLuExpFamWCGAChtEkh5GMsanMETG5DpMMHkHoAhG8V8SiV1sSXPgNsRv6o0pRu0rRp5IxrGoguyOtqMttpMvtrMuqI2tnRJRBCiCUCxT3m9o7P9oCqDoHJDpAGHPOsjvYpjo4xeHjtSpqHLAysRVZX/Ues4vEC3qcGjR5CuG4GprIFpr8G/Wux0GckAe4E8BtB5CYAAE0mBjVwgoxchdUeQ8xkJUpN6qQP6YBO0I57cO6+g9IsZqSh7VKR7hBNLUbuTeTLbZ7HabbRTF7TC8bcjnamAmqkxlAQQowckQQgcQQx1Kdd6Ob97ubjqj6+jGLhbn7sqxbaM4I4qmx1zkqtzOxOKobiZga2GWqQQNVeps0LZZTAlBLh7/yyGx6uT0a+Tp6DK56pr6H5NSBFd9B9d+c+jCpV1wU6UMxJ9swZ8CxaIkR5977KwQIaw6wGxmwFFsEOxUBuwWUd9Bw6UGUeNYRpwAm5wF95LVx+F1wVxBptxSFE7AhHVTxzx355LbweSyMllnwVlnFoyZouVe8eVroQmwIVgGwWUkSml6N2NeMsJ9xSQ8JKVkm4hZU8lDhUpiZXwnSWIp9GVDokRg1Npdprh4k8Rlw+IhIlkRJEwmS6U0wAAqA56SNO71eSI50KZSEYNSGkDSJILSGtXSP2AyRgKKdGcyWkSyZUQxeyRyZyNyDyLyXyfyT8I5oKesC5tcpScKKhIyNgaKRwZUTABKJKcyVKdKTKbKXKBXZUMgfQCvNQMfbwWZ7MWfNJrIHIXIIvEAWJeVHQWJFUMHdgaFRxhlxgcIMgCkAdRgUTAQpXD4B8AgHySHUmIUdfUAGkK+GAQ9NQXTDIVYBIJ4IhEENLZ0BAEEebZ0EEDINLBIT0BICAErHyBgJ4PrFICASdCdCdIAA== -->\n\n<!-- internal state end -->"},"request":{"retryCount":3,"signal":{},"retries":3,"retryAfter":16}}}

@gcs278

gcs278 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

fips failed [sig-network-edge][Conformance][Area:Networking][Feature:Router][apigroup:route.openshift.io][apigroup:config.openshift.io] The HAProxy router should pass the http2 tests [apigroup:image.openshift.io][apigroup:operator.openshift.io] [Suite:openshift/conformance/parallel/minimal] due to DNS resoultion
/test e2e-aws-fips

Metal has a install failure, that is a bit weird:
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-router

@gcs278

gcs278 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

FIPs seems unrelated to promethesus failure: : [sig-instrumentation] Prometheus [apigroup:image.openshift.io] when installed on the cluster should start and expose a secured proxy and unsecured metrics [apigroup:config.openshift.io] [Suite:openshift/conformance/parallel]

/test e2e-aws-fips

Metal seems to be permafailing on installation. Not sure why.

@gcs278

gcs278 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

claude says metal is infra failure:

The failure is an infrastructure/environment issue in the baremetalds-devscripts-setup step — the cluster never even got installed, so HAProxy/router code was never exercised. Specifically:

  1. Root cause: The Ansible task "Download Go tarball from official source" failed trying to download go1.24.10.linux-amd64.tar.gz from go.dev with an SSL error:
  Connection failure: [ASN1: NOT_ENOUGH_DATA] not enough data (_ssl.c:4192)
  2. This caused make requirements to fail with exit code 2, which meant the dev-scripts cluster provisioning never started — there's no kubeconfig, no cluster, and no test execution at all.

/test e2e-metal-ipi-ovn-router

@gcs278

gcs278 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

Another perf & scale run, and comparing to difference baselines:

  • Against the June 22 HAProxy 2.8 baseline, HAProxy 3.2 shows no regression for passthrough, a moderate 4-5% RPS drop for edge and HTTP terminations, and the most significant impact on reencrypt at 7% (HTTP/2) to 15% (HTTP/1.1).
  • Against the June 29 HAProxy 2.8 baseline, HAProxy 3.2 shows no regression for passthrough, a moderate 3-4% RPS drop for edge and HTTP terminations, and a 6% (HTTP/2) to 12.5% (HTTP/1.1) drop for reencrypt.

Still showing up to 12-15% regression in encrypt. This is above our general threshold (~5%) for concern. Something we should probably look into. CC @rhamini3 @jcmoraisjr

@gcs278

gcs278 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

FIPs has failed again on a different issue, but neither seem related to haproxy ingress:

: [sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] Simple CustomResourceDefinition listing custom resource definition objects works [Conformance] expand_more	37s
: [sig-auth][Feature:HTPasswdAuth] HTPasswd IDP should successfully configure htpasswd and be responsive [apigroup:user.openshift.io][apigroup:route.openshift.io] [Suite:openshift/conformance/parallel] expand_more

/test e2e-aws-fips

Metal still has an install failure:
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-router

@gcs278

gcs278 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

/test okd-scos-images

@gcs278

gcs278 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

unrelated failures, and okd images should be resolved now:
/retest

@gcs278

gcs278 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

/test okd-scos-images

@gcs278

gcs278 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-metal-ipi-ovn-dualstack

@openshift-ci

openshift-ci Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

@gcs278: The following tests 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/prow/okd-scos-e2e-aws-ovn d30e595 link false /test okd-scos-e2e-aws-ovn
ci/prow/okd-scos-images d30e595 link true /test okd-scos-images
ci/prow/e2e-metal-ipi-ovn-dualstack d30e595 link false /test e2e-metal-ipi-ovn-dualstack

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.

@gcs278

gcs278 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

unrelated
/test e2e-metal-ipi-ovn-dualstack

@gcs278

gcs278 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-upgrade

@openshift-ci

openshift-ci Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

@gcs278: An error was encountered. No known errors were detected, please see the full error message for details.

Full error message. could not check if the user gcs278 is trusted for pull request openshift/router#792: error checking gcs278 for trust: error in IsMember(openshift): net/http: request canceled (Client.Timeout or context cancellation while reading body)

Please contact an administrator to resolve this issue.

@gcs278

gcs278 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-upgrade

@openshift-ci

openshift-ci Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@gcs278: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-upgrade

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/e9818400-81e1-11f1-8065-a9274e66889a-0

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

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants