Skip to content

Commit bd717bd

Browse files
committed
Network configuration for Octavia DCN support
1 parent 117fccd commit bd717bd

File tree

6 files changed

+307
-1
lines changed

6 files changed

+307
-1
lines changed

automation/net-env/dcn.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,19 @@ instances:
634634
skip_nm: false
635635
trunk_parent: ctlplane
636636
vlan_id: 20
637+
octavia:
638+
interface_name: enp7s0.24
639+
ip_v4: 172.23.0.10
640+
is_trunk_parent: false
641+
mac_addr: '52:54:00:53:17:30'
642+
mtu: 1496
643+
netmask_v4: 255.255.255.0
644+
network_name: octavia
645+
parent_interface: enp7s0
646+
prefix_length_v4: 24
647+
skip_nm: false
648+
trunk_parent: ctlplane
649+
vlan_id: 24
637650
storage:
638651
interface_name: enp7s0.21
639652
ip_v4: 172.18.0.10
@@ -687,6 +700,19 @@ instances:
687700
skip_nm: false
688701
trunk_parent: ctlplane
689702
vlan_id: 20
703+
octavia:
704+
interface_name: enp7s0.24
705+
ip_v4: 172.23.0.11
706+
is_trunk_parent: false
707+
mac_addr: '52:54:00:53:17:31'
708+
mtu: 1496
709+
netmask_v4: 255.255.255.0
710+
network_name: octavia
711+
parent_interface: enp7s0
712+
prefix_length_v4: 24
713+
skip_nm: false
714+
trunk_parent: ctlplane
715+
vlan_id: 24
690716
storage:
691717
interface_name: enp7s0.21
692718
ip_v4: 172.18.0.11
@@ -740,6 +766,19 @@ instances:
740766
skip_nm: false
741767
trunk_parent: ctlplane
742768
vlan_id: 20
769+
octavia:
770+
interface_name: enp7s0.24
771+
ip_v4: 172.23.0.12
772+
is_trunk_parent: false
773+
mac_addr: '52:54:00:53:17:32'
774+
mtu: 1496
775+
netmask_v4: 255.255.255.0
776+
network_name: octavia
777+
parent_interface: enp7s0
778+
prefix_length_v4: 24
779+
skip_nm: false
780+
trunk_parent: ctlplane
781+
vlan_id: 24
743782
storage:
744783
interface_name: enp7s0.21
745784
ip_v4: 172.18.0.12
@@ -1012,6 +1051,31 @@ networks:
10121051
start_host: 100
10131052
ipv6_ranges: []
10141053
vlan_id: 40
1054+
octavia:
1055+
dns_v4: []
1056+
dns_v6: []
1057+
mtu: 1496
1058+
network_name: octavia
1059+
network_v4: 172.23.0.0/24
1060+
search_domain: octavia.example.com
1061+
tools:
1062+
multus:
1063+
ipv4_ranges:
1064+
- end: 172.23.0.70
1065+
end_host: 70
1066+
length: 41
1067+
start: 172.23.0.30
1068+
start_host: 30
1069+
ipv6_ranges: []
1070+
netconfig:
1071+
ipv4_ranges:
1072+
- end: 172.23.0.250
1073+
end_host: 250
1074+
length: 151
1075+
start: 172.23.0.100
1076+
start_host: 100
1077+
ipv6_ranges: []
1078+
vlan_id: 24
10151079
storage:
10161080
dns_v4: []
10171081
dns_v6: []

dt/dcn/kustomization.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
apiVersion: kustomize.config.k8s.io/v1alpha1
33
kind: Component
44

5+
secretGenerator:
6+
- name: octavia-ca-passphrase
7+
literals:
8+
- server-ca-passphrase=12345678
9+
options:
10+
disableNameSuffixHash: true
11+
512
transformers:
613
# Set namespace to OpenStack on all namespaced objects without a namespace
714
- |-
@@ -23,6 +30,9 @@ components:
2330
- ../../lib/networking/nad
2431
- ../../lib/control-plane
2532

33+
resources:
34+
- nad.yaml
35+
2636
# Add storagemgmt network template, as it is needed for CephHCI
2737
patches:
2838
- target:
@@ -71,3 +81,14 @@ replacements:
7181
kind: NetConfig
7282
fieldPaths:
7383
- spec.networks.[name=storagemgmt].subnets
84+
85+
- source:
86+
kind: ConfigMap
87+
name: network-values
88+
fieldPath: data.octavia.net-attach-def
89+
targets:
90+
- select:
91+
kind: NetworkAttachmentDefinition
92+
name: octavia
93+
fieldPaths:
94+
- spec.config

dt/dcn/nad.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
apiVersion: k8s.cni.cncf.io/v1
3+
kind: NetworkAttachmentDefinition
4+
metadata:
5+
name: octavia
6+
labels:
7+
osp/net: octavia
8+
osp/net-attach-def-type: standard

