Add OCP nodes peer_asn to BGP networking values (test eBGP) - #754
Add OCP nodes peer_asn to BGP networking values (test eBGP)#754m-blue-m wants to merge 1 commit into
Conversation
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
eb80596 to
0ccd6ee
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
0ccd6ee to
7e407d3
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
7e407d3 to
6e580ac
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
6e580ac to
2383686
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
2383686 to
3702071
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
3702071 to
16d5356
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
6ba11b3 to
277453b
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
277453b to
fd927cc
Compare
|
Build failed (check pipeline). Post ✔️ noop SUCCESS in 0s |
Add bgp_dt02 directory fully independent from bgp_dt01. Replaces
symlinks (control-plane, r0 computes/networkers, deployment) with
standalone copies to avoid inheriting dt01's native-ovn-bgp migration.
dt02 intentionally keeps ovn-bgp-agent; migration to native-ovn-bgp
is a separate follow-up task.
eBGP rack nodes (r1/r2 computes/networkers) set:
edpm_frr_bgp_asn: 64899 (shared eBGP node ASN, separate from
leaf ASN range 64999-64900 to avoid collision)
edpm_ovn_bgp_agent_bgp_as: 64899 (must match FRR main router
ASN, otherwise agent fails to configure VRF leak routes)
edpm_frr_bgp_graceful_shutdown: false (RFC 8326, not applicable
for eBGP nodes during normal operation)
edpm_frr_bgp_uplinks_scope: external (eBGP peering with leaves)
edpm_frr_bgp_neighbor_ttl_security_hops: 0 (disable GTSM for
eBGP since leaves send default TTL)
OCP worker MetalLB peer_asn set per node to match each rack's
leaf ASN (64999/64998/64997).
Depends-On: openstack-k8s-operators/ci-framework#4069
(Generate peer_asn in the template for architecture validation gates)
Related: OSPRH-28085
Assisted-By: Claude Code
Signed-off-by: Maor Blaustein <mblue@redhat.com>
fd927cc to
c6d89f6
Compare
|
This change depends on a change that failed to merge. Change openstack-k8s-operators/ci-framework#4069 is needed. |
|
recheck new fix for mocks in gates |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: eduolivares, m-blue-m 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 |
|
I performed an analysis of this to I'm not necessarily saying this is a blocking concern at the moment, however. It would be good to get @fultonj 's opinion on this as well. |
|
Here's a list of the duplicate code, to help others understand. These files are byte-for-byte identical to |
Thank you for checking it. Prior to this change there were many symlinks used between dt01 and dt02, since I needed to change many things to be different with eBGP than dt01 I tore down some of these symlinks and still found it confusing Later when Edu merged migrating dt01 to native OVN BGP (instead of ovn bgp agent), the eBGP changes broke easily (the other way around). Not sure what is the most right approach, maybe there are more ways to classify common code by file/dir name and store elsewhere, without the confusing symlinks which can easily break one of the jobs, and if |
There was a problem hiding this comment.
I have three comments so far. The first is a request for a change and the second two are observations which might be useful for other reviewers.
- There are no markdown files
The root directory does not have README.md (or other markdown files).
When I go to the following I see readme files which tell me how to use this architecture.
https://github.com/openstack-k8s-operators/architecture/tree/main/examples/dt/bgp_dt01
We need the same for bgp_dt02. I should be able to:
- clone this repo
- read the linked .md files
- be able to run
kustomizecommands to generate the CRs
I don't think we should merge until we have the missing markdown documentation.
- CRs build fine
I was able build all of the CRs are defined in automation/vars/bgp_dt02.yaml and I see it's a lot like bgp_dt01:
┌───────────────────────────────────┬────────────────────────────┬─────────────────────────────────────┐
│ File │ Stage │ Description │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 01_nncp.yaml │ nncp-configuration │ Node Network Configuration Policies │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 02_networking.yaml │ networking │ MetalLB and broader networking │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 03_control-plane.yaml │ control-plane │ OpenStackControlPlane CR │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 04_edpm-r0-compute-nodeset.yaml │ edpm-computes-r0-nodeset │ Rack 0 compute nodeset │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 05_edpm-r1-compute-nodeset.yaml │ edpm-computes-r1-nodeset │ Rack 1 compute nodeset │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 06_edpm-r2-compute-nodeset.yaml │ edpm-computes-r2-nodeset │ Rack 2 compute nodeset │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 07_edpm-r0-networker-nodeset.yaml │ edpm-networkers-r0-nodeset │ Rack 0 networker nodeset │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 08_edpm-r1-networker-nodeset.yaml │ edpm-networkers-r1-nodeset │ Rack 1 networker nodeset │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 09_edpm-r2-networker-nodeset.yaml │ edpm-networkers-r2-nodeset │ Rack 2 networker nodeset │
├───────────────────────────────────┼────────────────────────────┼─────────────────────────────────────┤
│ 10_edpm-deployment.yaml │ edpm-deployment │ Dataplane deployment │
└───────────────────────────────────┴────────────────────────────┴─────────────────────────────────────┘
[johfulto@laptop CRs{diff_asn_test_ebgp}]$ wc -l *.yaml
527 01_nncp.yaml
513 02_networking.yaml
608 03_control-plane.yaml
195 04_edpm-r0-compute-nodeset.yaml
200 05_edpm-r1-compute-nodeset.yaml
200 06_edpm-r2-compute-nodeset.yaml
185 07_edpm-r0-networker-nodeset.yaml
190 08_edpm-r1-networker-nodeset.yaml
190 09_edpm-r2-networker-nodeset.yaml
13 10_edpm-deployment.yaml
2821 total
[johfulto@laptop CRs{diff_asn_test_ebgp}]$
- diff bgp_dt01 bgp_dt02
I built the CRs for bgp_dt01 and bgp_dt02 and then diff'd them:
https://gist.github.com/fultonj/09d8fe63a7333b441843e380b2a532d9
The above should help other reviewers.
| - destination: 192.168.122.0/24 | ||
| nexthop: 192.168.123.1 | ||
| - destination: 192.168.124.0/24 | ||
| nexthop: 192.168.123.1ØØ |
There was a problem hiding this comment.
The ØØ characters make this an invalid IP address. Can you change it to 192.168.123.1?
|
This PR directly copies a lot of files from A similar thing is going on in a new PR for bgp_dt05 I asked an LLM to refactor 01, 02, and 05 by sharing a common directory for bgp. Links to refactored code and analysis are available in this gist. Thoughts? https://gist.github.com/fultonj/bf885c3b065988854b1b7da6eeb0a523 |
Depends-On: openstack-k8s-operators/ci-framework#4069
(Generate peer_asn in the template for architecture validation gates)