Skip to content

Commit 2383686

Browse files
committed
Add OCP nodes peer_asn to BGP networking values (test eBGP)
Add peer_asn field to each worker node in network-values ConfigMap and wire kustomize replacements to set BGPPeer spec.peerASN per node. This enables CI scenarios to override peerASN per OCP worker (for eBGP testing with different ASN values). Notice no functional change, default value (64999) matches existing hardcoded peerASN. Related: OSPRH-28085 Assisted-By: Claude Signed-off-by: Maor Blaustein <mblue@redhat.com>
1 parent 5cafc8f commit 2383686

20 files changed

Lines changed: 1057 additions & 0 deletions

File tree

automation/vars/bgp_dt02.yaml

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
---
2+
vas:
3+
bgp_dt02:
4+
stages:
5+
- pre_stage_run:
6+
- name: 01 Apply taint on worker-3
7+
type: cr
8+
definition:
9+
spec:
10+
taints:
11+
- effect: NoSchedule
12+
key: testOperator
13+
value: 'true'
14+
- effect: NoExecute
15+
key: testOperator
16+
value: 'true'
17+
kind: Node
18+
resource_name: worker-3
19+
state: patched
20+
- name: 02 Disable rp_filters on OCP nodes
21+
type: cr
22+
definition:
23+
spec:
24+
profile:
25+
- data: |
26+
[main]
27+
summary=Optimize systems running OpenShift (provider specific parent profile)
28+
include=-provider-${f:exec:cat:/var/lib/ocp-tuned/provider},openshift
29+
30+
[sysctl]
31+
net.ipv4.conf.enp7s0.rp_filter=0
32+
net.ipv4.conf.enp8s0.rp_filter=0
33+
name: openshift-no-reapply-sysctl
34+
recommend:
35+
- match:
36+
# applied to all nodes except worker-3, because worker-3 has no enp8s0
37+
- label: kubernetes.io/hostname
38+
value: worker-0
39+
- label: kubernetes.io/hostname
40+
value: worker-1
41+
- label: kubernetes.io/hostname
42+
value: worker-2
43+
- label: node-role.kubernetes.io/master
44+
operand:
45+
tunedConfig:
46+
reapply_sysctl: false
47+
priority: 15
48+
profile: openshift-no-reapply-sysctl
49+
api_version: tuned.openshift.io/v1
50+
kind: Tuned
51+
resource_name: openshift-no-reapply-sysctl
52+
namespace: openshift-cluster-node-tuning-operator
53+
state: present
54+
name: nncp-configuration
55+
path: examples/dt/bgp_dt01/control-plane/networking/nncp
56+
wait_conditions:
57+
- >-
58+
oc -n openstack wait nncp
59+
-l osp/nncm-config-type=standard
60+
--for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured
61+
--timeout=300s
62+
values:
63+
- name: network-values
64+
src_file: values.yaml
65+
build_output: nncp.yaml
66+
67+
- name: networking
68+
path: examples/dt/bgp_dt01/control-plane/networking
69+
wait_conditions:
70+
- >-
71+
oc -n metallb-system wait pod
72+
-l app=metallb -l component=speaker
73+
--for condition=Ready
74+
values:
75+
- name: network-values
76+
src_file: nncp/values.yaml
77+
build_output: networking.yaml
78+
79+
- name: control-plane
80+
path: examples/dt/bgp_dt01/control-plane
81+
wait_conditions:
82+
- >-
83+
oc -n openstack wait openstackcontrolplane
84+
controlplane
85+
--for condition=Ready
86+
--timeout=30m
87+
values:
88+
- name: network-values
89+
src_file: networking/nncp/values.yaml
90+
- name: service-values
91+
src_file: service-values.yaml
92+
build_output: control-plane.yaml
93+
post_stage_run:
94+
- name: Create BGPConfiguration after controplane is deployed
95+
type: cr
96+
definition:
97+
spec: {}
98+
api_version: network.openstack.org/v1beta1
99+
kind: BGPConfiguration
100+
resource_name: bgpconfiguration
101+
namespace: openstack
102+
state: present
103+
104+
- name: edpm-computes-r0-nodeset
105+
path: examples/dt/bgp_dt02/edpm/computes/r0
106+
wait_conditions:
107+
- >-
108+
oc -n openstack wait openstackdataplanenodeset
109+
r0-compute-nodes
110+
--for condition=SetupReady
111+
--timeout=600s
112+
values:
113+
- name: edpm-r0-compute-nodeset-values
114+
src_file: values.yaml
115+
build_output: edpm-r0-compute-nodeset.yaml
116+
117+
- name: edpm-computes-r1-nodeset
118+
path: examples/dt/bgp_dt02/edpm/computes/r1
119+
wait_conditions:
120+
- >-
121+
oc -n openstack wait openstackdataplanenodeset
122+
r1-compute-nodes
123+
--for condition=SetupReady
124+
--timeout=600s
125+
values:
126+
- name: edpm-r1-compute-nodeset-values
127+
src_file: values.yaml
128+
build_output: edpm-r1-compute-nodeset.yaml
129+
130+
- name: edpm-computes-r2-nodeset
131+
path: examples/dt/bgp_dt02/edpm/computes/r2
132+
wait_conditions:
133+
- >-
134+
oc -n openstack wait openstackdataplanenodeset
135+
r2-compute-nodes
136+
--for condition=SetupReady
137+
--timeout=600s
138+
values:
139+
- name: edpm-r2-compute-nodeset-values
140+
src_file: values.yaml
141+
build_output: edpm-r2-compute-nodeset.yaml
142+
143+
- name: edpm-networkers-r0-nodeset
144+
path: examples/dt/bgp_dt02/edpm/networkers/r0
145+
wait_conditions:
146+
- >-
147+
oc -n openstack wait openstackdataplanenodeset
148+
r0-networker-nodes
149+
--for condition=SetupReady
150+
--timeout=600s
151+
values:
152+
- name: edpm-r0-networker-nodeset-values
153+
src_file: values.yaml
154+
build_output: edpm-r0-networker-nodeset.yaml
155+
156+
- name: edpm-networkers-r1-nodeset
157+
path: examples/dt/bgp_dt02/edpm/networkers/r1
158+
wait_conditions:
159+
- >-
160+
oc -n openstack wait openstackdataplanenodeset
161+
r1-networker-nodes
162+
--for condition=SetupReady
163+
--timeout=600s
164+
values:
165+
- name: edpm-r1-networker-nodeset-values
166+
src_file: values.yaml
167+
build_output: edpm-r1-networker-nodeset.yaml
168+
169+
- name: edpm-networkers-r2-nodeset
170+
path: examples/dt/bgp_dt02/edpm/networkers/r2
171+
wait_conditions:
172+
- >-
173+
oc -n openstack wait openstackdataplanenodeset
174+
r2-networker-nodes
175+
--for condition=SetupReady
176+
--timeout=600s
177+
values:
178+
- name: edpm-r2-networker-nodeset-values
179+
src_file: values.yaml
180+
build_output: edpm-r2-networker-nodeset.yaml
181+
182+
- name: edpm-deployment
183+
path: examples/dt/bgp_dt02/edpm/deployment
184+
wait_conditions:
185+
- >-
186+
oc -n openstack wait openstackdataplanedeployment
187+
edpm-deployment
188+
--for condition=Ready
189+
--timeout=120m
190+
values:
191+
- name: edpm-deployment-values
192+
src_file: values.yaml
193+
build_output: edpm-deployment.yaml
194+
post_stage_run:
195+
- name: Wait until computes are ready
196+
type: playbook
197+
source: "nova_wait_for_compute_service.yml"
198+
extra_vars:
199+
_number_of_computes: 3
200+
_cell_conductor: nova-cell0-conductor-0

