Skip to content

Commit

Permalink
BGP DTs
Browse files Browse the repository at this point in the history
Includes examples/dt/bgp/common/control-plane/nncp/

Configuration 1 (kernel-routing-nbdb-driver):
- BGP
- Ceph and Networker nodes
- DVR
- expose-tenant-networks disabled
- default sync-interval
- kernel routing
- NBDB driver
- FRR: interface-level BGP peers
- FRR: different ASN per rack
- Tempest (neutron+octavia) + Tobiko (scenario+sanity+faults)

Configuration 2 (ovn-routing-nbdb-driver):
- BGP
- Networker nodes
- DVR
- expose-tenant-networks enabled
- sync-interval configured with high value
- OVN routing
- NBDB driver
- FRR: IP-level BGP peers
- FRR: different ASN per rack
- Tempest (neutron+octavia) + Tobiko (scenario+sanity+faults)

Configuration 3 (ovn-routing-nbdb-driver-nondvr):
- BGP
- Networker nodes
- DVR disabled
- expose-tenant-networks enabled
- default sync-interval
- OVN routing
- NBDB driver
- FRR: IP-level BGP peers
- FRR: different ASN per rack
- Tempest (neutron+octavia) + Tobiko (scenario+sanity+faults)

Configuration 4 (kernel-routing-sbdb-driver-ipv6):
- BGP
- Networker nodes
- IPv6 single-stack controlplane
- DVR
- expose-tenant-networks disabled
- default sync-interval
- kernel routing
- SBDB driver
- FRR: IP-level BGP peers
- FRR: different ASN per rack
- Tempest (neutron+octavia) + Tobiko (scenario+sanity+faults)
  • Loading branch information
eduolivares committed Apr 4, 2024
1 parent 5e13376 commit 0d77502
Show file tree
Hide file tree
Showing 10 changed files with 1,277 additions and 0 deletions.
14 changes: 14 additions & 0 deletions automation/vars/default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,17 @@ vas:
- name: edpm-values
src_file: values.yaml
build_output: dataplane.yaml

bgp:
stages:
- path: examples/dt/bgp/common/control-plane/nncp
validations:
- >-
oc -n openstack wait nncp
-l osp/nncm-config-type=standard
--for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured
--timeout=60s
values:
- name: network-values
src_file: values.yaml
build_output: nncp.yaml
24 changes: 24 additions & 0 deletions examples/dt/bgp/common/control-plane/nncp/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: kustomize.config.k8s.io/v1beta1

Check warning on line 1 in examples/dt/bgp/common/control-plane/nncp/kustomization.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

1:1 [document-start] missing document start "---"
kind: Kustomization

transformers:
# Set namespace to OpenStack on all namespaced objects without a namespace
- |-

Check failure on line 6 in examples/dt/bgp/common/control-plane/nncp/kustomization.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

6:1 [indentation] wrong indentation: expected at least 1
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../lib/nncp

resources:
- values.yaml

Check failure on line 24 in examples/dt/bgp/common/control-plane/nncp/kustomization.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

24:1 [empty-lines] too many blank lines (1 > 0)
236 changes: 236 additions & 0 deletions examples/dt/bgp/common/control-plane/nncp/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
# local-config: referenced, but not emitted by kustomize
apiVersion: v1

Check warning on line 2 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

2:1 [document-start] missing document start "---"
kind: ConfigMap
metadata:
name: network-values
annotations:
config.kubernetes.io/local-config: "true"
data:
# nodes
node_0:
name: master-0
internalapi_ip: 172.17.0.5
tenant_ip: 172.19.0.5
ctlplane_ip: 192.168.122.10
storage_ip: 172.18.0.5
bgp_ip:
- 100.64.4.2
- 100.65.4.2
loopback_ip: 172.30.4.2
loopback_ipv6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42
node_1:
name: master-1
internalapi_ip: 172.17.0.6
tenant_ip: 172.19.0.6
ctlplane_ip: 192.168.122.11
storage_ip: 172.18.0.6
bgp_ip:
- 100.64.4.6
- 100.65.4.6
loopback_ip: 172.30.4.3
loopback_ipv6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:43
node_2:
name: master-2
internalapi_ip: 172.17.0.7
tenant_ip: 172.19.0.7
ctlplane_ip: 192.168.122.12
storage_ip: 172.18.0.7
bgp_ip:
- 100.64.4.10
- 100.65.4.10
loopback_ip: 172.30.4.4
loopback_ipv6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:44

# networks
ctlplane:
dnsDomain: ctlplane.example.com
subnets:
- allocationRanges:
- end: 192.168.122.120
start: 192.168.122.100
- end: 192.168.122.200
start: 192.168.122.150
cidr: 192.168.122.0/24
gateway: 192.168.122.1
name: subnet1
prefix-length: 24
iface: enp8s0
mtu: 9000
lb_addresses:
- 192.168.122.80-192.168.122.90

Check failure on line 60 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

60:5 [indentation] wrong indentation: expected 6 but found 4
endpoint_annotations:
metallb.universe.tf/address-pool: ctlplane
metallb.universe.tf/allow-shared-ip: ctlplane
metallb.universe.tf/loadBalancerIPs: 192.168.122.80
net-attach-def: |
{
"cniVersion": "0.3.1",
"name": "ctlplane",
"type": "macvlan",
"master": "ospbr",
"ipam": {
"type": "whereabouts",
"range": "192.168.122.0/24",
"range_start": "192.168.122.30",
"range_end": "192.168.122.70"
}
}
internalapi:
dnsDomain: internalapi.example.com
subnets:
- allocationRanges:
- end: 172.17.0.250
start: 172.17.0.100
cidr: 172.17.0.0/24
name: subnet1
vlan: 20
mtu: 1500
prefix-length: 24
iface: internalapi
vlan: 20
base_iface: enp8s0
lb_addresses:
- 172.17.0.80-172.17.0.90

Check failure on line 93 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

93:5 [indentation] wrong indentation: expected 6 but found 4
endpoint_annotations:
metallb.universe.tf/address-pool: internalapi
metallb.universe.tf/allow-shared-ip: internalapi
metallb.universe.tf/loadBalancerIPs: 172.17.0.80
net-attach-def: |

Check failure on line 98 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

98:21 [colons] too many spaces after colon
{
"cniVersion": "0.3.1",
"name": "internalapi",
"type": "macvlan",
"master": "internalapi",
"ipam": {
"type": "whereabouts",
"range": "172.17.0.0/24",
"range_start": "172.17.0.30",
"range_end": "172.17.0.70"
}
}
storage:
dnsDomain: storage.example.com
subnets:
- allocationRanges:
- end: 172.18.0.250
start: 172.18.0.100
cidr: 172.18.0.0/24
name: subnet1
vlan: 21
mtu: 9000
prefix-length: 24
iface: storage
vlan: 21
base_iface: enp8s0
lb_addresses:
- 172.18.0.80-172.18.0.90

Check failure on line 126 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

126:5 [indentation] wrong indentation: expected 6 but found 4
net-attach-def: |
{
"cniVersion": "0.3.1",
"name": "storage",
"type": "macvlan",
"master": "storage",
"ipam": {
"type": "whereabouts",
"range": "172.18.0.0/24",
"range_start": "172.18.0.30",
"range_end": "172.18.0.70"
}
}
storagemgmt: # used on RHEL, not used on OpenShift
dnsDomain: storagemgmt.example.com
subnets:
- allocationRanges:
- end: 172.20.0.250
start: 172.20.0.100
cidr: 172.20.0.0/24
name: subnet1
vlan: 23
mtu: 9000
tenant:
dnsDomain: tenant.example.com
subnets:
- allocationRanges:
- end: 172.19.0.250
start: 172.19.0.100
cidr: 172.19.0.0/24
name: subnet1
vlan: 22
mtu: 1500
prefix-length: 24
iface: tenant
vlan: 22
base_iface: enp8s0
lb_addresses:
- 172.19.0.80-172.19.0.90

Check failure on line 165 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

165:5 [indentation] wrong indentation: expected 6 but found 4
net-attach-def: |
{
"cniVersion": "0.3.1",
"name": "tenant",
"type": "macvlan",
"master": "tenant",
"ipam": {
"type": "whereabouts",
"range": "172.19.0.0/24",
"range_start": "172.19.0.30",
"range_end": "172.19.0.70"
}
}
external:
dnsDomain: external.example.com
subnets:
- allocationRanges:
- end: 10.0.0.250
start: 10.0.0.100
cidr: 10.0.0.0/24
gateway: 10.0.0.1
name: subnet1
mtu: 1500

bgp:
prefix-length: 30
ifaces:
- enp6s0
- enp7s0
loopback:
prefix-length: 32
prefix-length-ipv6: 128
iface: lo
datacentre:
net-attach-def: |
{
"cniVersion": "0.3.1",
"name": "datacentre",
"type": "bridge",
"bridge": "ospbr",
"ipam": {}
}
dns-resolver:
config:
server:
- 192.168.122.1
search: []
options:
- key: server
values:
- 192.168.122.1

routes:
config:
- destination: 0.0.0.0/0

Check failure on line 221 in examples/dt/bgp/common/control-plane/nncp/values.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

221:5 [indentation] wrong indentation: expected 6 but found 4
next-hop-address: 192.168.122.1
next-hop-interface: enp8s0

rabbitmq:
endpoint_annotations:
metallb.universe.tf/address-pool: internalapi
metallb.universe.tf/loadBalancerIPs: 172.17.0.85
rabbitmq-cell1:
endpoint_annotations:
metallb.universe.tf/address-pool: internalapi
metallb.universe.tf/loadBalancerIPs: 172.17.0.86

lbServiceType: LoadBalancer
storageClass: local-storage
bridgeName: ospbr
Loading

0 comments on commit 0d77502

Please sign in to comment.