Skip to content

Commit 3754871

Browse files
gcs278claude
andcommitted
NE-2215: add CI step and presubmit for testing HAProxy 2.8
Add CI scaffolding 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 - e2e-aws-operator-haproxy28-techpreview CIO presubmit: optional operator e2e test with HAProxy 2.8 for validating CIO changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1e72272 commit 3754871

5 files changed

Lines changed: 96 additions & 0 deletions

File tree

ci-operator/config/openshift/cluster-ingress-operator/openshift-cluster-ingress-operator-master.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,27 @@ tests:
308308
requests:
309309
cpu: 100m
310310
workflow: ipi-aws
311+
- always_run: false
312+
as: e2e-aws-operator-haproxy28-techpreview
313+
optional: true
314+
steps:
315+
cluster_profile: openshift-org-aws
316+
env:
317+
FEATURE_SET: TechPreviewNoUpgrade
318+
HAPROXY_VERSION: "2.8"
319+
pre:
320+
- chain: ipi-conf-aws
321+
- ref: ingress-conf-haproxy-version
322+
- chain: ipi-install
323+
test:
324+
- as: test
325+
cli: latest
326+
commands: make test-e2e
327+
from: src
328+
resources:
329+
requests:
330+
cpu: 100m
331+
workflow: ipi-aws
311332
- always_run: false
312333
as: e2e-openstack-operator
313334
optional: true
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
approvers:
2+
- gcs278
3+
- jcmoraisjr
4+
- Miciah
5+
- candita
6+
reviewers:
7+
- gcs278
8+
- jcmoraisjr
9+
- Miciah
10+
- candita
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
set -o errexit
4+
set -o nounset
5+
set -o pipefail
6+
7+
echo "Info: ingress-conf-haproxy-version running"
8+
echo " HAPROXY_VERSION='${HAPROXY_VERSION:-<unset>}'"
9+
10+
if [[ ! -d "${SHARED_DIR}" ]]; then
11+
echo "Error: SHARED_DIR not set or doesn't exist"
12+
exit 1
13+
fi
14+
15+
if [[ -z "${HAPROXY_VERSION}" ]]; then
16+
echo "Error: HAPROXY_VERSION must be set"
17+
exit 1
18+
fi
19+
20+
echo "Configuring default IngressController with HAProxy version: ${HAPROXY_VERSION}"
21+
22+
cat > "${SHARED_DIR}/manifest_default-ingresscontroller.yaml" <<EOF
23+
apiVersion: operator.openshift.io/v1
24+
kind: IngressController
25+
metadata:
26+
name: default
27+
namespace: openshift-ingress-operator
28+
spec:
29+
haproxyVersion: "${HAPROXY_VERSION}"
30+
EOF
31+
32+
echo "Wrote IngressController manifest to ${SHARED_DIR}/manifest_default-ingresscontroller.yaml"
33+
cat "${SHARED_DIR}/manifest_default-ingresscontroller.yaml"
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"path": "ingress/conf/haproxy-version/ingress-conf-haproxy-version-ref.yaml",
3+
"owners": {
4+
"approvers": [
5+
"gcs278",
6+
"jcmoraisjr",
7+
"Miciah",
8+
"candita"
9+
]
10+
}
11+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
ref:
2+
as: ingress-conf-haproxy-version
3+
from: installer
4+
commands: ingress-conf-haproxy-version-commands.sh
5+
resources:
6+
requests:
7+
cpu: 10m
8+
memory: 100Mi
9+
env:
10+
- name: HAPROXY_VERSION
11+
default: ""
12+
documentation: |-
13+
The HAProxy version to configure on the default IngressController at
14+
install time (e.g. "2.8"). This value is written into the
15+
spec.haproxyVersion field of the IngressController manifest.
16+
documentation: |-
17+
Configures the default IngressController to use a specific HAProxy version
18+
at install time by writing an IngressController manifest to SHARED_DIR.
19+
The cluster must have the IngressControllerMultipleHAProxyVersions feature
20+
gate enabled (TechPreviewNoUpgrade). This step should run before
21+
ipi-install-install in the workflow.

0 commit comments

Comments
 (0)