examples/dt/bgp_dt01/control-plane/networking/kustomization.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,62 @@ replacements:
158158
name: bgp-peer-node-6-0
159159
fieldPaths:
160160
- spec.peerAddress
161+
# BGP peer ASN per node
162+
- source:
163+
kind: ConfigMap
164+
name: network-values
165+
fieldPath: data.node_3.peer_asn
166+
targets:
167+
- select:
168+
kind: BGPPeer
169+
name: bgp-peer-node-3-0
170+
fieldPaths:
171+
- spec.peerASN
172+
- select:
173+
kind: BGPPeer
174+
name: bgp-peer-node-3-1
175+
fieldPaths:
176+
- spec.peerASN
177+
- source:
178+
kind: ConfigMap
179+
name: network-values
180+
fieldPath: data.node_4.peer_asn
181+
targets:
182+
- select:
183+
kind: BGPPeer
184+
name: bgp-peer-node-4-0
185+
fieldPaths:
186+
- spec.peerASN
187+
- select:
188+
kind: BGPPeer
189+
name: bgp-peer-node-4-1
190+
fieldPaths:
191+
- spec.peerASN
192+
- source:
193+
kind: ConfigMap
194+
name: network-values
195+
fieldPath: data.node_5.peer_asn
196+
targets:
197+
- select:
198+
kind: BGPPeer
199+
name: bgp-peer-node-5-0
200+
fieldPaths:
201+
- spec.peerASN
202+
- select:
203+
kind: BGPPeer
204+
name: bgp-peer-node-5-1
205+
fieldPaths:
206+
- spec.peerASN
207+
- source:
208+
kind: ConfigMap
209+
name: network-values
210+
fieldPath: data.node_6.peer_asn
211+
targets:
212+
- select:
213+
kind: BGPPeer
214+
name: bgp-peer-node-6-0
215+
fieldPaths:
216+
- spec.peerASN
161217
# BGP NetworkAttachmentDefinition customization
162218
- source:
163219
kind: ConfigMap

