Test MetalLB BGP in CI
What does this MR do and why?
Adds BGP sessions to metallb to test functionality. In the pipeline artifacts we can see:
ServiceBGPStatus FRRConfigurations FRRNodeStates and BGPSessionStates
NAMESPACE NAME NODE PEER VRF BGP BFD
metallb-system mgmt-1967753303-rke2-capo-cp-2388122e15-ln26p-99sjb mgmt-1967753303-rke2-capo-cp-2388122e15-ln26p 192.168.1.170 Established N/A
metallb-system mgmt-1967753303-rke2-capo-cp-2388122e15-ln26p-ww892 mgmt-1967753303-rke2-capo-cp-2388122e15-ln26p 192.168.1.231 Established N/A
metallb-system mgmt-1967753303-rke2-capo-cp-2388122e15-v647p-hfxd5 mgmt-1967753303-rke2-capo-cp-2388122e15-v647p 192.168.1.231 Established N/A
metallb-system mgmt-1967753303-rke2-capo-cp-2388122e15-v647p-knw6x mgmt-1967753303-rke2-capo-cp-2388122e15-v647p 192.168.1.170 Established N/A
metallb-system mgmt-1967753303-rke2-capo-cp-2388122e15-xb2tb-2xp7w mgmt-1967753303-rke2-capo-cp-2388122e15-xb2tb 192.168.1.231 Established N/A
metallb-system mgmt-1967753303-rke2-capo-cp-2388122e15-xb2tb-96rnk mgmt-1967753303-rke2-capo-cp-2388122e15-xb2tb 192.168.1.170 Established N/A
metallb-system mgmt-1967753303-rke2-capo-md0-4l7rm-9vnmw-87mkc mgmt-1967753303-rke2-capo-md0-4l7rm-9vnmw 192.168.1.170 Established N/A
metallb-system mgmt-1967753303-rke2-capo-md0-4l7rm-9vnmw-x9d2w mgmt-1967753303-rke2-capo-md0-4l7rm-9vnmw 192.168.1.231 Established N/A
metallb-system mgmt-1967753303-rke2-capo-md0-4l7rm-fn954-nv5cr mgmt-1967753303-rke2-capo-md0-4l7rm-fn954 192.168.1.170 Established N/A
metallb-system mgmt-1967753303-rke2-capo-md0-4l7rm-fn954-vvjkf mgmt-1967753303-rke2-capo-md0-4l7rm-fn954 192.168.1.231 Established N/A
metallb-system mgmt-1967753303-rke2-capo-md0-4l7rm-z2ncc-bhlwx mgmt-1967753303-rke2-capo-md0-4l7rm-z2ncc 192.168.1.231 Established N/A
metallb-system mgmt-1967753303-rke2-capo-md0-4l7rm-z2ncc-dnwkf mgmt-1967753303-rke2-capo-md0-4l7rm-z2ncc 192.168.1.170 Established N/A
Unfortunately I didn't find a way to display the frr learned routes, but they are present on the node:
root@mgmt-1967554881-rke2-capo-cp-91a0470872-bqrc8:~# ip r l
default via 192.168.0.1 dev ens3 proto dhcp src 192.168.2.198 metric 100
10.10.10.0/24 nhid 33 via 192.168.1.231 dev ens3 proto bgp metric 20 <------
Added a functional test in capo misc jobs to test the access from the runner to a service exposed via BGP.
Closes: #2510 (closed)
This makes use of sylva-projects/sylva-elements/ci-tooling/ci-deployment-values!244 (merged)
CI configuration
Below you can choose test deployment variants to run in this MR's CI.
Click to open to CI configuration
Legend:
| Icon | Meaning | Available values |
|---|---|---|
| Infra Provider |
capd, capo, capm3
|
|
| Bootstrap Provider |
kubeadm (alias kadm), rke2
|
|
| Node OS |
ubuntu, suse
|
|
| Deployment Options |
light-deploy, dev-sources, ha, misc, maxsurge-0, logging, no-logging
|
|
| Pipeline Scenarios | Available scenario list and description |
-
🎬 preview☁️ capd🚀 kadm🐧 ubuntu -
🎬 preview☁️ capo🚀 rke2🐧 suse -
🎬 preview☁️ capm3🚀 rke2🐧 ubuntu -
☁️ capd🚀 kadm🛠️ light-deploy🐧 ubuntu -
☁️ capd🚀 rke2🛠️ light-deploy🐧 suse -
☁️ capo🚀 rke2🐧 suse -
☁️ capo🚀 kadm🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capo🚀 kadm🎬 wkld-k8s-upgrade🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update-no-wkld🛠️ ha🐧 suse -
☁️ capo🚀 rke2🎬 sylva-upgrade-from-1.4.x🛠️ ha🐧 ubuntu -
☁️ capo🚀 rke2🎬 sylva-upgrade-from-1.4.x🛠️ ha,misc🐧 ubuntu -
☁️ capo🚀 rke2🛠️ ha,misc🐧 ubuntu -
☁️ capo🚀 rke2🎬 no-update🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🐧 suse -
☁️ capm3🚀 kadm🐧 ubuntu -
☁️ capm3🚀 kadm🎬 rolling-update-no-wkld🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🎬 wkld-k8s-upgrade🛠️ ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capm3🚀 rke2🎬 sylva-upgrade-from-1.4.x🛠️ ha🐧 suse -
☁️ capm3🚀 rke2🛠️ misc,ha🐧 suse -
☁️ capm3🚀 rke2🎬 sylva-upgrade-from-1.4.x🛠️ ha,misc🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 suse -
☁️ capm3🚀 ck8s🎬 no-wkld🛠️ light-deploy🐧 ubuntu
Global config for deployment pipelines
-
autorun pipelines -
allow failure on pipelines -
record sylvactl events
Notes:
- Enabling
autorunwill make deployment pipelines to be run automatically without human interaction - Disabling
allow failurewill make deployment pipelines mandatory for pipeline success. - if both
autorunandallow failureare disabled, deployment pipelines will need manual triggering but will be blocking the pipeline
Be aware: after configuration change, pipeline is not triggered automatically.
Please run it manually (by clicking the run pipeline button in Pipelines tab) or push new code.