From a39b3c10f5742c603e06886e07ac21b5a62b14ec Mon Sep 17 00:00:00 2001 From: Martin Skorupski Date: Mon, 17 Apr 2023 15:25:28 +0200 Subject: [PATCH] Create flow for notifyClearedAlarm - related nodeRed nodes added to -- EventStreaming VES -- MessageTopics Issue-ID: OAM-330 Change-Id: I1c3292d97f1a970ac42a712ccdb1cd157130e8c0 Signed-off-by: Martin Skorupski --- solution/smo/apps/flows/data/flows.json | 1037 ++++++++++++++++++++++++------- 1 file changed, 816 insertions(+), 221 deletions(-) diff --git a/solution/smo/apps/flows/data/flows.json b/solution/smo/apps/flows/data/flows.json index ed57fe1..bb3b5ee 100644 --- a/solution/smo/apps/flows/data/flows.json +++ b/solution/smo/apps/flows/data/flows.json @@ -59,7 +59,7 @@ "payload": "", "payloadType": "date", "x": 120, - "y": 460, + "y": 500, "wires": [ [ "b5533c10604af5a6", @@ -72,7 +72,7 @@ "type": "function", "z": "51e83a0892da060e", "name": "vesHeader", - "func": "const timeStamp = new Date(msg.payload);\nconst eventType = msg.topic;\nlet domain = \"stndDefined\";\n// handle domain expecption for 'pnfRegistration'\nif (eventType === 'pnfRegistration') {\n domain = eventType;\n} \nconst nfNamingCode = env.get('APP_NETWORK_FUNCTION_ID');\nconst namespaces = {\n pnfRegistration: undefined,\n o1NotifyPnfRegistration: 'o1-notify-pnf-registration',\n oRanScDuHelloWorldPmStreaming: 'o-ran-sc-du-hello-world-pm-streaming-oas3',\n notifyHeartbeat: '3GPP-Heartbeat',\n notifyNewAlarm: '3GPP-FaultSupervision',\n notifyFileReady: 'file-ready'\n};\nconst topic = namespaces[eventType] || msg.topic;\n\nmsg.topic = \"commonEventHeader\"\nmsg.payload = {\n domain: domain,\n eventType: eventType,\n eventId:[nfNamingCode, eventType, msg._msgid].join('_'),\n eventName: [domain, eventType].join('_'),\n sequence: Number(timeStamp),\n priority: \"Low\",\n reportingEntityId: \"c2b7d6e9-ee35-459a-ab8e-717a6fc1fde6\",\n reportingEntityName: global.get('os').hostname(),\n sourceId: \"378e9904-6d39-40ea-9994-0596fe2235a3\",\n sourceName: env.get('APP_SOURCE'),\n startEpochMicrosec: timeStamp.getTime() * 1000,\n lastEpochMicrosec: timeStamp.getTime() * 1000,\n nfNamingCode: nfNamingCode,\n nfVendorName: env.get('APP_VENDOR'),\n timeZoneOffset: \"+00:00\",\n stndDefinedNamespace: topic,\n version: \"4.1\",\n vesEventListenerVersion: \"7.2.1\"\n}\nreturn msg;", + "func": "const timeStamp = new Date(msg.payload);\nconst eventType = msg.topic;\nlet domain = \"stndDefined\";\n// handle domain expecption for 'pnfRegistration'\nif (eventType === 'pnfRegistration') {\n domain = eventType;\n} \nconst nfNamingCode = env.get('APP_NETWORK_FUNCTION_ID');\nconst namespaces = {\n pnfRegistration: undefined,\n o1NotifyPnfRegistration: 'o1-notify-pnf-registration',\n oRanScDuHelloWorldPmStreaming: 'o-ran-sc-du-hello-world-pm-streaming-oas3',\n notifyHeartbeat: '3GPP-Heartbeat',\n notifyFileReady: 'file-ready',\n notifyFilePreparationError: 'file-ready',\n notifyNewAlarm: '3GPP-FaultSupervision',\n notifyChangedAlarm: '3GPP-FaultSupervision',\n notifyChangedAlarmGeneral: '3GPP-FaultSupervision',\n notifyAckStateChanged: '3GPP-FaultSupervision',\n notifyCorrelatedNotificationChanged: '3GPP-FaultSupervision',\n notifyComments: '3GPP-FaultSupervision',\n notifyClearedAlarm: '3GPP-FaultSupervision',\n notifyAlarmListRebuilt: '3GPP-FaultSupervision',\n notifyPotentialFaultyAlarmList: '3GPP-FaultSupervision'\n};\nconst topic = namespaces[eventType] || msg.topic;\n\nmsg.topic = \"commonEventHeader\"\nmsg.payload = {\n domain: domain,\n eventType: eventType,\n eventId:[nfNamingCode, eventType, msg._msgid].join('_'),\n eventName: [domain, eventType].join('_'),\n sequence: Number(timeStamp),\n priority: \"Low\",\n reportingEntityId: \"c2b7d6e9-ee35-459a-ab8e-717a6fc1fde6\",\n reportingEntityName: global.get('os').hostname(),\n sourceId: \"378e9904-6d39-40ea-9994-0596fe2235a3\",\n sourceName: env.get('APP_SOURCE'),\n startEpochMicrosec: timeStamp.getTime() * 1000,\n lastEpochMicrosec: timeStamp.getTime() * 1000,\n nfNamingCode: nfNamingCode,\n nfVendorName: env.get('APP_VENDOR'),\n timeZoneOffset: \"+00:00\",\n stndDefinedNamespace: topic,\n version: \"4.1\",\n vesEventListenerVersion: \"7.2.1\"\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", @@ -98,7 +98,7 @@ "finalize": "", "libs": [], "x": 470, - "y": 460, + "y": 500, "wires": [ [ "f65b1c13e0243ef6" @@ -1289,7 +1289,7 @@ "payload": "", "payloadType": "date", "x": 120, - "y": 500, + "y": 620, "wires": [ [ "f71ebd595a7de756", @@ -1309,7 +1309,7 @@ "finalize": "", "libs": [], "x": 470, - "y": 500, + "y": 620, "wires": [ [ "f65b1c13e0243ef6" @@ -1317,10 +1317,11 @@ ] }, { - "id": "910dfec7eb74df65", + "id": "82da4e47972195a4", "type": "inject", - "z": "c5746e29f53f72ce", - "name": "pnfRegistration", + "z": "51e83a0892da060e", + "d": true, + "name": "notifyChangedAlarm", "props": [ { "p": "payload" @@ -1334,40 +1335,21 @@ "crontab": "", "once": false, "onceDelay": 0.1, - "topic": "pnfRegistration", + "topic": "notifyChangedAlarm", "payload": "", "payloadType": "date", - "x": 240, - "y": 80, + "x": 130, + "y": 660, "wires": [ - [ - "e5f66f4bd6777ca0" - ] + [] ] }, { - "id": "562063a080cb99d6", - "type": "debug", - "z": "c5746e29f53f72ce", - "name": "eventData", - "active": true, - "tosidebar": true, - "console": false, - "tostatus": false, - "complete": "payload", - "targetType": "msg", - "statusVal": "", - "statusType": "auto", - "x": 1150, - "y": 220, - "wires": [] - }, - { - "id": "172060688d87f510", + "id": "a3d85c62bee11dad", "type": "inject", - "z": "c5746e29f53f72ce", + "z": "51e83a0892da060e", "d": true, - "name": "notifyHeartbeat", + "name": "notifyChangedAlarmGeneral", "props": [ { "p": "payload" @@ -1377,26 +1359,25 @@ "vt": "str" } ], - "repeat": "5", + "repeat": "", "crontab": "", - "once": true, + "once": false, "onceDelay": 0.1, - "topic": "notifyHeartbeat", + "topic": "notifyChangedAlarmGeneral", "payload": "", "payloadType": "date", - "x": 230, - "y": 320, + "x": 160, + "y": 700, "wires": [ - [ - "e5f66f4bd6777ca0" - ] + [] ] }, { - "id": "311c3b5d3d73fc24", + "id": "e4651c07a56f2448", "type": "inject", - "z": "c5746e29f53f72ce", - "name": "notifyFileReady", + "z": "51e83a0892da060e", + "d": true, + "name": "notifyAckStateChanged", "props": [ { "p": "payload" @@ -1410,114 +1391,21 @@ "crontab": "", "once": false, "onceDelay": 0.1, - "topic": "notifyFileReady", + "topic": "notifyAckStateChanged", "payload": "", "payloadType": "date", - "x": 240, - "y": 360, - "wires": [ - [ - "e5f66f4bd6777ca0" - ] - ] - }, - { - "id": "5437e3fdfca300c9", - "type": "http request", - "z": "c5746e29f53f72ce", - "name": "", - "method": "GET", - "ret": "txt", - "paytoqs": "ignore", - "url": "", - "tls": "7b2f4859e5963695", - "persist": true, - "proxy": "", - "insecureHTTPParser": true, - "authType": "", - "senderr": false, - "headers": [], - "x": 670, - "y": 220, - "wires": [ - [ - "dc576b6355478428" - ] - ] - }, - { - "id": "dc576b6355478428", - "type": "function", - "z": "c5746e29f53f72ce", - "name": "JSON", - "func": "const string = msg.payload;\nconst array = JSON.parse(string);\nif (Array.isArray(array)) {\n msg.payload = array.map( (item) => {\n if (typeof item === 'string' || item instanceof String) {\n return JSON.parse(item);\n }\n });\n} else {\n msg.payload = array;\n}\nreturn msg;", - "outputs": 1, - "noerr": 0, - "initialize": "", - "finalize": "", - "libs": [], - "x": 830, - "y": 220, - "wires": [ - [ - "2a2e05d79287f4a0" - ] - ] - }, - { - "id": "e5f66f4bd6777ca0", - "type": "function", - "z": "c5746e29f53f72ce", - "name": "SET msg.url", - "func": "const base = 'https://messages.smo.o-ran-sc.org';\nconst path = 'events';\nconst urlMapping = {\n pnfRegistration: \"unauthenticated.VES_PNFREG_OUTPUT\",\n o1NotifyPnfRegistration: \"unauthenticated.VES_O1_NOTIFY_PNF_REGISTRATION_OUTPUT\",\n oRanScDuHelloWorldPmStreaming: \"unauthenticated.VES_O_RAN_SC_HELLO_WORLD_PM_STREAMING_OUTPUT\",\n notifyHeartbeat: \"unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\",\n notifyFileReady: \"unauthenticated.VES_FILE_READY_OUTPUT\",\n notifyNewAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n oRanOpenfrontManagementPlane: \"unauthenticated.VES_O_RAN_SC_OPENFRONTHAUL_OUTPUT\"\n};\nconst longPolling = '?timeout=60000'\nconst urlTopic = urlMapping[msg.topic] || msg.topic.replace(':', '-');\nmsg.url = [base, path, urlTopic, '1', '1'].join('/') + longPolling;\nreturn msg;", - "outputs": 1, - "noerr": 0, - "initialize": "", - "finalize": "", - "libs": [], - "x": 490, - "y": 220, + "x": 140, + "y": 740, "wires": [ - [ - "5437e3fdfca300c9" - ] + [] ] }, { - "id": "42275e9c12f8e52b", - "type": "comment", - "z": "c5746e29f53f72ce", - "name": "from O-RAN-SC", - "info": "", - "x": 100, - "y": 140, - "wires": [] - }, - { - "id": "e07fa97ebc66dce0", - "type": "comment", - "z": "c5746e29f53f72ce", - "name": "from ONAP", - "info": "", - "x": 90, - "y": 40, - "wires": [] - }, - { - "id": "44b8c2cc138777f1", - "type": "comment", - "z": "c5746e29f53f72ce", - "name": "from SA5 R-18 branch", - "info": "", - "x": 120, - "y": 280, - "wires": [] - }, - { - "id": "4480e5473a65a757", + "id": "e949006e1b1fe0f0", "type": "inject", - "z": "c5746e29f53f72ce", - "name": "oRanScDuHelloWorldPmStreaming", + "z": "51e83a0892da060e", + "d": true, + "name": "notifyCorrelatedNotificationChanged", "props": [ { "p": "payload" @@ -1531,22 +1419,21 @@ "crontab": "", "once": false, "onceDelay": 0.1, - "topic": "oRanScDuHelloWorldPmStreaming", + "topic": "notifyCorrelatedNotificationChanged", "payload": "", "payloadType": "date", "x": 180, - "y": 220, + "y": 780, "wires": [ - [ - "e5f66f4bd6777ca0" - ] + [] ] }, { - "id": "52f22ee054e5b4ac", + "id": "a80169493419d5d0", "type": "inject", - "z": "c5746e29f53f72ce", - "name": "o1NotifyPnfRegistration", + "z": "51e83a0892da060e", + "d": true, + "name": "notifyComments", "props": [ { "p": "payload" @@ -1560,53 +1447,20 @@ "crontab": "", "once": false, "onceDelay": 0.1, - "topic": "o1NotifyPnfRegistration", + "topic": "notifyComments", "payload": "", "payloadType": "date", - "x": 220, - "y": 180, - "wires": [ - [ - "e5f66f4bd6777ca0" - ] - ] - }, - { - "id": "3051f52553efaaa4", - "type": "http request", - "z": "c5746e29f53f72ce", - "name": "", - "method": "GET", - "ret": "txt", - "paytoqs": "ignore", - "url": "https://messages.smo.o-ran-sc.org/topics", - "tls": "7b2f4859e5963695", - "persist": true, - "proxy": "", - "insecureHTTPParser": true, - "authType": "", - "senderr": false, - "headers": [ - { - "keyType": "other", - "keyValue": "Accept", - "valueType": "other", - "valueValue": "application/json" - } - ], - "x": 670, - "y": 180, + "x": 120, + "y": 820, "wires": [ - [ - "dc576b6355478428" - ] + [] ] }, { - "id": "0acceacb99b7981a", + "id": "9e0f49b3d9b0a5ef", "type": "inject", - "z": "c5746e29f53f72ce", - "name": "Topics?", + "z": "51e83a0892da060e", + "name": "notifyClearedAlarm", "props": [ { "p": "payload" @@ -1620,32 +1474,24 @@ "crontab": "", "once": false, "onceDelay": 0.1, - "topic": "topics", + "topic": "notifyClearedAlarm", "payload": "", "payloadType": "date", - "x": 510, - "y": 180, + "x": 130, + "y": 860, "wires": [ [ - "3051f52553efaaa4" + "69b8d53969426ebf", + "b5533c10604af5a6" ] ] }, { - "id": "34b7ac222692e06d", - "type": "comment", - "z": "c5746e29f53f72ce", - "name": "from OpenFronthaul Management-Plane", - "info": "", - "x": 580, - "y": 280, - "wires": [] - }, - { - "id": "25a3eca83bbc3489", + "id": "418d585d7406029b", "type": "inject", - "z": "c5746e29f53f72ce", - "name": "o-ran-supervision:supervision-notification", + "z": "51e83a0892da060e", + "d": true, + "name": "notifyAlarmListRebuilt", "props": [ { "p": "payload" @@ -1655,25 +1501,493 @@ "vt": "str" } ], - "repeat": "60", + "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, - "topic": "o-ran-supervision:supervision-notification", + "topic": "notifyAlarmListRebuilt", "payload": "", "payloadType": "date", - "x": 620, - "y": 1040, + "x": 140, + "y": 900, "wires": [ - [ - "e5f66f4bd6777ca0" - ] + [] ] }, { - "id": "0194d014ef8f6c5e", + "id": "f856982bb3c3a65c", "type": "inject", - "z": "c5746e29f53f72ce", + "z": "51e83a0892da060e", + "d": true, + "name": "notifyPotentialFaultyAlarmList", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyPotentialFaultyAlarmList", + "payload": "", + "payloadType": "date", + "x": 160, + "y": 940, + "wires": [ + [] + ] + }, + { + "id": "4617f66b8940469e", + "type": "comment", + "z": "51e83a0892da060e", + "name": "TS28532_FaultMnS.yaml", + "info": "", + "x": 130, + "y": 580, + "wires": [] + }, + { + "id": "69b8d53969426ebf", + "type": "function", + "z": "51e83a0892da060e", + "name": "vesStndDefindBody", + "func": "const timeStamp = new Date(msg.payload);\nconst alarm = 'Connection Loss';\nconst severity = 'CRITICAL';\n\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyClearedAlarm',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(timeStamp),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: '/',\n alarmId: alarm,\n alarmType: 'COMMUNICATIONS_ALARM',\n probableCause: alarm,\n perceivedSeverity: severity,\n correlatedNotifications: [],\n clearSystemId: global.get('os').hostname()\n }\n\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 470, + "y": 860, + "wires": [ + [ + "f65b1c13e0243ef6" + ] + ] + }, + { + "id": "01e14b971772ee0a", + "type": "comment", + "z": "51e83a0892da060e", + "name": "TS28532_FileDataReportingMnS.yaml", + "info": "", + "x": 170, + "y": 460, + "wires": [] + }, + { + "id": "ea15cafd2325d76f", + "type": "inject", + "z": "51e83a0892da060e", + "name": "notifyFilePreparationError", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyFilePreparationError", + "payload": "", + "payloadType": "date", + "x": 150, + "y": 540, + "wires": [ + [ + "9f4bc0920fa3c0eb", + "b5533c10604af5a6" + ] + ] + }, + { + "id": "9f4bc0920fa3c0eb", + "type": "function", + "z": "51e83a0892da060e", + "name": "vesStndDefindBody", + "func": "const timeStamp = new Date(msg.payload);\nconst startTime = new Date(Math.floor(Number(timeStamp) / 900000) * 900000);\nconst endTime = new Date(Number(startTime) + 900000);\nconst paddy = (num, padlen, padchar) => {\n const pad_char = typeof padchar !== 'undefined' ? padchar : '0';\n const pad = new Array(1 + padlen).join(pad_char);\n return (pad + num).slice(-pad.length);\n}\nconst fileStartTime = [\n paddy(startTime.getFullYear(), 4),\n paddy(startTime.getMonth() + 1, 2),\n paddy(startTime.getDate(), 2),\n '.',\n paddy(startTime.getHours(), 2),\n paddy(startTime.getMinutes(), 2),\n '+0000'\n].join('');\nconst fileEndTime = [\n paddy(endTime.getHours(), 2),\n paddy(endTime.getMinutes(), 2),\n '+0000'\n].join('');\nconst fileLocation = ['/pm-data-files/A', fileStartTime, '-', fileEndTime, '_', env.get('APP_NETWORK_FUNCTION_ID'), '.xml'].join('');\nmsg.payload = {\n schemaReference: 'https://forge.3gpp.org/rep/sa5/MnS/raw/Rel-18/OpenAPI/TS28532_FileDataReportingMnS.yaml#components/schemas/NotifyFilePreparationError',\n stndDefinedFieldsVersion: '1.0',\n data: {\n href: global.get('os').hostname(),\n notificationId: Number(startTime),\n notificationType: msg.topic,\n eventTime: timeStamp.toISOString(),\n systemDN: '/',\n fileInfoList: [\n {\n fileLocation: fileLocation,\n fileSize: 1234,\n fileReadyTime: startTime.toISOString(),\n fileExpirationTime: endTime.toISOString(),\n fileCompression: 'no',\n fileFormat: 'xml',\n fileDataType: 'Performance'\n }\n ],\n reason: 'No Measurements',\n additionalText: 'Please consult customer documentation!'\n }\n};\nmsg.topic = 'stndDefinedFields';\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 470, + "y": 540, + "wires": [ + [ + "f65b1c13e0243ef6" + ] + ] + }, + { + "id": "910dfec7eb74df65", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "pnfRegistration", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "pnfRegistration", + "payload": "", + "payloadType": "date", + "x": 240, + "y": 80, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "562063a080cb99d6", + "type": "debug", + "z": "c5746e29f53f72ce", + "name": "eventData", + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "payload", + "targetType": "msg", + "statusVal": "", + "statusType": "auto", + "x": 1150, + "y": 220, + "wires": [] + }, + { + "id": "172060688d87f510", + "type": "inject", + "z": "c5746e29f53f72ce", + "d": true, + "name": "notifyHeartbeat", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "5", + "crontab": "", + "once": true, + "onceDelay": 0.1, + "topic": "notifyHeartbeat", + "payload": "", + "payloadType": "date", + "x": 230, + "y": 320, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "311c3b5d3d73fc24", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyFileReady", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyFileReady", + "payload": "", + "payloadType": "date", + "x": 240, + "y": 400, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "5437e3fdfca300c9", + "type": "http request", + "z": "c5746e29f53f72ce", + "name": "", + "method": "GET", + "ret": "txt", + "paytoqs": "ignore", + "url": "", + "tls": "7b2f4859e5963695", + "persist": true, + "proxy": "", + "insecureHTTPParser": true, + "authType": "", + "senderr": false, + "headers": [], + "x": 670, + "y": 220, + "wires": [ + [ + "dc576b6355478428" + ] + ] + }, + { + "id": "dc576b6355478428", + "type": "function", + "z": "c5746e29f53f72ce", + "name": "JSON", + "func": "const string = msg.payload;\nconst array = JSON.parse(string);\nif (Array.isArray(array)) {\n msg.payload = array.map( (item) => {\n if (typeof item === 'string' || item instanceof String) {\n return JSON.parse(item);\n }\n });\n} else {\n msg.payload = array;\n}\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 830, + "y": 220, + "wires": [ + [ + "2a2e05d79287f4a0" + ] + ] + }, + { + "id": "e5f66f4bd6777ca0", + "type": "function", + "z": "c5746e29f53f72ce", + "name": "SET msg.url", + "func": "const base = 'https://messages.smo.o-ran-sc.org';\nconst path = 'events';\nconst urlMapping = {\n pnfRegistration: 'unauthenticated.VES_PNFREG_OUTPUT',\n o1NotifyPnfRegistration: 'unauthenticated.VES_O1_NOTIFY_PNF_REGISTRATION_OUTPUT',\n oRanScDuHelloWorldPmStreaming: 'unauthenticated.VES_O_RAN_SC_HELLO_WORLD_PM_STREAMING_OUTPUT',\n notifyHeartbeat: 'unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT',\n notifyFileReady: 'unauthenticated.VES_FILE_READY_OUTPUT',\n notifyFilePreparationError: 'unauthenticated.VES_FILE_READY_OUTPUT',\n oRanOpenfrontManagementPlane: 'unauthenticated.VES_O_RAN_SC_OPENFRONTHAUL_OUTPUT',\n notifyNewAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyChangedAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyChangedAlarmGeneral: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyAckStateChanged: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyCorrelatedNotificationChanged: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyComments: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyClearedAlarm: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyAlarmListRebuilt: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT',\n notifyPotentialFaultyAlarmList: 'unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT'\n};\nconst longPolling = '?timeout=60000'\nconst urlTopic = urlMapping[msg.topic] || msg.topic.replace(':', '-');\nmsg.url = [base, path, urlTopic, '1', '1'].join('/') + longPolling;\nreturn msg;", + "outputs": 1, + "noerr": 0, + "initialize": "", + "finalize": "", + "libs": [], + "x": 490, + "y": 220, + "wires": [ + [ + "5437e3fdfca300c9" + ] + ] + }, + { + "id": "42275e9c12f8e52b", + "type": "comment", + "z": "c5746e29f53f72ce", + "name": "from O-RAN-SC", + "info": "", + "x": 100, + "y": 140, + "wires": [] + }, + { + "id": "e07fa97ebc66dce0", + "type": "comment", + "z": "c5746e29f53f72ce", + "name": "from ONAP", + "info": "", + "x": 90, + "y": 40, + "wires": [] + }, + { + "id": "44b8c2cc138777f1", + "type": "comment", + "z": "c5746e29f53f72ce", + "name": "from SA5 R-18 branch", + "info": "", + "x": 120, + "y": 280, + "wires": [] + }, + { + "id": "4480e5473a65a757", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "oRanScDuHelloWorldPmStreaming", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "oRanScDuHelloWorldPmStreaming", + "payload": "", + "payloadType": "date", + "x": 180, + "y": 220, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "52f22ee054e5b4ac", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "o1NotifyPnfRegistration", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "o1NotifyPnfRegistration", + "payload": "", + "payloadType": "date", + "x": 220, + "y": 180, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "3051f52553efaaa4", + "type": "http request", + "z": "c5746e29f53f72ce", + "name": "", + "method": "GET", + "ret": "txt", + "paytoqs": "ignore", + "url": "https://messages.smo.o-ran-sc.org/topics", + "tls": "7b2f4859e5963695", + "persist": true, + "proxy": "", + "insecureHTTPParser": true, + "authType": "", + "senderr": false, + "headers": [ + { + "keyType": "other", + "keyValue": "Accept", + "valueType": "other", + "valueValue": "application/json" + } + ], + "x": 670, + "y": 180, + "wires": [ + [ + "dc576b6355478428" + ] + ] + }, + { + "id": "0acceacb99b7981a", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "Topics?", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "topics", + "payload": "", + "payloadType": "date", + "x": 510, + "y": 180, + "wires": [ + [ + "3051f52553efaaa4" + ] + ] + }, + { + "id": "34b7ac222692e06d", + "type": "comment", + "z": "c5746e29f53f72ce", + "name": "from OpenFronthaul Management-Plane", + "info": "", + "x": 580, + "y": 280, + "wires": [] + }, + { + "id": "25a3eca83bbc3489", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "o-ran-supervision:supervision-notification", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "60", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "o-ran-supervision:supervision-notification", + "payload": "", + "payloadType": "date", + "x": 620, + "y": 1040, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "0194d014ef8f6c5e", + "type": "inject", + "z": "c5746e29f53f72ce", "name": "o-ran-file-management:file-upload-notification", "props": [ { @@ -2485,7 +2799,288 @@ "payload": "", "payloadType": "date", "x": 240, - "y": 400, + "y": 520, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "c4337f08252203ec", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyChangedAlarm", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyChangedAlarm", + "payload": "", + "payloadType": "date", + "x": 230, + "y": 560, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "62048992a866405d", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyChangedAlarmGeneral", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyChangedAlarmGeneral", + "payload": "", + "payloadType": "date", + "x": 200, + "y": 600, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "353e0a6e1e693ae5", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyAckStateChanged", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyAckStateChanged", + "payload": "", + "payloadType": "date", + "x": 220, + "y": 640, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "3879e3d1320f1459", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyCorrelatedNotificationChanged", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyCorrelatedNotificationChanged", + "payload": "", + "payloadType": "date", + "x": 180, + "y": 680, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "ea314b13220c8f40", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyComments", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyComments", + "payload": "", + "payloadType": "date", + "x": 240, + "y": 720, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "407c7befca74d24b", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyClearedAlarm", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyClearedAlarm", + "payload": "", + "payloadType": "date", + "x": 230, + "y": 760, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "c054dd03a80a4e48", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyAlarmListRebuilt", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyAlarmListRebuilt", + "payload": "", + "payloadType": "date", + "x": 220, + "y": 800, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "5c8b20a14ea5863a", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyPotentialFaultyAlarmList", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyPotentialFaultyAlarmList", + "payload": "", + "payloadType": "date", + "x": 200, + "y": 840, + "wires": [ + [ + "e5f66f4bd6777ca0" + ] + ] + }, + { + "id": "f5d7d173f1ac5213", + "type": "comment", + "z": "c5746e29f53f72ce", + "name": "TS28532_FaultMnS.yaml", + "info": "", + "x": 130, + "y": 480, + "wires": [] + }, + { + "id": "c6687553f38611cd", + "type": "comment", + "z": "c5746e29f53f72ce", + "name": "TS28532_FileDataReportingMnS.yaml", + "info": "", + "x": 170, + "y": 360, + "wires": [] + }, + { + "id": "64720217524b2f2c", + "type": "inject", + "z": "c5746e29f53f72ce", + "name": "notifyFilePreparationError", + "props": [ + { + "p": "payload" + }, + { + "p": "topic", + "vt": "str" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "notifyFilePreparationError", + "payload": "", + "payloadType": "date", + "x": 210, + "y": 440, "wires": [ [ "e5f66f4bd6777ca0" -- 2.16.6