summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandeep Shah <sandeeplinux1068@gmail.com>2021-02-25 22:55:42 -0600
committerSandeep Shah <sandeep.shah@ibm.com>2021-03-01 14:07:22 +0000
commit19b4c5f779708ee06a2fe46dc998dbb39a9b2e76 (patch)
tree7e57911ac5e6b90550ecfd210f294e3d0241b7a7
parent17c06a988af5329b1a400436243523890bef0a5a (diff)
Intelligent slicing updates RANSlice feature
Includes code commit to support intelligent and closed loop RAN slicing for RANSlice feature. ALso includes bug fixes Issue-ID: CCSDK-3177 Signed-off-by: SandeepLinux <Sandeep.Shah@ibm.com> Change-Id: I9c404f11f879c4aa8857fee4e626b16579a1785b
-rw-r--r--odlsli/src/main/properties/ran-slice-api-dg.properties8
-rw-r--r--platform-logic/ran-slice-api/src/main/json/ran-slice-api_instantiateRANSliceReconfigure.json1829
-rw-r--r--platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml399
-rw-r--r--platform-logic/restapi-templates/src/main/json/ranSlice-closed-loop-nearRTRIC-patch.json23
-rw-r--r--platform-logic/restapi-templates/src/main/json/ranSlice-configDB-updatenearRTRIC.json3
-rw-r--r--platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-NRCellCU-configData.json18
-rw-r--r--platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-nSSAIEntry-NRCellCU.json2
7 files changed, 2277 insertions, 5 deletions
diff --git a/odlsli/src/main/properties/ran-slice-api-dg.properties b/odlsli/src/main/properties/ran-slice-api-dg.properties
index 3834b0a7..23c69495 100644
--- a/odlsli/src/main/properties/ran-slice-api-dg.properties
+++ b/odlsli/src/main/properties/ran-slice-api-dg.properties
@@ -45,6 +45,8 @@ restapi.ranSlice.configDB.updateRANSliceInventory.template=ranSlice-configDB-upd
# Restconf URLs without Netconf Mount of Ran Simulator TO BE FINALIZED
restapi.config=/restconf/config
+
+# Also to be used for closed loop slicing
restapi.addSliceProfile.ToNearRTRIC=/restconf/config/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/attributes/sliceProfilesList/{sliceProfileId}
restapi.addRRMPolicyRatio.ToNearRTRIC=/restconf/config/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/attributes/RRMPolicyRatio/{id}
restapi.addRRMPolicyRatio.ToNRCellDU=/restconf/config/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/GNBDUFunction/{idGNBDUFunction}/NRCellDU/{idNRCellDU}/attributes/RRMPolicyRatio/{id}
@@ -62,7 +64,6 @@ restapi.getPLMNInfoListEntry.ToNRCellCU=/restconf/config/ran-network:ran-network
# Use also for Intelligent Slicing
restapi.addnSSAIEntry.ToNRCellCU=/restconf/config/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/GNBCUCPFunction/{idGNBCUCPFunction}/NRCellCU/{idNRCellCU}/attributes/pLMNInfoList/{mcc}/{mnc}/sNSSAIList/{sNssai}
-
#Patch APIs
restapi.patchPLMNInfoListEntry.ToNRCellCU=/restconf/config/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/GNBCUCPFunction/{idGNBCUCPFunction}/NRCellCU/{idNRCellCU}/attributes/pLMNInfoList/{mcc}/{mnc}
restapi.RRMPolicyRatioEntry.ToNRCellCU=restconf/config/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/GNBCUCPFunction/{idGNBCUCPFunction}/NRCellCU/{idNRCellCU}/attributes/
@@ -74,6 +75,7 @@ restapi.RRMPolicyRatioEntry.ToGNBDU=/restconf/config/ran-network:ran-network/Nea
# Restconf URLs with Netconf Mount of Ran Simulator TO BE FINALIZED
+# Also to be used for closed loop slicing
restapi.addSliceProfile.ToNearRTRIC.ransim-mounted=/restconf/config/network-topology:network-topology/topology/topology-netconf/node/{mountName}/yang-ext:mount/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/attributes/sliceProfilesList/{sliceProfileId}
restapi.addRRMPolicyRatio.ToNearRTRIC.ransim-mounted=/restconf/config/network-topology:network-topology/topology/topology-netconf/node/{mountName}/yang-ext:mount/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/attributes/RRMPolicyRatio/{id}
restapi.addRRMPolicyRatio.ToNRCellDU.ransim-mounted=/restconf/config/network-topology:network-topology/topology/topology-netconf/node/{mountName}/yang-ext:mount/ran-network:ran-network/NearRTRIC/{idNearRTRIC}/GNBDUFunction/{idGNBDUFunction}/NRCellDU/{idNRCellDU}/attributes/RRMPolicyRatio/{id}
@@ -103,6 +105,7 @@ restapi.configdb.updatenearRTRIC=/nearRTRIC
restapi.configdb.updategNBCUCP=/gNBCUCP
restapi.configdb.updategNBCUUP=/gNBCUUP
restapi.configdb.updategNBDU=/gNBDU
+restapi.configdb.getplmn=/plmn/{sliceProfileId}
restapi.configdb.getNearRTRICByNSSI=/nearrtric/{ranNFNSSIId}
@@ -116,6 +119,7 @@ restapi.configDB.updategNBCUCP.templatefile=ranSlice-configDB-updategNBCUCP.json
restapi.configDB.updategNBCUUP.templatefile=ranSlice-configDB-updategNBCUUP.json
restapi.configDB.updategNBDU.templatefile=ranSlice-configDB-updategNBDU.json
+
#ConfigDB Related Properties
#RRMPolicyID to be incremented by 1, anytime neew RRMPolicy is added
configDB.rrmPolicyID=1
@@ -135,4 +139,4 @@ cuupfunction.maxNumberOfDRBsPerCUUP=10240
restapi.so.callbackURL=http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/AsyncSdnrResponse/{requestId}
restapi.so.authorization=YXBpaEJwbW46cGFzc3dvcmQxJA==
restapi.so.user=mso_admin
-restapi.so.password=password1
+restapi.so.password=password1$
diff --git a/platform-logic/ran-slice-api/src/main/json/ran-slice-api_instantiateRANSliceReconfigure.json b/platform-logic/ran-slice-api/src/main/json/ran-slice-api_instantiateRANSliceReconfigure.json
new file mode 100644
index 00000000..b912888a
--- /dev/null
+++ b/platform-logic/ran-slice-api/src/main/json/ran-slice-api_instantiateRANSliceReconfigure.json
@@ -0,0 +1,1829 @@
+[
+ {
+ "id": "e99c530d.42d09",
+ "type": "method",
+ "name": "method",
+ "xml": "<method rpc='instantiateRANSliceReconfigure' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 471,
+ "y": 122,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "7f912f74.435ac"
+ ]
+ ]
+ },
+ {
+ "id": "240143f4.7dc87c",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 94.99999618530273,
+ "y": 26.999972343444824,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "81bf4298.c2aa"
+ ]
+ ]
+ },
+ {
+ "id": "81bf4298.c2aa",
+ "type": "service-logic",
+ "name": "ran-slice-api ${project.version}",
+ "module": "ran-slice-api",
+ "version": "${project.version}",
+ "comments": "",
+ "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='ran-slice-api' version='${project.version}'>",
+ "outputs": 1,
+ "x": 227.99996948242188,
+ "y": 124.00005340576172,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "e99c530d.42d09"
+ ]
+ ]
+ },
+ {
+ "id": "f0380eab.1c826",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n<parameter name=\"ack-final\" value=\"N\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"SUCCESSFUL Execution\" />",
+ "comments": "",
+ "x": 156.4896240234375,
+ "y": 1065.0002908706665,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "adb1efb8.bf84f",
+ "type": "comment",
+ "name": "instantiateRANSliceReconfigure",
+ "info": "",
+ "comments": "",
+ "x": 440,
+ "y": 64.01037216186523,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "7f912f74.435ac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 105.99996948242188,
+ "y": 244.0103759765625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "f0380eab.1c826",
+ "793118e4.594688",
+ "a665b1dd.7c4a8"
+ ]
+ ]
+ },
+ {
+ "id": "e695acbf.24771",
+ "type": "execute",
+ "name": "add RRM Policy ToNRCellDU using PUT",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/ranSlice-add-RRMPolicyRatio-NRCellDU.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.addRRMPolicyRatio.ToNRCellDU.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PUT\"/>\n<parameter name=\"responsePrefix\" value=\"addRRMPolicyRatio-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3986.989906311035,
+ "y": 7549.020859479904,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "a7ed7c1f.a934d"
+ ]
+ ]
+ },
+ {
+ "id": "a7ed7c1f.a934d",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4323.989784240723,
+ "y": 7575.010361433029,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "58cfa379.7632cc"
+ ]
+ ]
+ },
+ {
+ "id": "58cfa379.7632cc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 4503.989540100098,
+ "y": 7572.010361433029,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "9afe4ed.325c8b"
+ ]
+ ]
+ },
+ {
+ "id": "9afe4ed.325c8b",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/instantiateRANSlice.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"addRRMPolicyRatio to NRCELLDU Executed Successfully \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 4652.989841461182,
+ "y": 7598.010554075241,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "61d67eb.92f6a8",
+ "type": "block",
+ "name": "SO Response",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 77,
+ "y": 1379.0146417617798,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "ac64d48b.e2b788",
+ "4f35f61a.8f5fd8"
+ ]
+ ]
+ },
+ {
+ "id": "efbe49ba.580908",
+ "type": "set",
+ "name": "set tmp variables for SO response",
+ "xml": "<set>\n<parameter name=\"tmp.status\" value=\"`$error-code`\"/>\n<parameter name=\"tmp.reason\" value=\"`$error-message`\"/>\n<parameter name=\"tmp.requestID\" value=\"`$instantiate-r-a-n-slice-input.common-header.request-id `\"/>\n<parameter name=\"tmp.action\" value=\"`$instantiate-r-a-n-slice-input.action`\"/>\n\n\npayloadJson.input.callbackURL\n\n<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.so.callbackURL`\"/>\n <parameter name=\"outputPath\" value=\"tmp.so.callbackURL\"/>\n <parameter name=\"target\" value=\"{requestId}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.requestID`\"/>",
+ "comments": "",
+ "x": 357.0011444091797,
+ "y": 1228.9141263961792,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "ac64d48b.e2b788",
+ "type": "record",
+ "name": "record SO reply parms",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/so-callback-response.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"URL for SO Callback Response\"/>\n<parameter name='field2' value=\"`$payloadJson.input.callbackURL`\" />\n<parameter name='field3' value=\"`$tmp.status`\" />\n<parameter name='field4' value=\"`$tmp.reason`\" />\n<parameter name='field5' value=\"`$tmp.requestID`\" />\n<parameter name='field6' value=\"`$tmp.action`\" />\n<parameter name='field7' value=\"`$tmp.CUCPList`\" />\n<parameter name='field8' value=\"`$tmp.CUUPList`\" />\n<parameter name='field9' value=\"`$tmp.DUList`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 353.9999771118164,
+ "y": 1383.0148248672485,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4f35f61a.8f5fd8",
+ "type": "execute",
+ "name": "Send to SO",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/ranSlice-so-response.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$payloadJson.input.callbackURL`\"/>\n<parameter name=\"httpMethod\" value=\"POST\"/>\n<parameter name=\"responsePrefix\" value=\"so-callback-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />\n<parameter name='accept' value='application/json' />\n<parameter name='customHttpHeaders' value=\"`'Authorization=Basic ' + $prop.restapi.so.authorization `\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 223.0000762939453,
+ "y": 1500.0145292282104,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "5f5b2378.b5857c",
+ "f6ad53cd.906fc"
+ ]
+ ]
+ },
+ {
+ "id": "5f5b2378.b5857c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 388.0000762939453,
+ "y": 1480.0145282745361,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "a2e177e6.fbe018"
+ ]
+ ]
+ },
+ {
+ "id": "f6ad53cd.906fc",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 379.9999694824219,
+ "y": 1553.0144786834717,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "a7036c1e.438d6"
+ ]
+ ]
+ },
+ {
+ "id": "a7036c1e.438d6",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 525.999813079834,
+ "y": 1558.0145874023438,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "6edb045c.0db0ec"
+ ]
+ ]
+ },
+ {
+ "id": "a2e177e6.fbe018",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 536.9999771118164,
+ "y": 1476.014663696289,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "e18417c8.ea99b8",
+ "297ee472.ebd60c"
+ ]
+ ]
+ },
+ {
+ "id": "e18417c8.ea99b8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error sending SO Response\" />",
+ "comments": "",
+ "x": 683.9995956420898,
+ "y": 1487.0144052505493,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "6edb045c.0db0ec",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/instantiateRANSlice.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"SO Response Sent \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 686.9997329711914,
+ "y": 1564.014479637146,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a647b652.8b7d28",
+ "type": "block",
+ "name": "block : SO Response",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2918.4910202026367,
+ "y": 669.0105400085449,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "892f9c83.dd663",
+ "e8bbb78f.be59d8",
+ "69f75211.5c9c7c"
+ ]
+ ]
+ },
+ {
+ "id": "892f9c83.dd663",
+ "type": "set",
+ "name": "set tmp variables for SO response",
+ "xml": "<set>\n<parameter name=\"tmp.so.callbackURL\" value=\"`$payloadJson.input.callbackURL`\"/>\n<parameter name=\"tmp.status\" value=\"`$error-code`\"/>\n<parameter name=\"tmp.reason\" value=\"`$error-message`\"/>\n<parameter name=\"tmp.requestID\" value=\"`$instantiateRANSlice-input.common-header.request-id`\"/>\n<parameter name=\"tmp.action\" value=\"`$instantiateRANSlice-input.action`\"/>\n",
+ "comments": "",
+ "x": 3236.4919967651367,
+ "y": 592.9101982116699,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "e8bbb78f.be59d8",
+ "type": "record",
+ "name": "record configdb RestAPI parms",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/so-callback-response.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"URL for SO Callback Response\"/>\n<parameter name='field2' value=\"`$tmp.so.callbackURL`\" />\n<parameter name='field3' value=\"`$tmp.status`\" />\n<parameter name='field4' value=\"`$tmp.reason`\" />\n<parameter name='field5' value=\"`$tmp.requestID`\" />\n<parameter name='field6' value=\"`$tmp.action`\" />\n<parameter name='field7' value=\"`$tmp.CUCPList`\" />\n<parameter name='field8' value=\"`$tmp.CUUPList`\" />\n<parameter name='field9' value=\"`$tmp.DUList`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3211.490882873535,
+ "y": 690.0108757019043,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "69f75211.5c9c7c",
+ "type": "execute",
+ "name": "Send to SO",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/ranSlice-so-response.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$tmp.so.callbackURL`\"/>\n<parameter name=\"httpMethod\" value=\"POST\"/>\n<parameter name=\"responsePrefix\" value=\"so-callback-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />\n<parameter name='accept' value='application/json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3126.490894317627,
+ "y": 787.0107536315918,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "ca7f4496.9d4418",
+ "a43a44c0.cbbba8"
+ ]
+ ]
+ },
+ {
+ "id": "ca7f4496.9d4418",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3352.490902900696,
+ "y": 764.0107226371765,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "d6b47163.162ab"
+ ]
+ ]
+ },
+ {
+ "id": "a43a44c0.cbbba8",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3342.4907569885254,
+ "y": 872.0106620788574,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "c3f869e7.8e5358"
+ ]
+ ]
+ },
+ {
+ "id": "c3f869e7.8e5358",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3492.4905433654785,
+ "y": 891.0107231140137,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "ed00e595.6aa8b8"
+ ]
+ ]
+ },
+ {
+ "id": "d6b47163.162ab",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3503.4907722473145,
+ "y": 759.010844707489,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "f11f53c8.b5646"
+ ]
+ ]
+ },
+ {
+ "id": "f11f53c8.b5646",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error sending SO Response\" />",
+ "comments": "",
+ "x": 3669.490451812744,
+ "y": 762.0106620788574,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "ed00e595.6aa8b8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/instantiateRANSlice.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"SO Response Sent \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 3656.4905586242676,
+ "y": 897.0106620788574,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "297ee472.ebd60c",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>",
+ "comments": "",
+ "x": 671.5102043151855,
+ "y": 1391.0038967132568,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "3c3ebb26.8e55f4",
+ "type": "execute",
+ "name": "generate URL for SO Callback",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.so.callbackURL`\"/>\n <parameter name=\"outputPath\" value=\"tmp.so.callbackURL\"/>\n <parameter name=\"target\" value=\"{requestId}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.requestID`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 376.339599609375,
+ "y": 1318.999979019165,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d013a0ad.59f5a",
+ "type": "failure",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 663.0002326965332,
+ "y": 182.00006008148193,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "b84e0bf1.d42c68"
+ ]
+ ]
+ },
+ {
+ "id": "793118e4.594688",
+ "type": "execute",
+ "name": "payload has dLThptPerSlice",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />\n <parameter name='target' value='dLThptPerSlice' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 423.0000991821289,
+ "y": 460.0000252723694,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "d013a0ad.59f5a",
+ "c49980db.b23eb"
+ ]
+ ]
+ },
+ {
+ "id": "c49980db.b23eb",
+ "type": "failure",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 462.5066261291504,
+ "y": 627.0001888275146,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "2115b41e.70357c"
+ ]
+ ]
+ },
+ {
+ "id": "84119673.ee8fb8",
+ "type": "failure",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 689.0003509521484,
+ "y": 617.0000991821289,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "b38f45cb.4f45f8"
+ ]
+ ]
+ },
+ {
+ "id": "b84e0bf1.d42c68",
+ "type": "block",
+ "name": "Closed Loop",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 725.0002288818359,
+ "y": 43.00003004074097,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "9cec5043.bb069",
+ "47d004f2.966b1c"
+ ]
+ ]
+ },
+ {
+ "id": "b38f45cb.4f45f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 859.0001754760742,
+ "y": 652.0002250671387,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "2a6d0d2f.ff0242",
+ "cab9c657.d281f8"
+ ]
+ ]
+ },
+ {
+ "id": "2115b41e.70357c",
+ "type": "execute",
+ "name": "Intelligent Slicing",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />\n <parameter name='target' value='maxNumberofConns' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 672.0004501342773,
+ "y": 523.0002015829086,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "84119673.ee8fb8"
+ ]
+ ]
+ },
+ {
+ "id": "9cec5043.bb069",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/closedLoop.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"PAYLOAD contains dLThptPerSlice...Closed loop \"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 931.0000152587891,
+ "y": 28.000025749206543,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2a6d0d2f.ff0242",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"PAYLOAD contains maxNumberofConns...Inntelligent Slicing \"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1022.0003967285156,
+ "y": 555.000096321106,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a665b1dd.7c4a8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/instantiateRANSlice.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Reached instantiateRANSliceReconfigure \"/>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 496,
+ "y": 195,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "47d004f2.966b1c",
+ "type": "block",
+ "name": "NearRTRIC",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 829.0105514526367,
+ "y": 157.01043796539307,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "1e8c37a3.3ea5f8",
+ "ecdd6e7a.a3b07"
+ ]
+ ]
+ },
+ {
+ "id": "cab9c657.d281f8",
+ "type": "block",
+ "name": "CUCP",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 989.0106010437012,
+ "y": 726.0105075836182,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "c6a19347.2b6d3",
+ "bda32c0c.157bc"
+ ]
+ ]
+ },
+ {
+ "id": "80dca757.3d7888",
+ "type": "execute",
+ "name": "Update slice profile for nearRTRIC",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PATCH\"/>\n<parameter name=\"responsePrefix\" value=\"nearRTRIC-slice-patch-response\"/>\n<parameter name='contentType' value='application/yang.patch+json' /> \n<parameter name='format' value='json' />\n<parameter name='accept' value='application/yang.patch-status+json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1396.899549484253,
+ "y": 527.0104651451111,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "d056d9a6.210e98",
+ "d681f50c.40c518"
+ ]
+ ]
+ },
+ {
+ "id": "d056d9a6.210e98",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1731.899917602539,
+ "y": 467.999960899353,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "ce92bd90.bc92"
+ ]
+ ]
+ },
+ {
+ "id": "d681f50c.40c518",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1713.89986038208,
+ "y": 588.999906539917,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "b59b4b5b.5a84a8"
+ ]
+ ]
+ },
+ {
+ "id": "ce92bd90.bc92",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1895.8998413085938,
+ "y": 474.9999952316284,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "cb12ec10.32ff9",
+ "140f08cf.2b7e77"
+ ]
+ ]
+ },
+ {
+ "id": "b59b4b5b.5a84a8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1874.8995971679688,
+ "y": 594.9999809265137,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "754fb755.2f2878",
+ "1b33caf5.cb57d5"
+ ]
+ ]
+ },
+ {
+ "id": "51db6fd3.d0466",
+ "type": "block",
+ "name": "Update SiceProfile for NeaeRTRIC",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 997.0000915527344,
+ "y": 324.7447757720947,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "c10c5964.2dfde8",
+ "b5b4dd99.1cbff",
+ "bcb86f4a.40d8f",
+ "80dca757.3d7888"
+ ]
+ ]
+ },
+ {
+ "id": "bcb86f4a.40d8f",
+ "type": "switchNode",
+ "name": "ransim mounted",
+ "xml": "<switch test='`$prop.ransim-mounted`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1349.000394821167,
+ "y": 215.4010200202465,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "bc92e2a4.26966",
+ "c54f398b.061978"
+ ]
+ ]
+ },
+ {
+ "id": "bc92e2a4.26966",
+ "type": "outcome",
+ "name": "Not Mounted",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1512.0003185272217,
+ "y": 147.40080973505974,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "473d47d7.f7ecf8"
+ ]
+ ]
+ },
+ {
+ "id": "c54f398b.061978",
+ "type": "outcome",
+ "name": "Mounted",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1530.0003471374512,
+ "y": 296.40090176463127,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "54202b85.fe4264"
+ ]
+ ]
+ },
+ {
+ "id": "b5b4dd99.1cbff",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/closedLoop.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Patch SliceProfile ToNearRTRIC url for closed loop:\"/>\n<parameter name=\"field2\" value=\"`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1340.0006141662598,
+ "y": 327.74496269226074,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c10c5964.2dfde8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/closedLoop.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop\"/>\n<parameter name=\"field2\" value=\"`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`\"/>\n<parameter name=\"field3\" value=\"`$tmp.dLThptPerSlice`\"/>\n<parameter name=\"field4\" value=\"`$tmp.uLThptPerSlice`\"/>\n<parameter name=\"field5\" value=\"`$tmp.nearRTRICId`\"/>\n<parameter name=\"field6\" value=\"`$tmp.sliceProfileId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1353.0012130737305,
+ "y": 402.73432540893555,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "eaa52f3c.507e2",
+ "type": "execute",
+ "name": "Populate MOUNT NAME",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addSliceProfile.ToNearRTRIC.url\"/>\n <parameter name=\"target\" value=\"{mountName}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.nearRTRICId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1976.5353240966797,
+ "y": 368.0000309944153,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7c2c7eaf.8e0db",
+ "type": "execute",
+ "name": "Populate addSliceProfile.ToNearRTRIC URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addSliceProfile.ToNearRTRIC.url\"/>\n <parameter name=\"target\" value=\"{sliceProfileId}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.sliceProfileId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2034.0698852539062,
+ "y": 303.5990204811096,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "54202b85.fe4264",
+ "type": "block",
+ "name": "ransim URL",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1739.9899673461914,
+ "y": 342.40089532732964,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "b692647.bf65c98",
+ "7c2c7eaf.8e0db",
+ "eaa52f3c.507e2"
+ ]
+ ]
+ },
+ {
+ "id": "b692647.bf65c98",
+ "type": "execute",
+ "name": "generate addSliceProfile.ToNearRTRIC URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addSliceProfile.ToNearRTRIC.url\"/>\n <parameter name=\"target\" value=\"{idNearRTRIC}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.nearRTRICId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2005.5348358154297,
+ "y": 238.00023317337036,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aa9909eb.f5be08",
+ "type": "execute",
+ "name": "Populate addSliceProfile.ToNearRTRIC URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addSliceProfile.ToNearRTRIC.url\"/>\n <parameter name=\"target\" value=\"{sliceProfileId}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.sliceProfileId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1961.5350341796875,
+ "y": 160.00012588500977,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "63b8d50.91a8d2c",
+ "type": "execute",
+ "name": "generate addSliceProfile.ToNearRTRIC URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.addSliceProfile.ToNearRTRIC`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addSliceProfile.ToNearRTRIC.url\"/>\n <parameter name=\"target\" value=\"{idNearRTRIC}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.nearRTRICId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1969.0003662109375,
+ "y": 81.4011402130127,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "473d47d7.f7ecf8",
+ "type": "block",
+ "name": "URL",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1671.2018432617188,
+ "y": 154.00000473856926,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "63b8d50.91a8d2c",
+ "aa9909eb.f5be08"
+ ]
+ ]
+ },
+ {
+ "id": "ecdd6e7a.a3b07",
+ "type": "set",
+ "name": "set Temp Variables",
+ "xml": "<set>\n<parameter name='tmp.payload.numberUpdates' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>\n<parameter name=\"tmp.sliceProfileId\" value=\"`$payloadJson.input.sliceProfile.sliceProfileId`\"/>",
+ "comments": "",
+ "x": 993.0039825439453,
+ "y": 101.00392055511475,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "1e8c37a3.3ea5f8",
+ "type": "for",
+ "name": "For Number of patches",
+ "xml": "<for index='id1' start='0' end=\"`$tmp.payload.numberUpdates`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 974.0039215087891,
+ "y": 224.00392055511475,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "51db6fd3.d0466",
+ "afa56697.aa28c8"
+ ]
+ ]
+ },
+ {
+ "id": "afa56697.aa28c8",
+ "type": "set",
+ "name": "set Temp Variables",
+ "xml": "<set>\n<parameter name=\"tmp.dLThptPerSlice\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`\"/>\n<parameter name=\"tmp.uLThptPerSlice\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`\"/>\n<parameter name=\"tmp.nearRTRICId\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`\"/>",
+ "comments": "",
+ "x": 1172.4549827575684,
+ "y": 145.01043224334717,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "cb12ec10.32ff9",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>",
+ "comments": "",
+ "x": 2118.4548110961914,
+ "y": 442.0104169845581,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "140f08cf.2b7e77",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>",
+ "comments": "",
+ "x": 2070.4547538757324,
+ "y": 514.8993988037109,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "754fb755.2f2878",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/closedLoop.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Successfully PATCHED NearRTRIC for close loop operation\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2048.4545936584473,
+ "y": 581.8993873596191,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1b33caf5.cb57d5",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' />\n\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2016.2330627441406,
+ "y": 676.8993625640869,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c6a19347.2b6d3",
+ "type": "set",
+ "name": "set Temp Variables",
+ "xml": "<set>\n<parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data_length`'/>\n<parameter name=\"tmp.sNssai\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.snssai`\"/>\n<parameter name=\"tmp.sliceProfileId\" value=\"`$payloadJson.input.sliceProfile.sliceProfileId`\"/>",
+ "comments": "",
+ "x": 1186.1217880249023,
+ "y": 634.8993759155273,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "bda32c0c.157bc",
+ "type": "for",
+ "name": "For Number of data Points",
+ "xml": "<for index='id1' start='0' end=\"`$tmp.payload.dataPoints`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1166.1216125488281,
+ "y": 821.8993816375732,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "a730d7b8.bd79d8"
+ ]
+ ]
+ },
+ {
+ "id": "a730d7b8.bd79d8",
+ "type": "block",
+ "name": "Update cellCUList",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1379.010368347168,
+ "y": 731.7882504463196,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "690582e7.c3e2dc",
+ "8a6e7489.2c1f28"
+ ]
+ ]
+ },
+ {
+ "id": "690582e7.c3e2dc",
+ "type": "set",
+ "name": "set Temp Variables",
+ "xml": "<set>\n<parameter name=\"tmp.cellCUListNumbers\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList_length`\"/>\n<parameter name=\"tmp.gNBCUName\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].gNBCUName`\"/>\n<parameter name=\"tmp.nearRTRICId\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].nearRTRICId`\"/>",
+ "comments": "",
+ "x": 1619.0103778839111,
+ "y": 691.8992624282837,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "8a6e7489.2c1f28",
+ "type": "for",
+ "name": "For Number of cellCU",
+ "xml": "<for index='id2' start='0' end=\"`$tmp.cellCUListNumbers`\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1502.010368347168,
+ "y": 891.6770648956299,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "3e0405bb.a1007a",
+ "a94a1460.e7b2e8",
+ "f633b1d.30efa5",
+ "3a74dc74.de09e4",
+ "2124685a.f8bb68",
+ "e67ca02.2bda56"
+ ]
+ ]
+ },
+ {
+ "id": "3e0405bb.a1007a",
+ "type": "set",
+ "name": "set Temp Variables",
+ "xml": "<set>\n<parameter name=\"tmp.maxNumberofConns\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.maxNumberofConns`\"/>\n<parameter name=\"tmp.cellLocalId\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].cellLocalId`\"/>\n<parameter name=\"tmp.lastUpdatedTS\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.lastUpdatedTS`\"/>\n<parameter name=\"tmp.predictedMaxNumberofConns\" value=\"`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.predictedMaxNumberofConns`\"/>",
+ "comments": "",
+ "x": 1799.010383605957,
+ "y": 771.5659694671631,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "3e852d16.9f8702",
+ "type": "outcome",
+ "name": "Not Mounted",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1933.010498046875,
+ "y": 848.1215209960938,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "14769b6f.f718a5"
+ ]
+ ]
+ },
+ {
+ "id": "88dfb111.34543",
+ "type": "outcome",
+ "name": "Mounted",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1977.010404586792,
+ "y": 997.1216130256653,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "783ca4a.8861e5c"
+ ]
+ ]
+ },
+ {
+ "id": "92756c48.cce11",
+ "type": "execute",
+ "name": "Populate MOUNT NAME",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{mountName}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.nearRTRICId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2412.5454711914062,
+ "y": 1032.7207975387573,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b1314557.85f9a8",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{idGNBCUCPFunction}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.gNBCUName`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2466.0800857543945,
+ "y": 987.3196907043457,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "783ca4a.8861e5c",
+ "type": "block",
+ "name": "ransim URL",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2134.0001373291016,
+ "y": 1075.1216344833374,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "243b1b25.ef63a4",
+ "b1314557.85f9a8",
+ "92756c48.cce11",
+ "39c77d44.983da2",
+ "b5902975.064ca8"
+ ]
+ ]
+ },
+ {
+ "id": "243b1b25.ef63a4",
+ "type": "execute",
+ "name": "generate addnSSAIEntry.ToNRCellCU URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{idNearRTRIC}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.nearRTRICId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2452.5448932647705,
+ "y": 938.7209444344044,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2e87b01b.50599",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{idGNBCUCPFunction}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.gNBCUName`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2383.5452575683594,
+ "y": 678.7208423614502,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8d74bd10.02b2",
+ "type": "execute",
+ "name": "generate restapi.addnSSAIEntry.ToNRCellCU URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.addnSSAIEntry.ToNRCellCU`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{idNearRTRIC}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.nearRTRICId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2415.010513305664,
+ "y": 619.1218271255493,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "14769b6f.f718a5",
+ "type": "block",
+ "name": "URL",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2047.2119903564453,
+ "y": 765.7206954956055,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "8d74bd10.02b2",
+ "2e87b01b.50599",
+ "c0dac4fc.0b4fb8",
+ "267c9e1e.20d442"
+ ]
+ ]
+ },
+ {
+ "id": "a94a1460.e7b2e8",
+ "type": "switchNode",
+ "name": "ransim mounted",
+ "xml": "<switch test='`$prop.ransim-mounted`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1760.010498046875,
+ "y": 894.1217041015625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "3e852d16.9f8702",
+ "88dfb111.34543"
+ ]
+ ]
+ },
+ {
+ "id": "c0dac4fc.0b4fb8",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{idNRCellCU}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.cellLocalId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2387.343765258789,
+ "y": 726.1215343475342,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "267c9e1e.20d442",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{sNssai}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.sNssai`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2355.232666015625,
+ "y": 814.1215209960938,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "39c77d44.983da2",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{idNRCellCU}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.cellLocalId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2459.7884216308594,
+ "y": 1083.1216249465942,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b5902975.064ca8",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{sNssai}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.sNssai`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2421.677490234375,
+ "y": 1171.1217041015625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f633b1d.30efa5",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Update NRCELLCU config url for Intelligent slicing:\"/>\n<parameter name=\"field2\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.788330078125,
+ "y": 961.1215209960938,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3a74dc74.de09e4",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Setting variables for updating NRCELLCU - Intelligent Slicing\"/>\n<parameter name=\"field2\" value=\"`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n<parameter name=\"field3\" value=\"`$tmp.nearRTRICId`\"/>\n<parameter name=\"field4\" value=\"`$tmp.gNBCUName`\"/>\n<parameter name=\"field5\" value=\"`$tmp.sNssai`\"/>\n<parameter name=\"field6\" value=\"`$tmp.maxNumberofConns`\"/>\n<parameter name=\"field7\" value=\"`$tmp.cellLocalId`\"/>\n<parameter name=\"field8\" value=\"`$tmp.lastUpdatedTS`\"/>\n<parameter name=\"field9\" value=\"`$tmp.predictedMaxNumberofConns`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1780.7890625,
+ "y": 1031.11083984375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a9ba4b39.b1b358",
+ "type": "execute",
+ "name": "Update addnSSAIEntry.ToNRCellCU PUT",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/ranSlice-intelligent-update-NRCellCU-configData.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n<parameter name=\"restapiUser\" value=\"`$prop.controller.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.controller.pwd`\"/>\n<parameter name=\"httpMethod\" value=\"PUT\"/>\n<parameter name=\"responsePrefix\" value=\"nrcellcu-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1785.343994140625,
+ "y": 1735.6773681640625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "b2fe7e42.ae43",
+ "d9eba3b7.c70f7"
+ ]
+ ]
+ },
+ {
+ "id": "b2fe7e42.ae43",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2105.34375,
+ "y": 1677.6666259765625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "3db65c4e.a71314"
+ ]
+ ]
+ },
+ {
+ "id": "3db65c4e.a71314",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2270.34375,
+ "y": 1739.666748046875,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "3f8d8362.4c3ffc"
+ ]
+ ]
+ },
+ {
+ "id": "3f8d8362.4c3ffc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name=\"error-code\" value=\"500\" />\n<parameter name=\"error-message\" value=\"Error updating NRCellCU config for intelligent slicing\" />",
+ "comments": "",
+ "x": 2429.34326171875,
+ "y": 1775.666748046875,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "d9eba3b7.c70f7",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2153.34375,
+ "y": 1874.6666259765625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "fdefc837.1547f8"
+ ]
+ ]
+ },
+ {
+ "id": "fdefc837.1547f8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2335.34326171875,
+ "y": 1873.6666259765625,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "f1c749ab.9498d8"
+ ]
+ ]
+ },
+ {
+ "id": "f1c749ab.9498d8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Update NRCellCU config for intelligent slicing Executed Successfully \"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2507.343994140625,
+ "y": 1866.6669921875,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2124685a.f8bb68",
+ "type": "block",
+ "name": "Get PLMN from ConfigDB",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1794.34375,
+ "y": 1336.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "6351f968.020fd8",
+ "b57697ee.50d948",
+ "ba3adbb.fdac628"
+ ]
+ ]
+ },
+ {
+ "id": "6351f968.020fd8",
+ "type": "execute",
+ "name": "generate getPLMN URL",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.configdb.getplmn`\"/>\n <parameter name=\"outputPath\" value=\"tmp.configdb.getplmn.url\"/>\n <parameter name=\"target\" value=\"{sliceProfileId}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.sliceProfileId`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2125.34375,
+ "y": 1272.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b57697ee.50d948",
+ "type": "record",
+ "name": "record configdb RestAPI parms",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"URL for configDB Get PLMN for slice profile ID\"/>\n<parameter name='field2' value=\"`$prop.configdb.url + $tmp.configdb.getplmn.url`\" />\n<parameter name='field3' value=\"`$tmp.sliceProfileId`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 2156.3438720703125,
+ "y": 1355.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ba3adbb.fdac628",
+ "type": "execute",
+ "name": "Get PLMN for slice profile id",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.configdb.url + $tmp.configdb.getplmn.url`\"/>\n<parameter name=\"httpMethod\" value=\"GET\"/>\n<parameter name=\"responsePrefix\" value=\"getplmn-configdb-response\"/>\n<parameter name='contentType' value='application/json' /> \n<parameter name='format' value='json' />\n<parameter name='accept' value='application/json' />\n<parameter name=\"convertResponse\" value=\"false\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2117.343994140625,
+ "y": 1454.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "af83d022.fde66",
+ "b4e62021.d738e"
+ ]
+ ]
+ },
+ {
+ "id": "af83d022.fde66",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2330.34375,
+ "y": 1407.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "5dbe43e.76575bc"
+ ]
+ ]
+ },
+ {
+ "id": "b4e62021.d738e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2323.34375,
+ "y": 1540.3436279296875,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "f39a7342.cbf17"
+ ]
+ ]
+ },
+ {
+ "id": "5dbe43e.76575bc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2533.343822479248,
+ "y": 1408.3438110351562,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "a3feeedb.12f7f",
+ "cb7e16f4.bb96c8",
+ "b6a7b1aa.7e6bd"
+ ]
+ ]
+ },
+ {
+ "id": "cb7e16f4.bb96c8",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>",
+ "comments": "",
+ "x": 2647.343521118164,
+ "y": 1333.4548511505127,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "a3feeedb.12f7f",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n<parameter name='ack-final' value='Y'/>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>",
+ "comments": "",
+ "x": 2548.3434562683105,
+ "y": 1494.3437762260437,
+ "z": "344d9ac9.ce6d06",
+ "wires": []
+ },
+ {
+ "id": "f13b7133.863f7",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Successfully Obtained PLMN from configDB\"/>\n<parameter name=\"field2\" value=\"`$getplmn-configdb-response.httpResponse`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2610.34326171875,
+ "y": 1536.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f39a7342.cbf17",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2377.343505859375,
+ "y": 1681.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "f13b7133.863f7",
+ "4dbb329e.e6a7cc",
+ "7b208d48.611164",
+ "6d56919c.d354b",
+ "2668f661.175a3a"
+ ]
+ ]
+ },
+ {
+ "id": "4dbb329e.e6a7cc",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-intelligentslicing-configrsp-context.log' />\n\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2639.12158203125,
+ "y": 1598.34375,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b6a7b1aa.7e6bd",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"Failed to Obtain PLMN from configDB\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2689,
+ "y": 1411,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7b208d48.611164",
+ "type": "execute",
+ "name": "SliStringUtils - substring MCC",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\n <parameter name=\"string\" value=\"`$getplmn-configdb-response.httpResponse`\" />\n <parameter name=\"result\" value=\"tmp.mcc\"/>\n <parameter name=\"begin-index\" value=\"0\" />\n <parameter name=\"end-index\" value=\"3\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 2671,
+ "y": 1651,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6d56919c.d354b",
+ "type": "execute",
+ "name": "SliStringUtils - substring MNC",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\n <parameter name=\"string\" value=\"`$getplmn-configdb-response.httpResponse`\" />\n <parameter name=\"result\" value=\"tmp.mnc\"/>\n <parameter name=\"begin-index\" value=\"4\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 2681,
+ "y": 1698,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2668f661.175a3a",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"mcc: \"/>\n<parameter name=\"field2\" value=\"`$tmp.mcc`\"/>\n<parameter name=\"field3\" value=\"mnc: \"/>\n<parameter name=\"field4\" value=\"`$tmp.mnc`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2628,
+ "y": 1750,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5c1f722e.e6410c",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{mcc}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.mcc`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1972,
+ "y": 1553,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "52e59e51.d168c",
+ "type": "execute",
+ "name": "Populate addnSSAIEntry.ToNRCellCU.url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.restapi.addnSSAIEntry.ToNRCellCU.url\"/>\n <parameter name=\"target\" value=\"{mnc}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.mnc`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1950,
+ "y": 1594,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e67ca02.2bda56",
+ "type": "block",
+ "name": "Update NRCELLCU",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1594,
+ "y": 1599,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ [
+ "a9ba4b39.b1b358",
+ "b09a41d8.7fdd5",
+ "f0cca49c.721378",
+ "5c1f722e.e6410c",
+ "52e59e51.d168c",
+ "2ee4cede.353242"
+ ]
+ ]
+ },
+ {
+ "id": "b09a41d8.7fdd5",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"mcc: \"/>\n<parameter name=\"field2\" value=\"`$tmp.mcc`\"/>\n<parameter name=\"field3\" value=\"mnc: \"/>\n<parameter name=\"field4\" value=\"`$tmp.mnc`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1814,
+ "y": 1449,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f0cca49c.721378",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/intelligentSlicing.log\" />\n<parameter name=\"level\" value=\"info\" />\n<parameter name=\"field1\" value=\"URL for update NRCELLCU \"/>\n<parameter name=\"field2\" value=\"`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`\"/>\n<parameter name=\"field3\" value=\"sNSSAI: \"/>\n<parameter name=\"field4\" value=\"`$payloadJson.input.sliceProfile.sNSSAI`\"/>\n<parameter name=\"field5\" value=\"maxNumberOfConns: \"/>\n<parameter name=\"field6\" value=\"`$tmp.maxNumberOfConns`\"/>\n<parameter name=\"field7\" value=\"predictedMaxNumberofConns: \"/>\n<parameter name=\"field8\" value=\"`$tmp.predictedMaxNumberofConns`\"/>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1823,
+ "y": 1648,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2ee4cede.353242",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-intelligent-nearRTRIC-context2.log' />\n\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1861,
+ "y": 1495,
+ "z": "344d9ac9.ce6d06",
+ "wires": [
+ []
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml
new file mode 100644
index 00000000..5b199fd1
--- /dev/null
+++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml
@@ -0,0 +1,399 @@
+<service-logic
+ xmlns='http://www.onap.org/sdnc/svclogic'
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='ran-slice-api' version='${project.version}'>
+ <method rpc='instantiateRANSliceReconfigure' mode='sync'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Reached instantiateRANSliceReconfigure "/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
+ <parameter name='target' value='dLThptPerSlice' />
+ <outcome value='true'>
+ <block atomic="true">
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="PAYLOAD contains dLThptPerSlice...Closed loop "/>
+ </record>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.payload.numberUpdates' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/>
+ <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
+ </set>
+ <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" >
+ <set>
+ <parameter name="tmp.dLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`"/>
+ <parameter name="tmp.uLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`"/>
+ <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`"/>
+ </set>
+ <block atomic='true'>
+ <switch test='`$prop.ransim-mounted`'>
+ <outcome value='false'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC`"/>
+ <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
+ <parameter name="target" value="{idNearRTRIC}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
+ <parameter name="target" value="{sliceProfileId}"/>
+ <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
+ </execute>
+ </block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
+ <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
+ <parameter name="target" value="{idNearRTRIC}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
+ <parameter name="target" value="{sliceProfileId}"/>
+ <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/>
+ <parameter name="target" value="{mountName}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Patch SliceProfile ToNearRTRIC url for closed loop:"/>
+ <parameter name="field2" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
+ </record>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop"/>
+ <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
+ <parameter name="field3" value="`$tmp.dLThptPerSlice`"/>
+ <parameter name="field4" value="`$tmp.uLThptPerSlice`"/>
+ <parameter name="field5" value="`$tmp.nearRTRICId`"/>
+ <parameter name="field6" value="`$tmp.sliceProfileId`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`" />
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="PATCH"/>
+ <parameter name="responsePrefix" value="nearRTRIC-slice-patch-response"/>
+ <parameter name='contentType' value='application/yang.patch+json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/yang.patch-status+json' />
+ <outcome value='failure'>
+ <block>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/>
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully PATCHED NearRTRIC for close loop operation"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' />
+ </execute>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' />
+ <parameter name='target' value='maxNumberofConns' />
+ <outcome value='true'>
+ <block atomic="true">
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/>
+ </record>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data_length`'/>
+ <parameter name="tmp.sNssai" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.snssai`"/>
+ <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/>
+ </set>
+ <for index='id1' start='0' end="`$tmp.payload.dataPoints`" >
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.cellCUListNumbers" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList_length`"/>
+ <parameter name="tmp.gNBCUName" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].gNBCUName`"/>
+ <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].nearRTRICId`"/>
+ </set>
+ <for index='id2' start='0' end="`$tmp.cellCUListNumbers`" >
+ <set>
+ <parameter name="tmp.maxNumberofConns" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.maxNumberofConns`"/>
+ <parameter name="tmp.cellLocalId" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].cellLocalId`"/>
+ <parameter name="tmp.lastUpdatedTS" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.lastUpdatedTS`"/>
+ <parameter name="tmp.predictedMaxNumberofConns" value="`$payloadJson.input.additionalproperties.resourceConfig.maxNumberofConns.data[$id1].cellCUList[$id2].configData.predictedMaxNumberofConns`"/>
+ </set>
+ <switch test='`$prop.ransim-mounted`'>
+ <outcome value='false'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNRCellCU`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{idNearRTRIC}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{idGNBCUCPFunction}"/>
+ <parameter name="replacement" value="`$tmp.gNBCUName`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{idNRCellCU}"/>
+ <parameter name="replacement" value="`$tmp.cellLocalId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{sNssai}"/>
+ <parameter name="replacement" value="`$tmp.sNssai`"/>
+ </execute>
+ </block>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{idNearRTRIC}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{idGNBCUCPFunction}"/>
+ <parameter name="replacement" value="`$tmp.gNBCUName`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{mountName}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{idNRCellCU}"/>
+ <parameter name="replacement" value="`$tmp.cellLocalId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{sNssai}"/>
+ <parameter name="replacement" value="`$tmp.sNssai`"/>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Update NRCELLCU config url for Intelligent slicing:"/>
+ <parameter name="field2" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ </record>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Setting variables for updating NRCELLCU - Intelligent Slicing"/>
+ <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="field3" value="`$tmp.nearRTRICId`"/>
+ <parameter name="field4" value="`$tmp.gNBCUName`"/>
+ <parameter name="field5" value="`$tmp.sNssai`"/>
+ <parameter name="field6" value="`$tmp.maxNumberofConns`"/>
+ <parameter name="field7" value="`$tmp.cellLocalId`"/>
+ <parameter name="field8" value="`$tmp.lastUpdatedTS`"/>
+ <parameter name="field9" value="`$tmp.predictedMaxNumberofConns`"/>
+ </record>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/>
+ <parameter name="outputPath" value="tmp.configdb.getplmn.url"/>
+ <parameter name="target" value="{sliceProfileId}"/>
+ <parameter name="replacement" value="`$tmp.sliceProfileId`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for configDB Get PLMN for slice profile ID"/>
+ <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getplmn.url`" />
+ <parameter name='field3' value="`$tmp.sliceProfileId`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getplmn.url`"/>
+ <parameter name="httpMethod" value="GET"/>
+ <parameter name="responsePrefix" value="getplmn-configdb-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/json' />
+ <parameter name="convertResponse" value="false"/>
+ <outcome value='failure'>
+ <block>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Failed to Obtain PLMN from configDB"/>
+ </record>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully Obtained PLMN from configDB"/>
+ <parameter name="field2" value="`$getplmn-configdb-response.httpResponse`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-intelligentslicing-configrsp-context.log' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
+ <parameter name="string" value="`$getplmn-configdb-response.httpResponse`" />
+ <parameter name="result" value="tmp.mcc"/>
+ <parameter name="begin-index" value="0" />
+ <parameter name="end-index" value="3" />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>
+ <parameter name="string" value="`$getplmn-configdb-response.httpResponse`" />
+ <parameter name="result" value="tmp.mnc"/>
+ <parameter name="begin-index" value="4" />
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="mcc: "/>
+ <parameter name="field2" value="`$tmp.mcc`"/>
+ <parameter name="field3" value="mnc: "/>
+ <parameter name="field4" value="`$tmp.mnc`"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="mcc: "/>
+ <parameter name="field2" value="`$tmp.mcc`"/>
+ <parameter name="field3" value="mnc: "/>
+ <parameter name="field4" value="`$tmp.mnc`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-intelligent-nearRTRIC-context2.log' />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{mcc}"/>
+ <parameter name="replacement" value="`$tmp.mcc`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNRCellCU.url"/>
+ <parameter name="target" value="{mnc}"/>
+ <parameter name="replacement" value="`$tmp.mnc`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for update NRCELLCU "/>
+ <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="field3" value="sNSSAI: "/>
+ <parameter name="field4" value="`$payloadJson.input.sliceProfile.sNSSAI`"/>
+ <parameter name="field5" value="maxNumberOfConns: "/>
+ <parameter name="field6" value="`$tmp.maxNumberOfConns`"/>
+ <parameter name="field7" value="predictedMaxNumberofConns: "/>
+ <parameter name="field8" value="`$tmp.predictedMaxNumberofConns`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-intelligent-update-NRCellCU-configData.json'`" />
+ <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNRCellCU.url`"/>
+ <parameter name="restapiUser" value="`$prop.controller.user`" />
+ <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
+ <parameter name="httpMethod" value="PUT"/>
+ <parameter name="responsePrefix" value="nrcellcu-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating NRCellCU config for intelligent slicing" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Update NRCellCU config for intelligent slicing Executed Successfully "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final" value="N" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="SUCCESSFUL Execution" />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/restapi-templates/src/main/json/ranSlice-closed-loop-nearRTRIC-patch.json b/platform-logic/restapi-templates/src/main/json/ranSlice-closed-loop-nearRTRIC-patch.json
new file mode 100644
index 00000000..54db6bbf
--- /dev/null
+++ b/platform-logic/restapi-templates/src/main/json/ranSlice-closed-loop-nearRTRIC-patch.json
@@ -0,0 +1,23 @@
+{
+ "ietf-yang-patch:yang-patch": {
+ "patch-id": "ClosedLoopPatch1",
+ "comment": "patch for configuring NearRTRIC SliceProfile ",
+ "edit": [{
+ "edit-id": "edit1",
+ "operation": "merge",
+ "target": "/ran-network:uLThptPerSlice",
+ "value": {
+ "uLThptPerSlice": ${tmp.uLThptPerSlice}
+ }
+ },
+ {
+ "edit-id": "edit2",
+ "operation": "merge",
+ "target": "/ran-network:dLThptPerSlice",
+ "value": {
+ "dLThptPerSlice": ${tmp.dLThptPerSlice}
+ }
+ }
+ ]
+ }
+}
diff --git a/platform-logic/restapi-templates/src/main/json/ranSlice-configDB-updatenearRTRIC.json b/platform-logic/restapi-templates/src/main/json/ranSlice-configDB-updatenearRTRIC.json
index b3dd73d9..8b027529 100644
--- a/platform-logic/restapi-templates/src/main/json/ranSlice-configDB-updatenearRTRIC.json
+++ b/platform-logic/restapi-templates/src/main/json/ranSlice-configDB-updatenearRTRIC.json
@@ -5,13 +5,12 @@
{
"pLMNId": ${tmp.payload.pLMNId},
"sNSSAI": {
- "configData": [
+ "configData":
{
"dLThptPerSlice": ${tmp.nearRTRIC.dLThptPerSlice},
"maxNumberOfConns": ${tmp.nearRTRIC.maxNumberOfConns},
"uLThptPerSlice": ${tmp.nearRTRIC.uLThptPerSlice}
},
- ],
"globalSubscriberId": "",
"sNSSAI": ${payloadJson.input.sliceProfile.sNSSAI},
"status": "ACTIVE",
diff --git a/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-NRCellCU-configData.json b/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-NRCellCU-configData.json
new file mode 100644
index 00000000..0ad5a242
--- /dev/null
+++ b/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-NRCellCU-configData.json
@@ -0,0 +1,18 @@
+{
+ "ran-network:sNSSAIList": [
+ {
+ "ran-network:sNssai": ${tmp.sNssai},
+ "ran-network:status": "Active",
+ "ran-network:configData": [
+ {
+ "ran-network:configParameter": "maxNumberOfConns",
+ "ran-network:configValue": ${tmp.maxNumberOfConns}
+ },
+ {
+ "ran-network:configParameter": "predictedMaxNumberofConns",
+ "ran-network:configValue": ${tmp.predictedMaxNumberofConns}
+ }
+ ]
+ }
+ ]
+}
diff --git a/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-nSSAIEntry-NRCellCU.json b/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-nSSAIEntry-NRCellCU.json
index c28a9149..4000ddf0 100644
--- a/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-nSSAIEntry-NRCellCU.json
+++ b/platform-logic/restapi-templates/src/main/json/ranSlice-intelligent-update-nSSAIEntry-NRCellCU.json
@@ -1,7 +1,7 @@
{
"ran-network:sNSSAIList": [
{
- "ran-network:sNssai": ${payloadJson.input.sliceProfile.sNSSAI},
+ "ran-network:sNssai": ${tmp.sNSSAI},
"ran-network:status": "Active",
"ran-network:configData": [
{