Skip to content

OPNET-787: Add BGP_VIP_MANAGEMENT one-click knob - #1939

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift-metal3:masterfrom
mkowalski:bgp-vip-management
Jul 31, 2026
Merged

OPNET-787: Add BGP_VIP_MANAGEMENT one-click knob#1939
openshift-merge-bot[bot] merged 1 commit into
openshift-metal3:masterfrom
mkowalski:bgp-vip-management

Conversation

@mkowalski

Copy link
Copy Markdown
Member

Follow-up to #1929 (ENABLE_BGP_TOR): a single switch that renders platform.baremetal.bgpVIPConfig into the generated install-config, so a BGP-VIP-managed cluster (enhancement 1982, DevPreview; installer support in openshift/installer#10718) deploys with plain make instead of hand-patching the install-config.

  • BGP_VIP_MANAGEMENT=true emits the config block; ASNs and peer address default to the OPNET-787: Add optional top-of-rack BGP speaker for the baremetal network #1929 ToR conventions (BGP_CLUSTER_ASN/BGP_TOR_ASN, ToR address = first IP of the external subnet), with BGP_VIP_PEER_ADDRESS as override
  • Hard-fail validation: the knob without ENABLE_BGP_TOR or without a FEATURE_SET enabling BGPBasedVIPManagement (DevPreviewNoUpgrade/CustomNoUpgrade) aborts early with a clear message
  • No-op when unset — the emitter renders nothing

Validated on a live dev-scripts hypervisor: rendered block is byte-identical to the configuration used across 20+ validated BGP-VIP installs; guardrail paths exercised. A CI lane consuming this knob (openshift/release, e2e-metal-ipi-bgp-vip) follows.


This PR was prepared with AI assistance. Please verify before acting on it.

When set, render platform.baremetal.bgpVIPConfig into the generated
install-config so the cluster advertises its API/ingress VIPs over BGP
(enhancement 1982, DevPreview) instead of managing them with keepalived.
The local/peer ASNs and the peer address default to the ENABLE_BGP_TOR
speaker's configuration (BGP_CLUSTER_ASN/BGP_TOR_ASN, ToR address on the
external subnet), overridable via BGP_VIP_PEER_ADDRESS.

Deploy validation fails fast when the knob is set without ENABLE_BGP_TOR
(nothing to peer with) or without a FEATURE_SET that enables the
BGPBasedVIPManagement gate.

Assisted-By: Claude Fable 5
Signed-off-by: Mat Kowalski <mko@redhat.com>
@openshift-ci

openshift-ci Bot commented Jul 31, 2026

Copy link
Copy Markdown

@mkowalski: 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/e2e-agent-5control-ipv4 846259f link false /test e2e-agent-5control-ipv4
ci/prow/e2e-metal-ipi-ovn-dualstack 846259f link false /test e2e-metal-ipi-ovn-dualstack
ci/prow/e2e-metal-ipi-ovn-ipv4-bond 846259f link false /test e2e-metal-ipi-ovn-ipv4-bond

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.

mkowalski added a commit to mkowalski/openshift-release that referenced this pull request Jul 31, 2026
New baremetalds-e2e-bgp-vip workflow: dev-scripts baremetal IPI install
with BGP_VIP_MANAGEMENT=true + ENABLE_BGP_TOR=true (DevPreviewNoUpgrade,
v4, 2 workers), followed by a verification step asserting the feature's
acceptance criteria instead of the conformance suite: vipManagement=BGP
on the Infrastructure CR, frr-k8s static pods (and no keepalived) on the
control plane, the API VIP advertised to the ToR from every master and
the ingress VIP from the workers, and the console answering over the
BGP-routed path.

Wired as an optional, on-demand presubmit on openshift/installer. The
job is expected to fail until the feature PRs merge (installer#10718,
MCO#6326, CNO#3047) and the dev-scripts knob lands
(openshift-metal3/dev-scripts#1939); on installer#10718 itself the
payload carries the PR's installer, so /test e2e-metal-ipi-bgp-vip
exercises the flow end to end.

Assisted-By: Claude Fable 5
Signed-off-by: Mat Kowalski <mko@redhat.com>
@cybertron

Copy link
Copy Markdown
Contributor

/lgtm
/approve
/retest-required

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

openshift-ci Bot commented Jul 31, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cybertron

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 Jul 31, 2026
openshift-merge-bot Bot pushed a commit to openshift/release that referenced this pull request Jul 31, 2026
#82698)

New baremetalds-e2e-bgp-vip workflow: dev-scripts baremetal IPI install
with BGP_VIP_MANAGEMENT=true + ENABLE_BGP_TOR=true (DevPreviewNoUpgrade,
v4, 2 workers), followed by a verification step asserting the feature's
acceptance criteria instead of the conformance suite: vipManagement=BGP
on the Infrastructure CR, frr-k8s static pods (and no keepalived) on the
control plane, the API VIP advertised to the ToR from every master and
the ingress VIP from the workers, and the console answering over the
BGP-routed path.

Wired as an optional, on-demand presubmit on openshift/installer. The
job is expected to fail until the feature PRs merge (installer#10718,
MCO#6326, CNO#3047) and the dev-scripts knob lands
(openshift-metal3/dev-scripts#1939); on installer#10718 itself the
payload carries the PR's installer, so /test e2e-metal-ipi-bgp-vip
exercises the flow end to end.

Assisted-By: Claude Fable 5

Signed-off-by: Mat Kowalski <mko@redhat.com>
@openshift-merge-bot
openshift-merge-bot Bot merged commit cfcf4a7 into openshift-metal3:master Jul 31, 2026
16 of 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. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants