X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=solution%2Fdev%2Fves-test-collector%2Fclient-scripts-ves-v7%2FsendTca.sh;fp=solution%2Fdev%2Fves-test-collector%2Fclient-scripts-ves-v7%2FsendTca.sh;h=5aa671492c07bae28645793ff4672fcfa3c36d5d;hb=f58b3e1c0d88c9c403cbbef28cb36fa2f1b6bf86;hp=0000000000000000000000000000000000000000;hpb=2c1023c4053ed30de38bc7e2486738fb3c730536;p=oam.git diff --git a/solution/dev/ves-test-collector/client-scripts-ves-v7/sendTca.sh b/solution/dev/ves-test-collector/client-scripts-ves-v7/sendTca.sh new file mode 100755 index 0000000..5aa6714 --- /dev/null +++ b/solution/dev/ves-test-collector/client-scripts-ves-v7/sendTca.sh @@ -0,0 +1,75 @@ +#!/bin/bash +################################################################################ +# +# Copyright 2019 highstreet technologies GmbH and others +# +# 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. + +################################################################################ +# Script to send an VES Message Event to DCAE + +. config; + pnfType=${1,,}; + alarmType=$2; + action=$3; + domain=thresholdCrossingAlert; +collectionTimestamp=$(date -u -R -d @$timeInS );: + time15min=$(( $timeInS - $(($timeInS % 900)))); +eventStartTimestamp=$(date -u -R -d @$time15min ); + +declare -A severities=( + [clear]=NORMAL + [cont]=WARNING + [set]=WARNING +) + severity=${severities[${3,,}]}; + +declare -A mapping=( + [domain]=$domain + [controllerName]=$(hostname --fqdn) + [pnfId]=${pnfIdByType[$pnfType]} + [eventId]="${pnfIdByType[$pnfType]}_${interfaceByType[$pnfType]}_${alarmType}" + [eventType]=${eventType} + [type]=${pnfType^^} + [interface]=${interfaceByType[$pnfType]} + [alarm]=${alarmType} + [action]=${action} + [severity]=${severity} + [timestamp]=${timestamp} + [eventTime]=${eventTime} + [collectionTimestamp]=${collectionTimestamp} + [eventStartTimestamp]=${eventStartTimestamp} + [vendor]=${vendorsByType[$pnfType]^^} + [model]=${modelByType[$pnfType]} +) + +echo "################################################################################"; +echo "# send threshold crossed alert"; +echo +for key in "${!mapping[@]}" +do + label=$spaces$key; + label=${label:(-20)}; + echo "$label: ${mapping[$key]}"; + if [ $key = "timestamp" ]; then + sequence="$sequence s/\"@$key@\"/${mapping[$key]}/g; " + else + sequence="$sequence s/@$key@/${mapping[$key]}/g; " + fi +done +echo; + +body=./json/examples/${pnfType^^}-${alarmType}-${action}-${domain}.json; +sed -e "$sequence" ./json/templates/$domain.json > $body; + +curl -i -k -u $basicAuthVes -X POST -d @${body} --header "Content-Type: application/json" $urlVes \ No newline at end of file