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 5, 2024
1 parent 107dd5d commit 7acbc57
Show file tree
Hide file tree
Showing 26 changed files with 2,926 additions and 0 deletions.
25 changes: 25 additions & 0 deletions automation/vars/default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,28 @@ vas:
- name: edpm-values
src_file: values.yaml
build_output: dataplane.yaml

bgp:
stages:
- path: examples/dt/bgp/config/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

- path: examples/dt/bgp/config/control-plane
validations:
- >-
oc -n openstack wait osctlplane controlplane --for condition=Ready
--timeout=30m
values:
- name: network-values
src_file: nncp/values.yaml
build_output: ../control-plane.yaml

Check failure on line 187 in automation/vars/default.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

187:1 [empty-lines] too many blank lines (1 > 0)
70 changes: 70 additions & 0 deletions dt/bgp/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

transformers:
# Set namespace to OpenStack on all namespaced objects without a namespace
- |-
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../examples/dt/bgp/config/lib/networking
# TODO!!!! - ../../examples/dt/bgp/config/lib/control-plane

# Add StorageMgmt network template, as it is needed for CephHCI
# patches:
# - target:
# version: v1beta1
# kind: NetConfig
# name: netconfig
# patch: |-
# - op: add
# path: /spec/networks/-
# value:
# dnsDomain: _replaced_
# name: StorageMgmt
# subnets:
# - _replaced_
# mtu: 1500

# Add StorageMgmt network replacements
# replacements:
# # NetConfig dnsDomain specific to this VA
# - source:
# kind: ConfigMap
# name: network-values
# fieldPath: data.storagemgmt.dnsDomain
# targets:
# - select:
# kind: NetConfig
# fieldPaths:
# - spec.networks.[name=StorageMgmt].dnsDomain
# # NetConfig MTU specific to this VA
# - source:
# kind: ConfigMap
# name: network-values
# fieldPath: data.storagemgmt.mtu
# targets:
# - select:
# kind: NetConfig
# fieldPaths:
# - spec.networks.[name=StorageMgmt].mtu
# # NetConfig subnets specific to this VA
# - source:
# kind: ConfigMap
# name: network-values
# fieldPath: data.storagemgmt.subnets
# targets:
# - select:
# kind: NetConfig
# fieldPaths:
# - spec.networks.[name=StorageMgmt].subnets
11 changes: 11 additions & 0 deletions dt/bgp/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
9 changes: 9 additions & 0 deletions examples/dt/bgp/config/control-plane/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1

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

View workflow job for this annotation

GitHub Actions / yaml-lint

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

components:
- ../../../../../dt/bgp/

resources:
- nncp/values.yaml

Check failure on line 9 in examples/dt/bgp/config/control-plane/kustomization.yaml

View workflow job for this annotation

GitHub Actions / yaml-lint

9:1 [empty-lines] too many blank lines (1 > 0)
24 changes: 24 additions & 0 deletions examples/dt/bgp/config/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/config/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
- |-
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

Loading

0 comments on commit 7acbc57

Please sign in to comment.