blob: e4d8d94a9c9c4ce1cb3070264ceed2fb212575fd (
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
98
99
100
101
102
103
104
105
106
107
108
|
#!/usr/bin/env bash
# ============LICENSE_START=======================================================
# dcaegen2-collectors-veshv
# ================================================================================
# Copyright (C) 2018 NOKIA
# ================================================================================
# 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.
# ============LICENSE_END=========================================================
set -euo pipefail
usage() {
echo "Start xnf-simulator container on given port and inside of given docker-network"
echo "Usage: $0 [-h|--help] [-v|--verbose] [--ssl-disable] <xnf listen port> [<hv ves hostname> <hv ves port> <hv ves docker network>]"
echo ""
echo "Optional parameters:"
echo " - ssl-disable : Should xNF simulator be configured without using SSL/TLS connections"
echo "Default values:"
echo " - hv ves hostname: ves-hv-collector"
echo " - hv ves port: 6061"
exit 1
}
optspec=":vh-:" # catch v, h and -
while getopts "$optspec" arg; do
case "${arg}" in
-) # handle longopts
case "${OPTARG}" in
verbose)
VERBOSE=True ;;
ssl-disable)
SSL_DISABLE=True ;;
help)
usage ;;
*)
echo "Unknown option --${OPTARG}" >&2
usage ;;
esac ;;
v)
VERBOSE=True ;;
h)
usage ;;
*)
echo "Unknown option -${OPTARG}" >&2
usage ;;
esac
done
shift $((OPTIND-1))
[ $# -eq 0 ] && usage
LISTEN_PORT=$1
HV_VES_HOSTNAME=${2:-ves-hv-collector}
HV_VES_PORT=${3:-6061}
if [ $# -gt 3 ]; then
HV_VES_NETWORK=${4}
fi
PORTS="${LISTEN_PORT}:${LISTEN_PORT}/tcp"
HV_VES_REPO_HOME=$(realpath $(dirname "$0"))/..
if [ -n "${SSL_DISABLE+x}" ]; then
SSL_CONFIGURATION="--ssl-disable"
else
SSL_CONFIGURATION="--key-store-password onaponap --trust-store-password onaponap"
fi
if [ -n "${VERBOSE+x}" ]; then
echo "Starting xnf-simulator with "
echo " - ports configuration: ${PORTS}"
echo " - SSL configuration: ${SSL_CONFIGURATION}"
echo "Container id:"
fi
XNF_CONTAINER_ID=$(docker run -d \
-v ${HV_VES_REPO_HOME}/ssl/:/etc/ves-hv/ \
--health-cmd='curl -s -f http://localhost:6063/health/ready || exit 1' \
--health-interval=5s \
--health-retries=3 \
--health-start-period='10s' \
-p ${PORTS} \
onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-xnf-simulator \
--listen-port ${LISTEN_PORT} \
--health-check-api-port 6063 \
--ves-host ${HV_VES_HOSTNAME} \
--ves-port ${HV_VES_PORT} \
${SSL_CONFIGURATION})
echo $XNF_CONTAINER_ID
if [ -n "${HV_VES_NETWORK+x}" ]; then
if [ -n "${VERBOSE+x}" ]; then
echo "Adding container to network: ${HV_VES_NETWORK}"
fi
docker network connect ${HV_VES_NETWORK} ${XNF_CONTAINER_ID}
fi
|