2 # SPDX-license-identifier: Apache-2.0
3 ##############################################################################
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
16 source _common_test.sh
19 # populate_CSAR_ovn4nfv() - Create content used for OVN4NFV functional test
20 function populate_CSAR_provider_network {
24 pushd ${CSAR_DIR}/${csar_id}
26 cat << MULTUS_NET > onap-ovn4nfvk8s-network.yaml
27 apiVersion: "k8s.cni.cncf.io/v1"
28 kind: NetworkAttachmentDefinition
30 name: $ovn_multus_network_name
33 "cniVersion": "0.3.1",
34 "name": "ovn4nfv-k8s-plugin",
35 "type": "ovn4nfvk8s-cni"
39 cat << NETWORK > ovn-virt-net1.yaml
51 cat << NETWORK > ovn-virt-net2.yaml
63 cat << DEPLOYMENT > firewall.yaml
80 k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]'
81 ovnNetwork: '[ { "name": ""ovn-virt-net1"", "interface": "net0" , "defaultGateway": "false", "ipAddress":"10.1.20.2"},
82 { "name": "prod-net1", "interface": "net1", "defaultGateway": "false", "ipAddress":"10.1.5.1/24"}]'
83 ovnNetworkRoutes: '[{ "dst": "0.0.0.0/0", "gw": "10.1.20.3", "dev": "net0" }]'
94 cat << DEPLOYMENT > webcache.yaml
111 k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]'
112 ovnNetwork: '[{ "name": "ovn-virt-net1", "interface": "net0" , "defaultGateway": "false", "ipAddress":"10.1.20.3"},
113 { "name": "ovn-virt-net2", "interface": "net1" , "defaultGateway": "false", "ipAddress":"10.1.21.2"}]'
114 ovnNetworkRoutes: '[{ "dst": "10.1.5.0/24", "gw": "10.1.20.2", "dev": "net0" },
115 { "dst": "0.0.0.0/0", "gw": "10.1.21.3", "dev": "net1" }]'
126 cat << DEPLOYMENT > sdwan.yaml
143 k8s.v1.cni.cncf.io/networks: '[{ "name": "$ovn_multus_network_name"}]'
144 ovnNetwork: '[ { "name": ""ovn-virt-net2"", "interface": "net0" , "defaultGateway": "false", "ipAddress":"10.1.21.3"},
145 { "name": "prod-net2", "interface": "net1", "defaultGateway": "false", "ipAddress":"10.1.10.2/24"}]'
146 ovnNetworkRoutes: '[{ "dst": "0.0.0.0/0", "gw": "10.1.10.1", "dev": "net1" },
147 { "dst": "10.1.5.0/24", "gw": "10.1.21.2", "dev": "net0" },
148 { "dst": "10.1.20.0/24", "gw": "10.1.21.2", "dev": "net0" }]'
161 csar_id=d5718572-3b9a-11e9-b210-d663bd873dda
164 populate_CSAR_provider_network $csar_id
166 pushd ${CSAR_DIR}/${csar_id}
167 for net in ovn-virt-net1 ovn-virt-net2; do
168 cleanup_network $net.yaml
169 echo "Create OVN Network $net network"
170 init_network $net.yaml
172 kubectl apply -f onap-ovn4nfvk8s-network.yaml
173 setup firewall webcache sdwan
176 deployment_pod=$(kubectl get pods | grep firewall | awk '{print $1}')
177 echo "===== $deployment_pod details ====="
178 kubectl exec -it $deployment_pod -- ip a
179 multus_nic=$(kubectl exec -it $deployment_pod -- ifconfig | grep "net1")
180 if [ -z "$multus_nic" ]; then
181 echo "The $deployment_pod pod doesn't contain the net1 nic"
186 teardown firewall webcache sdwan
187 cleanup_network ovn-virt-net1.yaml
188 cleanup_network ovn-virt-net2.yaml