Skip to content

NE-2815: feat: configure HAProxy version selection#9040

Open
jcmoraisjr wants to merge 1 commit into
openshift:mainfrom
jcmoraisjr:NE-2815-select-haproxy-version
Open

NE-2815: feat: configure HAProxy version selection#9040
jcmoraisjr wants to merge 1 commit into
openshift:mainfrom
jcmoraisjr:NE-2815-select-haproxy-version

Conversation

@jcmoraisjr

@jcmoraisjr jcmoraisjr commented Jul 20, 2026

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Configures Hypershift with the new command-line options used to declare the available HAProxy versions in the current release, as well as the default HAProxy version in case it is not provided in the IngressController resource.

Which issue(s) this PR fixes:

Fixes https://redhat.atlassian.net/browse/NE-2815

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • New Features
    • Added support for configuring HAProxy 2.8 and 3.2 image variants.
    • Added a configurable default HAProxy version for ingress deployments.
    • These settings can now be supplied at runtime through deployment configuration.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

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

openshift-ci-robot commented Jul 20, 2026

Copy link
Copy Markdown

@jcmoraisjr: This pull request references NE-2815 which is a valid jira issue.

Details

In response to this:

What this PR does / why we need it:

Configures Hypershift with the new command-line options used to declare the available HAProxy versions in the current release, as well as the default HAProxy version in case it is not provided in the IngressController resource.

Which issue(s) this PR fixes:

Fixes https://redhat.atlassian.net/browse/NE-2815

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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.

@jcmoraisjr

Copy link
Copy Markdown
Member Author

We need openshift/cluster-ingress-operator#1498 being merged first

/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 20, 2026
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (6)
  • control-plane-operator/controllers/hostedcontrolplane/testdata/ingress-operator/AROSwift/zz_fixture_TestControlPlaneComponents_ingress_operator_deployment.yaml is excluded by !**/testdata/**
  • control-plane-operator/controllers/hostedcontrolplane/testdata/ingress-operator/GCP/zz_fixture_TestControlPlaneComponents_ingress_operator_deployment.yaml is excluded by !**/testdata/**
  • control-plane-operator/controllers/hostedcontrolplane/testdata/ingress-operator/IBMCloud/zz_fixture_TestControlPlaneComponents_ingress_operator_deployment.yaml is excluded by !**/testdata/**
  • control-plane-operator/controllers/hostedcontrolplane/testdata/ingress-operator/ModernTLS/zz_fixture_TestControlPlaneComponents_ingress_operator_deployment.yaml is excluded by !**/testdata/**
  • control-plane-operator/controllers/hostedcontrolplane/testdata/ingress-operator/TechPreviewNoUpgrade/zz_fixture_TestControlPlaneComponents_ingress_operator_deployment.yaml is excluded by !**/testdata/**
  • control-plane-operator/controllers/hostedcontrolplane/testdata/ingress-operator/zz_fixture_TestControlPlaneComponents_ingress_operator_deployment.yaml is excluded by !**/testdata/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 49bb41fe-8fcc-4515-a95f-1ff9be13fae4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The ingress-operator deployment now accepts HAProxy 2.8 and 3.2 image references plus a default HAProxy version through environment variables. The deployment command passes these values using HAProxy-specific flags. adaptDeployment populates the environment variables, including a default version of 3.2, alongside the existing deployment configuration.

Suggested reviewers: muraee

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 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 change by describing HAProxy version selection configuration.
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 test files were changed and no Ginkgo titles appear in the touched ingress-operator files.
Test Structure And Quality ✅ Passed No Ginkgo test code was added or modified in this PR; only deployment manifests and implementation changed.
Topology-Aware Scheduling Compatibility ✅ Passed Only HAProxy env vars/args were added; no new nodeSelector, affinity, spread, toleration, or replica changes were introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the commit only updates ingress deployment manifests, code, and testdata fixtures.
No-Weak-Crypto ✅ Passed Touched files only add HAProxy version env/args; no weak crypto, custom crypto, or secret-comparison code appears in the diff.
Container-Privileges ✅ Passed The changed ingress-operator manifest and adapter only add HAProxy args/env vars; no privileged, host*, SYS_ADMIN, or allowPrivilegeEscalation settings are introduced.
No-Sensitive-Data-In-Logs ✅ Passed No new logging was added; the changes only add HAProxy version args/envs and a package scan found no log calls exposing sensitive data.
✨ 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 requested review from csrwng and muraee July 20, 2026 15:09
@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release and removed do-not-merge/needs-area labels Jul 20, 2026
@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.50%. Comparing base (09265ac) to head (1e1ac9a).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #9040   +/-   ##
=======================================
  Coverage   44.50%   44.50%           
=======================================
  Files         774      774           
  Lines       96980    96980           
=======================================
  Hits        43164    43164           
  Misses      50828    50828           
  Partials     2988     2988           
Files with missing lines Coverage Δ
...ostedcontrolplane/v2/ingressoperator/deployment.go 62.06% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bryan-cox

Copy link
Copy Markdown
Member

/retest

@jcmoraisjr

Copy link
Copy Markdown
Member Author

openshift/cluster-ingress-operator#1498 merged 🎉

/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 22, 2026
@csrwng csrwng added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 22, 2026
@gcs278

gcs278 commented Jul 22, 2026

Copy link
Copy Markdown

/test ?

@bryan-cox bryan-cox left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

@gcs278

gcs278 commented Jul 22, 2026

Copy link
Copy Markdown

This feature is only activated in techpreview, so lets make sure we run hypershift's techpreview job:

/test e2e-aws-ovn-conformance-techpreview

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

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-azure-v2-self-managed
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-gke
/test unit
/test verify

@muraee

muraee commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

/approve

Configures Hypershift with the new command-line options used to declare
the available HAProxy versions in the current release, as well as the
default HAProxy version in case it is not provided in the
IngressController resource.

https://redhat.atlassian.net/browse/NE-2815
@jcmoraisjr
jcmoraisjr force-pushed the NE-2815-select-haproxy-version branch from a2d0ccd to 1e1ac9a Compare July 22, 2026 14:00
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 22, 2026
@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

@jcmoraisjr

Copy link
Copy Markdown
Member Author

Latest push updated ModernTLS testdata, added after this PR.

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bryan-cox, jcmoraisjr, muraee

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

@gcs278

gcs278 commented Jul 22, 2026

Copy link
Copy Markdown

/test e2e-aws-ovn-conformance-techpreview

@gcs278

gcs278 commented Jul 22, 2026

Copy link
Copy Markdown

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-azure-v2-self-managed
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-gke
/test unit
/test verify

@cwbotbot

cwbotbot commented Jul 22, 2026

Copy link
Copy Markdown

Test Results

e2e-aws

e2e-aks

@jcmoraisjr

Copy link
Copy Markdown
Member Author

Chai-bot helped me double checking that all the failures are either infra related or other flakiness. Giving them another chance.

/retest

@jcmoraisjr

Copy link
Copy Markdown
Member Author

/retest

@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@jcmoraisjr: The following test 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/e2e-aws-ovn-conformance-techpreview 1e1ac9a link false /test e2e-aws-ovn-conformance-techpreview

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. area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants