#!/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] [ ]" 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