Create template for notifyFileReady 27/9827/2
authordemx8as6 <martin.skorupski@highstreet-technologies.com>
Fri, 25 Nov 2022 11:18:25 +0000 (12:18 +0100)
committerdemx8as6 <martin.skorupski@highstreet-technologies.com>
Sat, 26 Nov 2022 10:03:54 +0000 (11:03 +0100)
- notify-file-ready json added
- housekeeping for notify-cleared-alarm

IssueID: OAM-292
Change-Id: I42396e369da99a26dfcce574217c0f9bbb04b6d8
Signed-off-by: demx8as6 <martin.skorupski@highstreet-technologies.com>
code/client-scripts-ves-v7/json/templates/stndDefined-r16-notify-cleared-alarm.json
code/client-scripts-ves-v7/json/templates/stndDefined-r16-notify-file-ready.json [new file with mode: 0644]
code/client-scripts-ves-v7/sendStndDefinedNotifyFileReady.sh [new file with mode: 0755]

diff --git a/code/client-scripts-ves-v7/json/templates/stndDefined-r16-notify-file-ready.json b/code/client-scripts-ves-v7/json/templates/stndDefined-r16-notify-file-ready.json
new file mode 100644 (file)
index 0000000..5fbcc11
--- /dev/null
@@ -0,0 +1,46 @@
+{
+  "event": {
+    "commonEventHeader": {
+      "domain": "@domain@",
+      "eventId": "@eventId@",
+      "eventName": "@domain@_@eventType@_Alarms_@alarm@",
+      "eventType": "@eventType@_Alarms",
+      "sequence": 0,
+      "priority": "Low",
+      "reportingEntityId": "",
+      "reportingEntityName": "@controllerName@",
+      "sourceId": "",
+      "sourceName": "@pnfId@",
+      "startEpochMicrosec": "@timestamp@",
+      "lastEpochMicrosec": "@timestamp@",
+      "nfNamingCode": "@type@",
+      "nfVendorName": "@vendor@",
+      "timeZoneOffset": "+00:00",
+      "version": "4.1",
+      "stndDefinedNamespace": "file-ready",
+      "vesEventListenerVersion": "7.2.1"
+    },
+    "stndDefinedFields": {
+      "schemaReference": "https://forge.3gpp.org/rep/sa5/MnS/-/raw/Rel-16/OpenAPI/TS28532_FileDataReportingMnS.yaml#components/schemas/NotifyFileReady",
+      "data": {
+        "href": "href1",
+        "notificationId": 0,
+        "notificationType": "notifyFileReady",
+        "eventTime": "@eventTime@",
+        "systemDN": "xyz",
+        "fileInfoList": [{
+            "fileLocation": "/pm-data-files/A@startTime@-@endTime@_@pnfId@.xml",
+            "fileSize": 1234,
+            "fileReadyTime": "@eventTime@",
+            "fileExpirationTime": "@eventTime@",
+            "fileCompression": "no",
+            "fileFormat": "xml",
+            "fileDataType": "Performance"
+        }
+        ],
+        "additionalText": "Have fun!"
+      },
+      "stndDefinedFieldsVersion": "1.0"
+    }
+  }
+}
\ No newline at end of file
diff --git a/code/client-scripts-ves-v7/sendStndDefinedNotifyFileReady.sh b/code/client-scripts-ves-v7/sendStndDefinedNotifyFileReady.sh
new file mode 100755 (executable)
index 0000000..1644ede
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+################################################################################
+#
+# Copyright 2022 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
+#
+#     https://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,,};
+   domain="stndDefined";
+   collectionEndTime=$(( $timeInS - $(( $timeInS % 900 )) ));
+   collectionStartTime=$(( collectionEndTime - 900 ));
+
+declare -A mapping=(
+    [domain]=$domain
+    [controllerName]=$(hostname --fqdn)
+    [pnfId]=${pnfIdByType[$pnfType]}
+    [eventId]="${pnfIdByType[$pnfType]}_${interfaceByType[$pnfType]}_${alarmType}"
+    [eventType]=${eventType}
+    [type]=${pnfType^^}
+    [timestamp]=${timestamp}
+    [eventTime]=${eventTime}
+    [startTime]=$( date -d @$collectionStartTime -u +%Y%m%d.%H%M+0000 )
+    [endTime]=$( date -d @$collectionEndTime -u +%H%M+0000 )
+)
+
+echo "################################################################################";
+echo "# send VES 3GPP FileReady";
+echo;
+for key in "${!mapping[@]}"
+do
+  #label=${${"$spaces$i"}:(-14)};
+  label=$spaces$key;
+  label=${label:(-16)};
+  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^^}-${domain}-3gpp-file-ready.json"
+template="./json/templates/$domain-r16-notify-file-ready.json"
+sed -e "$sequence" $template > $body;
+
+curl -i -k -u $basicAuthVes -X POST -d @${body} --header "Content-Type: application/json" $urlVes