Merge ovs and router to fabric
Change-Id: I078c92efd013f6ab377010e7c1b4ae1f7a251a5f
diff --git a/comac-in-a-box/Makefile b/comac-in-a-box/Makefile
index 029a41b..b3060ba 100644
--- a/comac-in-a-box/Makefile
+++ b/comac-in-a-box/Makefile
@@ -133,16 +133,6 @@
helm upgrade --install $(HELM_GLOBAL_ARGS) comac-platform comac-platform -f $(CIABVALUES)
touch $@
-# TODO: need to connect ONOS
-$(M)/ovs-setup: | $(M)/setup
- sudo apt install -y openvswitch-switch
- sudo ovs-vsctl --may-exist add-br br-s1u-net
- sudo ovs-vsctl --may-exist add-port br-s1u-net s1u-enb -- set Interface s1u-enb type=internal
- sudo ip link set s1u-enb address 0a:00:00:00:00:01
- sudo ip addr add 119.0.0.253/24 dev s1u-enb || true
- sudo ip link set s1u-enb up
- touch $@
-
/opt/cni/bin/simpleovs: | $(M)/k8s-ready
sudo cp $(RESOURCEDIR)/simpleovs /opt/cni/bin/
@@ -152,7 +142,21 @@
tar xvfz cni-plugins-linux-amd64-v0.8.2.tgz
sudo cp $(BUILD)/cni-plugins/static /opt/cni/bin/
-$(M)/omec: | $(M)/ovs-setup $(M)/helm-ready $(WORKSPACE)/cord/helm-charts /opt/cni/bin/simpleovs /opt/cni/bin/static
+# TODO: need to connect ONOS
+$(M)/fabric: | $(M)/setup /opt/cni/bin/simpleovs
+ sudo apt install -y openvswitch-switch
+ sudo ovs-vsctl --may-exist add-br br-s1u-net
+ sudo ovs-vsctl --may-exist add-port br-s1u-net s1u-enb -- set Interface s1u-enb type=internal
+ sudo ip addr add 119.0.0.4/24 dev s1u-enb || true
+ sudo ip link set s1u-enb up
+ kubectl apply -f $(RESOURCEDIR)/sgi-net.yaml
+ kubectl apply -f $(RESOURCEDIR)/router.yaml
+ kubectl wait pod --for=condition=Ready -l app=router --timeout=60s
+ kubectl exec router ip route add 16.0.0.0/8 via 13.1.1.3
+ kubectl delete net-attach-def sgi-net
+ touch $@
+
+$(M)/omec: | $(M)/helm-ready $(WORKSPACE)/cord/helm-charts /opt/cni/bin/simpleovs /opt/cni/bin/static $(M)/fabric
cd $(WORKSPACE)/cord/helm-charts/omec; \
helm dep up omec-data-plane && \
helm dep up omec-control-plane && \
@@ -190,16 +194,7 @@
done"
touch $@
-$(M)/router: | /opt/cni/bin/simpleovs $(M)/ovs-setup
- kubectl apply -f $(RESOURCEDIR)/quagga.yaml
- kubectl wait pod --for=condition=Ready -l app=quagga --timeout=60s
- $(eval spgwu_ip=$(shell kubectl get pod -ojson spgwu-0 2>/dev/null | \
- jq -r '.metadata.annotations["k8s.v1.cni.cncf.io/networks-status"]' | \
- jq -r '.[] | select(.name=="sgi-net") | .ips[0]'))
- kubectl exec router ip route add 16.0.0.0/8 via $(spgwu_ip)
- touch $@
-
-test: | $(M)/omec $(M)/oaisim $(M)/router
+test: | $(M)/fabric $(M)/omec $(M)/oaisim
@timeout 120s bash -c \
"until timeout 3 ping -I oip1 13.1.1.254 -c 1 > /dev/null 2>&1; do \
echo 'Waiting for DP to be ready'; \
@@ -207,14 +202,15 @@
ping -I oip1 13.1.1.254 -c 3
reset-test:
- kubectl delete po router || true
helm delete --purge oaisim || true
helm delete --purge omec-control-plane || true
helm delete --purge omec-data-plane || true
- cd $(M); rm -f router oaisim omec
+ cd $(M); rm -f oaisim omec
clean: reset-test
helm delete --purge $(shell helm ls -q) || true
+ kubectl delete po router
+ kubectl delete net-attach-def sgi-net
sudo ovs-vsctl del-br br-s1u-net || true
sudo ovs-vsctl del-br br-sgi-net || true
sudo apt remove --purge openvswitch-switch -y
diff --git a/comac-in-a-box/resources/quagga.yaml b/comac-in-a-box/resources/router.yaml
similarity index 92%
rename from comac-in-a-box/resources/quagga.yaml
rename to comac-in-a-box/resources/router.yaml
index 130fb1a..67aedae 100644
--- a/comac-in-a-box/resources/quagga.yaml
+++ b/comac-in-a-box/resources/router.yaml
@@ -1,5 +1,3 @@
-#!/bin/bash -x
-#
# Copyright 2019-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,13 +11,14 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+
---
apiVersion: v1
kind: Pod
metadata:
name: router
labels:
- app: quagga
+ app: router
annotations:
k8s.v1.cni.cncf.io/networks: '[
{ "name": "sgi-net", "interface": "sgi-rtr", "ips": "13.1.1.254/24" }
@@ -30,7 +29,6 @@
command: ["/bin/bash", "-c"]
args:
- >
- ip link set sgi-rtr address 0e:00:00:00:00:01;
trap : TERM INT; sleep infinity & wait
image: opencord/quagga
securityContext:
diff --git a/comac-in-a-box/resources/sgi-net.yaml b/comac-in-a-box/resources/sgi-net.yaml
new file mode 100644
index 0000000..75aa95e
--- /dev/null
+++ b/comac-in-a-box/resources/sgi-net.yaml
@@ -0,0 +1,26 @@
+# Copyright 2019-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+apiVersion: "k8s.cni.cncf.io/v1"
+kind: NetworkAttachmentDefinition
+metadata:
+ name: sgi-net
+spec:
+ config: '{
+ "type": "simpleovs",
+ "ipam": {
+ "type": "static"
+ }
+ }'