blob: 2c01c517e62c34e5cde69d8eac3c125eb8afd8d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
#!/bin/bash
# SPDX-license-identifier: Apache-2.0
##############################################################################
# Copyright (c) 2018
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -o errexit
set -o nounset
set -o pipefail
base_url="http://localhost:8081/v1/vnf_instances/"
cloud_region_id="krd"
namespace="default"
csar_id="94e414f6-9ca4-11e8-bb6a-52540067263b"
if [[ -z $(docker images -q generic_sim) ]]; then
BUILD_ARGS="--no-cache"
if [ $HTTP_PROXY ]; then
BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}"
fi
if [ $HTTPS_PROXY ]; then
BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}"
fi
pushd generic_simulator
docker build ${BUILD_ARGS} -t generic_sim:latest .
popd
fi
if [[ $(docker ps -q --all --filter "name=aai") ]]; then
docker rm aai -f
fi
docker run --name aai -v $(mktemp):/tmp/generic_sim/ -v $(pwd)/generic_simulator/aai/:/etc/generic_sim/ -p 8443:8080 -d generic_sim
vnf_id_list=$(curl -s "${base_url}${cloud_region_id}/${namespace}" | jq -r '.vnf_id_list')
mkdir -p ${CSAR_DIR}/${csar_id}
cat << SEQ > ${CSAR_DIR}/${csar_id}/metadata.yaml
deployment:
- deployment.yaml
service:
- service.yaml
SEQ
cat << DEPLOYMENT > ${CSAR_DIR}/${csar_id}/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: multus-deployment
labels:
app: multus
spec:
replicas: 1
selector:
matchLabels:
app: multus
template:
metadata:
labels:
app: multus
annotations:
kubernetes.v1.cni.cncf.io/networks: '[
{ "name": "bridge-conf", "interfaceRequest": "eth1" },
{ "name": "bridge-conf", "interfaceRequest": "eth2" }
]'
spec:
containers:
- name: multus-deployment
image: "busybox"
command: ["top"]
stdin: true
tty: true
DEPLOYMENT
cat << SERVICE > ${CSAR_DIR}/${csar_id}/service.yaml
apiVersion: v1
kind: Service
metadata:
name: sise-svc
spec:
ports:
- port: 80
protocol: TCP
selector:
app: sise
SERVICE
payload_raw="
{
\"cloud_region_id\": \"$cloud_region_id\",
\"namespace\": \"$namespace\",
\"csar_id\": \"$csar_id\"
}
"
payload=$(echo $payload_raw | tr '\n' ' ')
curl -v -d "$payload" "${base_url}"
|