Skip to content

Commit 9dcd9ff

Browse files
Merge pull request #1013 from beagles/sample_external_designate
Adding designateext example networking
2 parents 9607df5 + 972b23c commit 9dcd9ff

File tree

4 files changed

+107
-0
lines changed

4 files changed

+107
-0
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ NETWORK_STORAGE_ADDRESS_PREFIX ?= 172.18.0
5151
NETWORK_TENANT_ADDRESS_PREFIX ?= 172.19.0
5252
NETWORK_STORAGEMGMT_ADDRESS_PREFIX ?= 172.20.0
5353
NETWORK_DESIGNATE_ADDRESS_PREFIX ?= 172.28.0
54+
NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX ?= 172.50.0
5455
INTERNALAPI_HOST_ROUTES ?=
5556
STORAGE_HOST_ROUTES ?=
5657
TENANT_HOST_ROUTES ?=
@@ -2342,6 +2343,7 @@ nncp: export NNCP_STORAGEMGMT_HOST_ROUTES=${STORAGEMGMT_HOST_ROUTES}
23422343
nncp: export TENANT_PREFIX=${NETWORK_TENANT_ADDRESS_PREFIX}
23432344
nncp: export NNCP_TENANT_HOST_ROUTES=${TENANT_HOST_ROUTES}
23442345
nncp: export DESIGNATE_PREFIX=${NETWORK_DESIGNATE_ADDRESS_PREFIX}
2346+
nncp: export DESIGNATE_EXT_PREFIX=${NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX}
23452347
ifeq ($(NETWORK_BGP), true)
23462348
nncp: export BGP=enabled
23472349
nncp: export INTERFACE_BGP_1=${NNCP_BGP_1_INTERFACE}
@@ -2412,6 +2414,7 @@ netattach: export STORAGE_PREFIX=${NETWORK_STORAGE_ADDRESS_PREFIX}
24122414
netattach: export STORAGEMGMT_PREFIX=${NETWORK_STORAGEMGMT_ADDRESS_PREFIX}
24132415
netattach: export TENANT_PREFIX=${NETWORK_TENANT_ADDRESS_PREFIX}
24142416
netattach: export DESIGNATE_PREFIX=${NETWORK_DESIGNATE_ADDRESS_PREFIX}
2417+
netattach: export DESIGNATE_EXT_PREFIX=${NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX}
24152418
netattach: export VLAN_START=${NETWORK_VLAN_START}
24162419
netattach: export VLAN_STEP=${NETWORK_VLAN_STEP}
24172420
netattach: export CTLPLANE_IP_ADDRESS_PREFIX=${NNCP_CTLPLANE_IP_ADDRESS_PREFIX}
@@ -2466,6 +2469,7 @@ metallb_config: export STORAGE_PREFIX=${NETWORK_STORAGE_ADDRESS_PREFIX}
24662469
metallb_config: export STORAGEMGMT_PREFIX=${NETWORK_STORAGEMGMT_ADDRESS_PREFIX}
24672470
metallb_config: export TENANT_PREFIX=${NETWORK_TENANT_ADDRESS_PREFIX}
24682471
metallb_config: export DESIGNATE_PREFIX=${NETWORK_DESIGNATE_ADDRESS_PREFIX}
2472+
metallb_config: export DESIGNATE_EXT_PREFIX=${NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX}
24692473
ifeq ($(NETWORK_ISOLATION_IPV4), true)
24702474
metallb_config: export IPV4_ENABLED=true
24712475
endif

scripts/gen-metallb-config.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,27 @@ if [ -n "$IPV6_ENABLED" ]; then
140140
- fd00:dddd::80-fd00:dddd::90
141141
EOF_CAT
142142
fi
143+
cat >> ${DEPLOY_DIR}/ipaddresspools.yaml <<EOF_CAT
144+
---
145+
apiVersion: metallb.io/v1beta1
146+
kind: IPAddressPool
147+
metadata:
148+
namespace: metallb-system
149+
name: designateext
150+
spec:
151+
autoAssign: false
152+
addresses:
153+
EOF_CAT
154+
if [ -n "$IPV4_ENABLED" ]; then
155+
cat >> ${DEPLOY_DIR}/ipaddresspools.yaml <<EOF_CAT
156+
- ${DESIGNATE_EXT_PREFIX}.80-${DESIGNATE_EXT_PREFIX}.90
157+
EOF_CAT
158+
fi
159+
if [ -n "$IPV6_ENABLED" ]; then
160+
cat >> ${DEPLOY_DIR}/ipaddresspools.yaml <<EOF_CAT
161+
- fd00:eaea::80-fd00:eaea::90
162+
EOF_CAT
163+
fi
143164

144165
cat > ${DEPLOY_DIR}/l2advertisement.yaml <<EOF_CAT
145166
---
@@ -186,6 +207,17 @@ spec:
186207
- tenant
187208
interfaces:
188209
- ${INTERFACE}.22
210+
---
211+
apiVersion: metallb.io/v1beta1
212+
kind: L2Advertisement
213+
metadata:
214+
name: designateext
215+
namespace: metallb-system
216+
spec:
217+
ipAddressPools:
218+
- designateext
219+
interfaces:
220+
- ${INTERFACE}.26
189221
EOF_CAT
190222
cat > ${DEPLOY_DIR}/bgppeers.yaml <<EOF_CAT
191223
---
@@ -226,6 +258,7 @@ spec:
226258
- internalapi
227259
- storage
228260
- tenant
261+
- designateext
229262
peers:
230263
- bgp-peer
231264
- bgp-peer-2