examples/dt/bgp_dt01/control-plane/networking/nncp/values.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ data:
1313
internalapi_ip: 172.17.0.5
1414
ctlplane_ip: 192.168.122.10
1515
storage_ip: 172.18.0.5
16+
peer_asn: 64999
1617
bgp_ip:
1718
- 100.64.0.10
1819
- 100.65.0.10
@@ -45,6 +46,7 @@ data:
4546
internalapi_ip: 172.17.0.6
4647
ctlplane_ip: 192.168.122.11
4748
storage_ip: 172.18.0.6
49+
peer_asn: 64999
4850
bgp_ip:
4951
- 100.64.1.10
5052
- 100.65.1.10
@@ -77,6 +79,7 @@ data:
7779
internalapi_ip: 172.17.0.7
7880
ctlplane_ip: 192.168.122.12
7981
storage_ip: 172.18.0.7
82+
peer_asn: 64999
8083
bgp_ip:
8184
- 100.64.2.10
8285
- 100.65.2.10
@@ -109,6 +112,7 @@ data:
109112
internalapi_ip: 172.17.0.8
110113
ctlplane_ip: 192.168.122.13
111114
storage_ip: 172.18.0.8
115+
peer_asn: 64999
112116
bgp_ip:
113117
- 100.64.10.2
114118
bgp_peers:

examples/dt/bgp_dt01/edpm/computes/r0/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ data:
2020
ansibleUser: cloud-admin
2121
ansiblePort: 22
2222
ansibleVars:
23+
edpm_nodes_validation_check_for_fqdn: false
24+
edpm_ovn_bgp_agent_reconcile_interval: 999999
2325
edpm_ovn_encap_ip: "{{ bgpmainnet_ip }}"
2426
edpm_ovn_bridge_mappings:
2527
- "datacentre:br-ex"

examples/dt/bgp_dt01/edpm/computes/r1/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ data:
2020
ansibleUser: cloud-admin
2121
ansiblePort: 22
2222
ansibleVars:
23+
edpm_nodes_validation_check_for_fqdn: false
24+
edpm_ovn_bgp_agent_reconcile_interval: 999999
2325
edpm_ovn_encap_ip: "{{ bgpmainnet_ip }}"
2426
edpm_ovn_bridge_mappings:
2527
- "datacentre:br-ex"

examples/dt/bgp_dt01/edpm/computes/r2/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ data:
2020
ansibleUser: cloud-admin
2121
ansiblePort: 22
2222
ansibleVars:
23+
edpm_nodes_validation_check_for_fqdn: false
24+
edpm_ovn_bgp_agent_reconcile_interval: 999999
2325
edpm_ovn_encap_ip: "{{ bgpmainnet_ip }}"
2426
edpm_ovn_bridge_mappings:
2527
- "datacentre:br-ex"

examples/dt/bgp_dt01/edpm/networkers/r0/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ data:
2020
ansibleUser: cloud-admin
2121
ansiblePort: 22
2222
ansibleVars:
23+
edpm_nodes_validation_check_for_fqdn: false
24+
edpm_ovn_bgp_agent_reconcile_interval: 999999
2325
edpm_ovn_encap_ip: "{{ bgpmainnet_ip }}"
2426
edpm_ovn_bridge_mappings:
2527
- "datacentre:br-ex"

examples/dt/bgp_dt01/edpm/networkers/r1/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ data:
2020
ansibleUser: cloud-admin
2121
ansiblePort: 22
2222
ansibleVars:
23+
edpm_nodes_validation_check_for_fqdn: false
24+
edpm_ovn_bgp_agent_reconcile_interval: 999999
2325
edpm_ovn_encap_ip: "{{ bgpmainnet_ip }}"
2426
edpm_ovn_bridge_mappings:
2527
- "datacentre:br-ex"

examples/dt/bgp_dt01/edpm/networkers/r2/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ data:
2020
ansibleUser: cloud-admin
2121
ansiblePort: 22
2222
ansibleVars:
23+
edpm_nodes_validation_check_for_fqdn: false
24+
edpm_ovn_bgp_agent_reconcile_interval: 999999
2325
edpm_ovn_encap_ip: "{{ bgpmainnet_ip }}"
2426
edpm_ovn_bridge_mappings:
2527
- "datacentre:br-ex"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../bgp_dt01/edpm/computes/r0

0 commit comments

Comments
 (0)