OPNET-787: Add optional top-of-rack BGP speaker for the baremetal network#1929
OPNET-787: Add optional top-of-rack BGP speaker for the baremetal network#1929mkowalski wants to merge 1 commit into
Conversation
cybertron
left a comment
There was a problem hiding this comment.
/lgtm
/retest-required
| sudo rm -rf /etc/exports.d/dev-scripts.exports /opt/dev-scripts/nfsshare | ||
|
|
||
| # Remove the optional top-of-rack BGP speaker | ||
| bgp/cleanup_bgp_tor.sh || true |
There was a problem hiding this comment.
Nit: This script isn't set -e so the || true isn't needed.
|
/retest-required This job has been pretty flaky lately, judging by the job history. |
ENABLE_BGP_TOR deploys an FRR container on the host network that accepts dynamic BGP sessions from cluster nodes on the external subnet and installs learned routes on the hypervisor. Primary consumer is BGP-based VIP management (openshift/enhancements#1982): the cluster advertises API and Ingress VIPs to this speaker and the host reaches them over the BGP paths. ASNs and the FRR image are configurable; teardown is wired into host_cleanup.
b45264d to
67d82ad
Compare
|
@cybertron the PR was rebased on top of master to resolve conflicts with the recently merged LLDP ToR change (no other changes introduced). Could you please re-lgtm? /approve This message was generated using AI. Please verify before acting on it. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mkowalski The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/lgtm |
|
@mkowalski: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
/retest-required |
What
ENABLE_BGP_TOR=truedeploys an FRR container on the hypervisor host network that acts as a top-of-rack BGP speaker for the baremetal (ostestbm) network:bgp listen range, so DHCP node addresses need no per-peer config)no bgp ebgp-requires-policy(RFC 8212 relaxation), required for route exchange with FRR ≥ 8 defaultsDeployment happens at the end of
02_configure_host.sh(the network exists by then and the speaker survivesocp_cleanup, matching its ToR role); teardown is wired intohost_cleanup.sh. Follows themetallb/add-on layout. ASNs and the FRR image are configurable, defaults documented inconfig_example.sh:Listen ranges and address-family activation are derived from
EXTERNAL_SUBNET_V4/V6(dual-stack aware; families without a subnet are omitted).Why
Primary consumer is BGP-based VIP management (openshift/enhancements#1982, OPNET-595): the cluster advertises API/Ingress VIPs via BGP and needs an external peer playing the ToR role. Also generally useful for any BGP-on-baremetal testing (e.g. MetalLB BGP mode without the e2e harness, OVN-K route advertisements).
Validation
$WORKING_DIR/bgp-tor, firewall port).bash -n+ shellcheck clean on the new scripts.frr.confis byte-identical to the config used throughout the enhancement-1982 demo runs.