scripts/gen-netatt.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ if [ -n "$IPV4_ENABLED" ]; then
4646
check_var_set STORAGEMGMT_PREFIX
4747
check_var_set TENANT_PREFIX
4848
check_var_set DESIGNATE_PREFIX
49+
check_var_set DESIGNATE_EXT_PREFIX
4950
fi
5051

5152
echo DEPLOY_DIR ${DEPLOY_DIR}
@@ -60,6 +61,7 @@ if [ -n "$IPV4_ENABLED" ]; then
6061
echo "STORAGEMGMT_PREFIX ${STORAGEMGMT_PREFIX}"
6162
echo "TENANT_PREFIX ${TENANT_PREFIX}"
6263
echo "DESIGNATE_PREFIX ${DESIGNATE_PREFIX}"
64+
echo "DESIGNATE_PREFIX ${DESIGNATE_EXT_PREFIX}"
6365
fi
6466
if [ -n "$IPV6_ENABLED" ]; then
6567
echo CTLPLANE_IPV6_ADDRESS_PREFIX ${CTLPLANE_IPV6_ADDRESS_PREFIX}
@@ -320,6 +322,27 @@ spec:
320322
}
321323
}
322324
EOF_CAT
325+
cat > ${DEPLOY_DIR}/designateext.yaml <<EOF_CAT
326+
apiVersion: k8s.cni.cncf.io/v1
327+
kind: NetworkAttachmentDefinition
328+
metadata:
329+
name: designateext
330+
namespace: ${NAMESPACE}
331+
spec:
332+
config: |
333+
{
334+
"cniVersion": "0.3.1",
335+
"name": "designatext",
336+
"type": "macvlan",
337+
"master": "${INTERFACE}.$((${VLAN_START}+${VLAN_STEP}*6))",
338+
"ipam": {
339+
"type": "whereabouts",
340+
"range": "172.50.0.0/24",
341+
"range_start": "172.50.0.30",
342+
"range_end": "172.50.0.70"
343+
}
344+
}
345+
EOF_CAT
323346

324347
if [ -n "$INTERFACE_BGP_1" ]; then
325348
cat > ${DEPLOY_DIR}/bgpnet1.yaml <<EOF_CAT

scripts/gen-nncp.sh

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ check_var_set STORAGE_PREFIX
3939
check_var_set STORAGEMGMT_PREFIX
4040
check_var_set TENANT_PREFIX
4141
check_var_set DESIGNATE_PREFIX
42+
check_var_set DESIGNATE_EXT_PREFIX
4243
if [ -n "$BGP" ]; then
4344
check_var_set INTERFACE_BGP_1
4445
check_var_set INTERFACE_BGP_2
@@ -87,6 +88,7 @@ tenant_vlan_id=$((${VLAN_START}+$((${VLAN_STEP}*2))))
8788
storagemgmt_vlan_id=$((${VLAN_START}+$((${VLAN_STEP}*3))))
8889
octavia_vlan_id=$((${VLAN_START}+$((${VLAN_STEP}*4))))
8990
designate_vlan_id=$((${VLAN_START}+$((${VLAN_STEP}*5))))
91+
designate_ext_vlan_id=$((${VLAN_START}+$((${VLAN_STEP}*6))))
9092

9193
for WORKER in ${WORKERS}; do
9294
cat > ${DEPLOY_DIR}/${WORKER}_nncp.yaml <<EOF_CAT
@@ -442,6 +444,51 @@ EOF_CAT
442444
EOF_CAT
443445
fi
444446

447+
#
448+
# designate external VLAN interface
449+
#
450+
cat >> ${DEPLOY_DIR}/${WORKER}_nncp.yaml <<EOF_CAT
451+
- description: designate external vlan interface
452+
name: ${INTERFACE}.${designate_ext_vlan_id}
453+
state: up
454+
type: vlan
455+
vlan:
456+
base-iface: ${INTERFACE}
457+
id: ${designate_ext_vlan_id}
458+
reorder-headers: true
459+
EOF_CAT
460+
if [ -n "$IPV4_ENABLED" ]; then
461+
cat >> ${DEPLOY_DIR}/${WORKER}_nncp.yaml <<EOF_CAT
462+
ipv4:
463+
address:
464+
- ip: ${DESIGNATE_EXT_PREFIX}.${IP_ADDRESS_SUFFIX}
465+
prefix-length: 24
466+
enabled: true
467+
dhcp: false
468+
EOF_CAT
469+
else
470+
cat >> ${DEPLOY_DIR}/${WORKER}_nncp.yaml <<EOF_CAT
471+
ipv4:
472+
enabled: false
473+
EOF_CAT
474+
fi
475+
if [ -n "$IPV6_ENABLED" ]; then
476+
cat >> ${DEPLOY_DIR}/${WORKER}_nncp.yaml <<EOF_CAT
477+
ipv6:
478+
address:
479+
- ip: fd00:eaea::${IPV6_ADDRESS_SUFFIX}
480+
prefix-length: 64
481+
enabled: true
482+
dhcp: false
483+
autoconf: false
484+
EOF_CAT
485+
else
486+
cat >> ${DEPLOY_DIR}/${WORKER}_nncp.yaml <<EOF_CAT
487+
ipv6:
488+
enabled: false
489+
EOF_CAT
490+
fi
491+
445492
#
446493
# ctlplane interface (untagged)
447494
#

0 commit comments

Comments
 (0)