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
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.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@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. |
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.