dt/dcn/nncp/kustomization.yaml

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1alpha1
3+
kind: Component
4+
5+
transformers:
6+
- |-
7+
apiVersion: builtin
8+
kind: NamespaceTransformer
9+
metadata:
10+
name: _ignored_
11+
namespace: openstack
12+
setRoleBindingSubjects: none
13+
unsetOnly: true
14+
fieldSpecs:
15+
- path: metadata/name
16+
kind: Namespace
17+
create: true
18+
19+
components:
20+
- ../../../lib/nncp
21+
22+
patches:
23+
- target:
24+
kind: NodeNetworkConfigurationPolicy
25+
name: master-0
26+
patch: |-
27+
- op: add
28+
path: /spec/desiredState/interfaces/-
29+
value:
30+
description: Octavia vlan host interface
31+
name: octavia
32+
state: up
33+
type: vlan
34+
vlan:
35+
base-iface: _replaced_
36+
id: _replaced_
37+
38+
- target:
39+
kind: NodeNetworkConfigurationPolicy
40+
name: master-0
41+
patch: |-
42+
- op: add
43+
path: /spec/desiredState/interfaces/-
44+
value:
45+
description: Octavia bridge
46+
mtu: 1496
47+
name: octbr
48+
type: linux-bridge
49+
bridge:
50+
options:
51+
stp:
52+
enabled: false
53+
port:
54+
- name: octavia
55+
56+
- target:
57+
kind: NodeNetworkConfigurationPolicy
58+
name: master-1
59+
patch: |-
60+
- op: add
61+
path: /spec/desiredState/interfaces/-
62+
value:
63+
description: Octavia vlan host interface
64+
name: octavia
65+
state: up
66+
type: vlan
67+
vlan:
68+
base-iface: _replaced_
69+
id: _replaced_
70+
71+
- target:
72+
kind: NodeNetworkConfigurationPolicy
73+
name: master-1
74+
patch: |-
75+
- op: add
76+
path: /spec/desiredState/interfaces/-
77+
value:
78+
description: Octavia bridge
79+
mtu: 1496
80+
name: octbr
81+
type: linux-bridge
82+
bridge:
83+
options:
84+
stp:
85+
enabled: false
86+
port:
87+
- name: octavia
88+
89+
- target:
90+
kind: NodeNetworkConfigurationPolicy
91+
name: master-2
92+
patch: |-
93+
- op: add
94+
path: /spec/desiredState/interfaces/-
95+
value:
96+
description: Octavia vlan host interface
97+
name: octavia
98+
state: up
99+
type: vlan
100+
vlan:
101+
base-iface: _replaced_
102+
id: _replaced_
103+
104+
- target:
105+
kind: NodeNetworkConfigurationPolicy
106+
name: master-2
107+
patch: |-
108+
- op: add
109+
path: /spec/desiredState/interfaces/-
110+
value:
111+
description: Octavia bridge
112+
mtu: 1496
113+
name: octbr
114+
type: linux-bridge
115+
bridge:
116+
options:
117+
stp:
118+
enabled: false
119+
port:
120+
- name: octavia
121+
122+
replacements:
123+
- source:
124+
kind: ConfigMap
125+
name: network-values
126+
fieldPath: data.octavia.base_iface
127+
targets:
128+
- select:
129+
kind: NodeNetworkConfigurationPolicy
130+
name: master-0
131+
fieldPaths:
132+
- spec.desiredState.interfaces.[name=octavia].vlan.base-iface
133+
134+
- source:
135+
kind: ConfigMap
136+
name: network-values
137+
fieldPath: data.octavia.vlan
138+
targets:
139+
- select:
140+
kind: NodeNetworkConfigurationPolicy
141+
name: master-0
142+
fieldPaths:
143+
- spec.desiredState.interfaces.[name=octavia].vlan.id
144+
145+
- source:
146+
kind: ConfigMap
147+
name: network-values
148+
fieldPath: data.octavia.base_iface
149+
targets:
150+
- select:
151+
kind: NodeNetworkConfigurationPolicy
152+
name: master-1
153+
fieldPaths:
154+
- spec.desiredState.interfaces.[name=octavia].vlan.base-iface
155+
156+
- source:
157+
kind: ConfigMap
158+
name: network-values
159+
fieldPath: data.octavia.vlan
160+
targets:
161+
- select:
162+
kind: NodeNetworkConfigurationPolicy
163+
name: master-1
164+
fieldPaths:
165+
- spec.desiredState.interfaces.[name=octavia].vlan.id
166+
167+
- source:
168+
kind: ConfigMap
169+
name: network-values
170+
fieldPath: data.octavia.base_iface
171+
targets:
172+
- select:
173+
kind: NodeNetworkConfigurationPolicy
174+
name: master-2
175+
fieldPaths:
176+
- spec.desiredState.interfaces.[name=octavia].vlan.base-iface
177+
178+
- source:
179+
kind: ConfigMap
180+
name: network-values
181+
fieldPath: data.octavia.vlan
182+
targets:
183+
- select:
184+
kind: NodeNetworkConfigurationPolicy
185+
name: master-2
186+
fieldPaths:
187+
- spec.desiredState.interfaces.[name=octavia].vlan.id

examples/dt/dcn/control-plane/nncp/kustomization.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ transformers:
1818
create: true
1919
2020
components:
21-
- ../../../../../lib/nncp
21+
- ../../../../../dt/dcn/nncp
22+
2223

2324
resources:
2425
- values.yaml

examples/dt/dcn/control-plane/nncp/values.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,31 @@ data:
711711
name: subnet1
712712
vlan: 42
713713
vlan: 42
714+
octavia:
715+
dnsDomain: octavia.openstack.lab
716+
mtu: 1496
717+
vlan: 24
718+
base_iface: enp7s0
719+
net-attach-def: |
720+
{
721+
"cniVersion": "0.3.1",
722+
"name": "octavia",
723+
"type": "bridge",
724+
"bridge": "octbr",
725+
"ipam": {
726+
"type": "whereabouts",
727+
"range": "172.23.0.0/24",
728+
"range_start": "172.23.0.30",
729+
"range_end": "172.23.0.70",
730+
"routes": [
731+
{
732+
"dst": "172.24.0.0/16",
733+
"gw": "172.23.0.150"
734+
}
735+
]
736+
}
737+
}
738+
714739
kind: ConfigMap
715740
metadata:
716741
annotations:

0 commit comments

Comments
 (0)