diff options
author | Ahila <ahila.pandaram@wipro.com> | 2022-03-20 00:45:59 +0530 |
---|---|---|
committer | Ahila <ahila.pandaram@wipro.com> | 2022-03-20 11:30:53 +0530 |
commit | 48c98d49beadca974e7a2ea995037dc74dfb51ea (patch) | |
tree | 5ed1224a79210dc7b8685059d5a65c22c4784dc7 /platform-logic/ran-slice-api/src/main/xml | |
parent | 1238f488421b6218ec53e309435a37728c947d97 (diff) |
RAN Slice allocate - CPS Integration
Issue-ID: CCSDK-3600
Signed-off-by: Ahila <ahila.pandaram@wipro.com>
Change-Id: I32c896ee01fbe4f97a3a28fbf8f10667339179c1
Diffstat (limited to 'platform-logic/ran-slice-api/src/main/xml')
-rw-r--r-- | platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml | 18 | ||||
-rw-r--r-- | platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate-CPS.xml | 2609 |
2 files changed, 2626 insertions, 1 deletions
diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml index 1af8ce37..9cfa3ee5 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml @@ -363,6 +363,22 @@ <outcome value='false'> <block atomic='true'> <switch test='`$instantiate-r-a-n-slice-input.action`'> + <outcome value='allocate'> + <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="Calling instantiateRANSliceAllocate "/> + </record> + <call module='ran-slice-api' rpc='instantiateRANSliceAllocate-CPS' mode='sync' > + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y' /> + </return> + </outcome> + </call> + </block> + </outcome> <outcome value='modify-allocate'> <block atomic="true"> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> @@ -422,4 +438,4 @@ </return> </block> </method> -</service-logic> +</service-logic>
\ No newline at end of file diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate-CPS.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate-CPS.xml new file mode 100644 index 00000000..83beb8ad --- /dev/null +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate-CPS.xml @@ -0,0 +1,2609 @@ +<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='instantiateRANSliceAllocate-CPS' mode='sync'> + <block atomic='true'> + <set> + <parameter name='tmp.trackingAreaListEntries' value="`$payloadJson.input.sliceProfile.coverageAreaTAList_length`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Tracking Area size"/> + <parameter name="field2" value="`$tmp.trackingAreaListEntries`"/> + </record> + <for index='ta' start='0' end='`$tmp.trackingAreaListEntries`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.payload.trackingArea' /> + <parameter name='source' value="`'payloadJson.input.sliceProfile.coverageAreaTAList[' + $ta + ']'`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Tracking Area"/> + <parameter name="field2" value="`$tmp.payload.trackingArea`"/> + </record> + <block atomic='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.getListOfCells.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.cavsta.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.getListOfCells.url`"/> + <parameter name="outputPath" value="tmp.cps.getListOfCells.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.get-cells-list`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to Get List of cells of TAC"/> + <parameter name='field2' value="`$tmp.cps.getListOfCells.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.getListOfCells.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-cells-list.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="getListofCells-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Getting Cells from CPS. Aborting RPC executiopn'/> + </set> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully fetched the cells for the TA: "/> + <parameter name="field2" value="`$tmp.payload.trackingArea`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-CPS-context.log' /> + </execute> + </block> + </outcome> + </execute> + <set> + <parameter name='tmp.cellsListEntries' value="`$getListofCells-cps-response._length`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response List size"/> + <parameter name="field2" value="`$tmp.cellsListEntries`"/> + </record> + <for index='idx' start='0' end='`$tmp.cellsListEntries`'> + <block> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellListSize' /> + <parameter name='source' value="`'getListofCells-cps-response.['+ $idx +'].taCellsList_length'`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Cell list size"/> + <parameter name="field2" value="`$tmp.cellListSize`"/> + </record> + <for index='idy' start='0' end='`$tmp.cellListSize`'> + <block> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.trackingarea.cell' /> + <parameter name='source' value="`'getListofCells-cps-response.[' + $idx + '].taCellsList[' + $idy + '].cellLocalId'`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.trackingarea.cell`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.cellId" /> + </execute> + <set> + <parameter name='tmp.cellLocalId' value="`$tmp.cellId[0]`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Cell id"/> + <parameter name="field2" value="`$tmp.cellId[0]`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.getNearRTRIC.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.getNearRTRIC.url`"/> + <parameter name="outputPath" value="tmp.cps.getNearRTRIC.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.get-ric-from-cell-id`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to Get NearRTRIC of TA"/> + <parameter name='field2' value="`$tmp.cps.getNearRTRIC.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.getNearRTRIC.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-ric-from-cell-id.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="getNearRTRIC-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> + </set> + <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 atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Obtained NearRTRIC from CPS"/> + <parameter name="field2" value="`$getListofCells-configdb-response._length`"/> + <parameter name="field3" value="List of Cells in the Tracking Area Relevant for RAN Slice Instantiation "/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-CPS-context.log' /> + </execute> + <block atomic='true'> + <set> + <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.rrmPolicyMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Update inventory in CPS"/> + </record> + <for index='id1' start='0' end="`$getNearRTRIC-cps-response._length`" > + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.nearRTRICId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].idNearRTRIC'`" /> + </execute> + <set> + <parameter name='tmp.ranNFNSSIListEntry' value='`$tmp.payload.RANNFNSSIId`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Payload Entry# "/> + <parameter name="field2" value="`$id1`"/> + <parameter name="field3" value="`$tmp.nearRTRICId`"/> + <parameter name="field4" value="`$tmp.ranNFNSSIListEntry`"/> + </record> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Payload slice parameters - maxNumberofUEs "/> + <parameter name="field2" value="`$payloadJson.input.sliceProfile.maxNumberofUEs`"/> + <parameter name="field3" value="Payload slice parameters - maxNumberofConns"/> + <parameter name="field4" value="`$payloadJson.input.sliceProfile.maxNumberofConns`"/> + <parameter name="field5" value="Payload slice parameters - dLThptPerSlice"/> + <parameter name="field6" value="`$payloadJson.input.sliceProfile.dLThptPerSlice`"/> + <parameter name="field7" value="Payload slice parameters - uLThptPerSlice"/> + <parameter name="field8" value="`$payloadJson.input.sliceProfile.uLThptPerSlice`"/> + </record> + <set> + <parameter name='tmp.nearRTRIC.uLThptPerSlice1' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> + <parameter name='tmp.nearRTRIC.dLThptPerSlice1' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> + <parameter name='tmp.nearRTRIC.maxNumberOfConns1' value='`$payloadJson.input.sliceProfile.maxNumberofConns * 1.1`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.uLThptPerSlice' value='`$tmp.nearRTRIC.uLThptPerSlice1 / $getNearRTRIC-cps-response._length`' /> + <parameter name='tmp.nearRTRIC.dLThptPerSlice' value='`$tmp.nearRTRIC.dLThptPerSlice1 / $getNearRTRIC-cps-response._length`' /> + <parameter name='tmp.nearRTRIC.maxNumberOfConns' value='`$tmp.nearRTRIC.maxNumberOfConns1 / $getNearRTRIC-cps-response._length`' /> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-sliceparms-cps-context.log' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Calculated uLThptPerSlice for nearRTRIC "/> + <parameter name="field2" value="`$tmp.nearRTRIC.uLThptPerSlice`"/> + <parameter name="field3" value="Calculated dLThptPerSlice for nearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRIC.dLThptPerSlice`"/> + <parameter name="field5" value="Calculated maxNumberOfConns for nearRTRIC"/> + <parameter name="field6" value="`$tmp.nearRTRIC1.maxNumberOfConns`"/> + <parameter name="field7" value="`$payloadJson.input.sliceProfile.maxNumberofConns`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-sliceparms-context2.log' /> + </execute> + <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="`$payloadJson.input.sliceProfile.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="`$payloadJson.input.sliceProfile.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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Add SliceProfile ToNearRTRIC url:"/> + <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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for ADD SliceProfile ToNearRTRIC"/> + <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/> + <parameter name="field3" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> + <parameter name="field4" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfile.maxNumberofUEs`"/> + <parameter name="field6" value="`$payloadJson.input.sliceProfile.latency`"/> + <parameter name="field7" value="`$tmp.nearRTRIC.uLThptPerSlice`"/> + <parameter name="field8" value="`$tmp.nearRTRIC.dLThptPerSlice`"/> + <parameter name="field9" value="`$tmp.nearRTRIC.maxNumberOfConns`"/> + <parameter name="field10" value="`$payloadJson.input.sliceProfile.uEMobilityLevel`"/> + <parameter name="field11" value="`$tmp.trackingArea`"/> + <parameter name="field12" value="`$payloadJson.input.sliceProfile.resourceSharingLevel`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-sliceProfile-NRRIC.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="PUT"/> + <parameter name="responsePrefix" value="addSliceProfile-NRTRIC-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 adding slice proficle to NearRTRIC" /> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Slice Profile Entry Added to NearRTRIC Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.updatenearRTRIC.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.updatenearRTRIC.url`"/> + <parameter name="outputPath" value="tmp.cps.updatenearRTRIC.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-nearrtric`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update NearRTRIC in CPS"/> + <parameter name='field2' value="`$tmp.cps.updatenearRTRIC.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.updatenearRTRIC.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-nearrtric.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="allocate-nearRTRIC-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating nearRTRIC info in CPS. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating nearRTRIC info in 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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated NearRT RIC info in CPS"/> + </record> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.addSliceProfile.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.addSliceProfile.url`"/> + <parameter name="outputPath" value="tmp.cps.addSliceProfile.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-slice-profile`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update Slice Profile in CPS"/> + <parameter name='field2' value="`$tmp.cps.addSliceProfile.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.addSliceProfile.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-sliceprofile.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="allocate-sliceprofile-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating Slice Profile in CPS. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating nearRTRIC info in 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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated Slice Profile in CPS"/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUCPListEntries' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUCPFunction_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of CUCP List Entries "/> + <parameter name="field2" value="`$tmp.CUCPListEntries`"/> + </record> + <set> + <parameter name='tmp.uLThptPerSlice' value='`$tmp.nearRTRIC.uLThptPerSlice1 / $getNearRTRIC-cps-response._length`' /> + <parameter name='tmp.dLThptPerSlice' value='`$tmp.nearRTRIC.dLThptPerSlice1 / $getNearRTRIC-cps-response._length`' /> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.nearRTRIC.maxNumberOfConns1 / $getNearRTRIC-cps-response._length`' /> + </set> + <for index='id2' start='0' end='`$tmp.CUCPListEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCUListEntries' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUCPFunction[' + $id2 + '].NRCellCU_length'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.gNBCUName' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUCPFunction[' + $id2 + '].attributes.gNBCUName'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.gNBId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUCPFunction[' + $id2 + '].attributes.gNBId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.gNBIdLength' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUCPFunction[' + $id2 + '].attributes.gNBIdLength'`" /> + </execute> + </block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Numberof cellCU of Entries "/> + <parameter name="field2" value="`$tmp.cellCUListEntries`"/> + <parameter name="field3" value="`$tmp.gNBCUCPList.gNBCUName`"/> + <parameter name="field4" value="`$tmp.gNBCUCPList.gNBId`"/> + <parameter name="field5" value="`$tmp.gNBCUCPList.gNBIdLength`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.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`"/> + <parameter name="field5" value="Calculated uLThptPerSlice "/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="Calculated dLThptPerSlice "/> + <parameter name="field8" value="`$tmp.dLThptPerSlice`"/> + <parameter name="field9" value="Calculated maxNumberOfConns "/> + <parameter name="field10" value="`$tmp.maxNumberOfConns`"/> + </record> + <block atomic='true'> + <set> + <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.maxNumberOfConns / $tmp.cellCUListEntries`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU' value='`$tmp.rRMPolicyDedicatedRatio.CellCU1 / $prop.nrcellcu.maxNumberOfConnsPerCell`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CellCU "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellCU`"/> + <parameter name="field3" value="maxNumberOfConnsPercellCU "/> + <parameter name="field4" value="`$tmp.maxNumberOfConnsPercellCU`"/> + <parameter name="field5" value="rRMPolicyDedicatedRatio.CellCU1 "/> + <parameter name="field6" value="`$tmp.rRMPolicyDedicatedRatio.CellCU1`"/> + </record> + </block> + <for index='idx' start='0' end='`$tmp.cellsListEntries`'> + <block> + <for index='id3' start='0' end='`$tmp.cellListSize`' > + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellLocalId' /> + <parameter name='source' value="`'getListofCells-cps-response.[' + $idx + '].taCellsList[' + $id3 + '].cellLocalId'`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cell id from TA "/> + <parameter name="field2" value="`$tmp.cellLocalId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.cellLocalId`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.cellId" /> + </execute> + <set> + <parameter name='tmp.cellLocalId' value="`$tmp.cellId[0]`"/> + </set> + <block> + <for index='idCell' start='0' end='`$tmp.cellCUListEntries `' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.cellLocalId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUCPFunction[' + $id2 + '].NRCellCU[' + $idCell + '].attributes.cellLocalId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.gNBCUCPList.cellLocalId`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.cellCUId" /> + </execute> + <set> + <parameter name='tmp.gNBCUCPList.cellLocalId' value="`$tmp.cellCUId[0]`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="NRCellCU "/> + <parameter name="field2" value="`$tmp.gNBCUCPList.cellLocalId`"/> + </record> + <switch test="`$tmp.gNBCUCPList.cellLocalId == $tmp.cellLocalId`"> + <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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Applicable cell found"/> + <parameter name="field2" value="`$tmp.gNBCUCPList.cellLocalId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> + <parameter name='prefixKey' value='tmp.CUCPList.response' /> + <parameter name='keyName' value='gNBCUName' /> + <parameter name='keyValue' value="`$tmp.gNBCUCPList.gNBCUName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='CUCPListEntries_size' /> + <parameter name='source' value="`tmp.CUCPList.response_length`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUCPList length"/> + <parameter name="field2" value="`$CUCPListEntries_size`"/> + </record> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addPLMNInfoListEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellCU.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.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.addPLMNInfoListEntry.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellCU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.gNBCUCPList.gNBCUName`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellCU.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.gNBCUCPList.gNBCUName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.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.addPLMNInfoListEntry.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.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.addPLMNInfoListEntry.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellCU.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.nearRTRIC.maxNumberOfConns/$tmp.cellCUListEntries`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Add PLMNInfoListEntry ToNRCellCU URL"/> + <parameter name="field2" value="`$tmp.addPLMNInfoListEntry.ToNRCellCU.url`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for PLMNInfoList Entry Add to NRCellCU"/> + <parameter name="field2" value="`$prop.controller.url + $tmp.addPLMNInfoListEntry.ToNRCellCU.url`"/> + <parameter name="field3" value="`$tmp.mcc`"/> + <parameter name="field4" value="`$tmp.mnc`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-get-PLMNInfoListEntry-NRCellCU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.addPLMNInfoListEntry.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="PLMNInfoListEntry-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 adding PLMNInfoList Entry to NRCellCU" /> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="PLMNInfo List Entry Add to NRCELLCU Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addRRMPolicyRatio.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellCU.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addRRMPolicyRatio.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.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.addRRMPolicyRatio.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellCU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.gNBCUCPList.gNBCUName`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellCU.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.gNBCUCPList.gNBCUName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.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.addRRMPolicyRatio.ToNRCellCU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellCU.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyRatioID.NRCellCU`"/> + </execute> + <set> + <parameter name='tmp.resourceID' value='`$tmp.cellLocalId`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio ToNRCellCU URL"/> + <parameter name="field2" value="`$tmp.addRRMPolicyRatio.ToNRCellCU.url`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for addRRMPolicyRatio to NRCellCU"/> + <parameter name="field2" value="`$prop.controller.url + $tmp.addRRMPolicyRatio.ToNRCellCU.url`"/> + <parameter name="field3" value="`$tmp.mcc`"/> + <parameter name="field4" value="`$tmp.mnc`"/> + <parameter name="field5" value="`$tmp.payload.sNSSAI`"/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-RRMPolicyRatio-NRCellCU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.addRRMPolicyRatio.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="addRRMPolicyRatio-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 adding RRMPolicyr" /> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio to NRCELLCU Executed Successfully "/> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUCP - CPS update"/> + </record> + <set> + <parameter name='tmp.cellLocalId' value='`$tmp.gNBCUCPList.cellLocalId`'/> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> + <parameter name='tmp.gNBCUCPList.gNBCUName' value='`$tmp.gNBCUCPList.gNBCUName`'/> + <parameter name='tmp.gNBCUCPList.gNBId' value='`$tmp.gNBId`'/> + <parameter name='tmp.status' value='INACTIVE'/> + <parameter name='tmp.sNSSAI' value='`$tmp.payload.sNSSAI`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cellLocalId"/> + <parameter name="field2" value="`$tmp.cellLocalId`"/> + <parameter name="field5" value="maxNumberOfConns"/> + <parameter name="field6" value="`$tmp.maxNumberOfConns`"/> + <parameter name="field7" value="gNBCUName"/> + <parameter name="field8" value="`$tmp.gNBCUCPList.gNBCUName`"/> + <parameter name="field9" value="gNBId"/> + <parameter name="field10" value="`$tmp.gNBCUCPList.gNBId`"/> + </record> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.updateCUCP.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.updateCUCP.url`"/> + <parameter name="outputPath" value="tmp.cps.updateCUCP.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-snssai-nrcellcu`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update CUCP in CPS"/> + <parameter name='field2' value="`$tmp.cps.updateCUCP.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.updateCUCP.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-snssai-nrcellcu.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-gNBCUCP-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error in updating NRCellCU. Aborting RPC exception'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating NRCellCU-PLMNInfo in 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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully updated NRCellCU pLMNinfo "/> + </record> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.rrmpolicy.putCUCP.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.rrmpolicy.putCUCP.url`"/> + <parameter name="outputPath" value="tmp.cps.rrmpolicy.putCUCP.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-nrcellcu-rrm-policy`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update rrm policy in CPS"/> + <parameter name='field2' value="`$tmp.cps.rrmpolicy.putCUCP.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.rrmpolicy.putCUCP.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-nrcellcu-rrm-policy.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-gNBCUCP-rrmpolicy-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating RRMPolicy CUCP info in ConfigDB. Aborting RPC executiopn'/> + </set> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating RRMPolicy CUCP info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <set> + <parameter name='tmp.rrmPolicyMemberID' value='`$tmp.rrmPolicyMemberID + 1`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated RRMPolicy CUCP info in CPS"/> + <parameter name="field2" value="Incremented ConfigDB rrmPolicyID"/> + <parameter name="field3" value='`$prop.configDB.rrmPolicyID`' /> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </block> + </for> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPListEntries' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUUPFunction_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="No. of CUUPs"/> + <parameter name="field2" value="`$tmp.CUUPListEntries`"/> + </record> + <block atomic='true'> + <set> + <parameter name='tmp.maxNumberOfConns-CUUP' value='`$tmp.payload.maxNumberofConns/$tmp.cellCUListEntries`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="maxNumberOfConns.CUUP "/> + <parameter name="field2" value="`$tmp.maxNumberOfConns-CUUP`"/> + </record> + <set> + <parameter name='tmp.TotalNumberOfDRBForNSSAI' value='`$tmp.maxNumberOfConns-CUUP*4`' /> + </set> + <set> + <parameter name='tmp.DRBPerCUUPForSNSSAI' value='`$tmp.TotalNumberOfDRBForNSSAI / $tmp.CUUPListEntries`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP1' value='`$tmp.DRBPerCUUPForSNSSAI * 100`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP' value='`$tmp.rRMPolicyDedicatedRatio.CUUP1 / $prop.cuupfunction.maxNumberOfDRBsPerCUUP`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CUUP "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CUUP`"/> + <parameter name="field3" value="tmp.TotalNumberOfDRBForNSSAI "/> + <parameter name="field4" value="`$tmp.TotalNumberOfDRBForNSSAI`"/> + <parameter name="field5" value="tmp.DRBPerCUUPForSNSSAI "/> + <parameter name="field6" value="`$tmp.DRBPerCUUPForSNSSAI`"/> + <parameter name="field7" value="tmp.rRMPolicyDedicatedRatio.CUUP1 "/> + <parameter name="field8" value="`$tmp.rRMPolicyDedicatedRatio.CUUP1`"/> + <parameter name="field9" value="tmp.rRMPolicyDedicatedRatio.CUUP"/> + <parameter name="field10" value="`$tmp.rRMPolicyDedicatedRatio.CUUP`"/> + <parameter name="field11" value="tmp.maxNumberOfConns"/> + <parameter name="field12" value="`$tmp.maxNumberOfConns-CUUP`"/> + </record> + </block> + <for index='id2' start='0' end='`$tmp.CUUPListEntries `' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUUPList.gNBCUUPId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUUPFunction[' + $id2 + '].attributes.gNBCUUPId.value'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUUPList.gNBId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBCUUPFunction[' + $id2 + '].attributes.gNBId'`" /> + </execute> + </block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP Details "/> + <parameter name="field2" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + <parameter name="field3" value="`$tmp.gNBCUUPList.gNBId`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.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`"/> + <parameter name="field5" value="Calculated uLThptPerSlice "/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="Calculated dLThptPerSlice "/> + <parameter name="field8" value="`$tmp.dLThptPerSlice`"/> + </record> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addPLMNInfoListEntry.ToGNBCUUPFn`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addPLMNInfoListEntry.ToGNBCUUPFn.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToGNBCUUPFn.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.addPLMNInfoListEntry.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToGNBCUUPFn.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.addPLMNInfoListEntry.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.nearRTRIC.maxNumberOfConns/$tmp.cellCUListEntries`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Add PLMNInfoListEntry ToGNBCUUPFn URL"/> + <parameter name="field2" value="`$tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for PLMNInfoList Entry Add to NRCellCU"/> + <parameter name="field2" value="`$tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="field3" value="`$tmp.mcc`"/> + <parameter name="field4" value="`$tmp.mnc`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-get-PLMNInfoListEntry-GNBCUUPFn.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.addPLMNInfoListEntry.ToGNBCUUPFn.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="PLMNInfoListEntry-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error adding PLMNInfoList Entry to GNBCUUPFn" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="PLMNInfo List Entry Add Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addRRMPolicyRatio.ToGNBCUUPFn`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToGNBCUUPFn.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addRRMPolicyRatio.ToGNBCUUPFn.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToGNBCUUPFn.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.addRRMPolicyRatio.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToGNBCUUPFn.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToGNBCUUPFn.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToGNBCUUPFn.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToGNBCUUPFn.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyRatioID.GNBCUUPFunction`"/> + </execute> + <set> + <parameter name='tmp.resourceID' value='`$tmp.gNBCUUPList.gNBCUUPId`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio ToGNBCUUPFn URL"/> + <parameter name="field2" value="`$tmp.addRRMPolicyRatio.ToGNBCUUPFn.url`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for addRRMPolicyRatio to GNBCUUPFn"/> + <parameter name="field2" value="`$tmp.addRRMPolicyRatio.ToGNBCUUPFn.url`"/> + <parameter name="field3" value="`$tmp.mcc`"/> + <parameter name="field4" value="`$tmp.mnc`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-RRMPolicyRatio-GNBCUUPFn.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.addRRMPolicyRatio.ToGNBCUUPFn.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="addRRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error adding RRMPolicy" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + </block> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.gNBCUUPList.gNBCUUPId`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.gNBCUUPId" /> + </execute> + <set> + <parameter name='tmp.gNBCUUPList.gNBCUUPId' value="`$tmp.gNBCUUPId[0]`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP id"/> + <parameter name="field2" value="`$tmp.gNBCUUPId[0]`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP - CPS update"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> + <parameter name='prefixKey' value='tmp.CUUPList.response' /> + <parameter name='keyName' value='gNBCUUPId' /> + <parameter name='keyValue' value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + </execute> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.updateCUUP.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.updateCUUP.url`"/> + <parameter name="outputPath" value="tmp.cps.updateCUUP.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-snssai-cuup`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update CUCP in CPS"/> + <parameter name='field2' value="`$tmp.cps.updateCUCP.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.updateCUUP.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-snssai-cuup.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-gNBCUUP-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating configCUUP info in ConfigDB. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating CUUP info in 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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated gNBCUUP info in CPS"/> + </record> + </block> + </outcome> + </execute> + </block> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.rrmpolicy.putCUUP.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.rrmpolicy.putCUUP.url`"/> + <parameter name="outputPath" value="tmp.cps.rrmpolicy.putCUUP.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-cuup-rrm-policy`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update rrm policy in CPS"/> + <parameter name='field2' value="`$tmp.cps.rrmpolicy.putCUUP.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.rrmpolicy.putCUUP.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-cuup-rrm-policy.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-gNBCUUP-rrmpolicy-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating RRMPolicy CUUP info in CPS. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating RRMPolicy CUUP info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <set> + <parameter name='tmp.rrmPolicyMemberID' value='`$prop.configDB.rrmPolicyID + 1`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated RRMPolicy CUUP info in CPS"/> + <parameter name="field2" value="Incremented ConfigDB rrmPolicyID"/> + <parameter name="field3" value='`$tmp.rrmPolicyMemberID`' /> + </record> + </block> + </outcome> + </execute> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DUListEntries' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBDUFunction_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of DU List Entries "/> + <parameter name="field2" value="`$tmp.DUListEntries`"/> + </record> + <block atomic='true'> + <set> + <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.DUListEntries`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU1' value='`$tmp.nrcelldu.PRBPerImpactedCell * 100`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rRMPolicyDedicatedRatio.CellDU1 / $prop.nrcelldu.TotalPRBsPerCell`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CellDU "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> + <parameter name="field3" value="tmp.nearRTRIC.trafficCapacity1 "/> + <parameter name="field4" value="`$tmp.nearRTRIC.trafficCapacity1`"/> + <parameter name="field5" value="tmp.nearRTRIC.trafficCapacity "/> + <parameter name="field6" value="`$tmp.nearRTRIC.trafficCapacity`"/> + <parameter name="field7" value="tmp.nearRTRIC.trafficCapacityBPS"/> + <parameter name="field8" value="`$tmp.nearRTRIC.trafficCapacityBPS`"/> + <parameter name="field9" value="tmp.nrcelldu.totalPRBForSNSSAI "/> + <parameter name="field10" value="`$tmp.nrcelldu.totalPRBForSNSSAI`"/> + <parameter name="field11" value="tmp.nrcelldu.PRBPerImpactedCell "/> + <parameter name="field12" value="`$tmp.nrcelldu.PRBPerImpactedCell`"/> + <parameter name="field13" value="tmp.rRMPolicyDedicatedRatio.CellDU1 "/> + <parameter name="field14" value="`$tmp.rRMPolicyDedicatedRatio.CellDU1`"/> + </record> + </block> + <for index='id2' start='0' end='`$tmp.DUListEntries`' > + <block atomic='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDUListEntries' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBDUFunction[' + $id2 + '].NRCellDU_length'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBDUList.gNBDUId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBDUFunction[' + $id2 + '].attributes.gNBDUId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.gNBDUList.gNBDUId`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.gNBDUId" /> + </execute> + <set> + <parameter name='tmp.gNBDUList.gNBDUId' value="`$tmp.gNBDUId[0]`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBDUName' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBDUFunction[' + $id2 + '].attributes.gNBDUName'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBDUFunction[' + $id2 + '].attributes.gNBId'`" /> + </execute> + <set> + <parameter name="tmp.pLMNId" value="`$tmp.payload.pLMNId`"/> + </set> + </block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Numberof cellDU of Entries "/> + <parameter name="field2" value="`$tmp.cellDUListEntries`"/> + <parameter name="field3" value="`$tmp.gNBDUList.gNBDUId`"/> + <parameter name="field4" value="`$tmp.gNBDUName`"/> + <parameter name="field5" value="`$tmp.gNBId`"/> + <parameter name="field8" value="`$tmp.pLMNId`"/> + </record> + <for index='id3' start='0' end='`$tmp.cellListSize`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellLocalId' /> + <parameter name='source' value="`'getListofCells-cps-response.[' + $idx + '].taCellsList[' + $id3 + '].cellLocalId'`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.cellLocalId`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.cellId" /> + </execute> + <set> + <parameter name='tmp.tacellLocalId' value="`$tmp.cellId[0]`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cell id from TA "/> + <parameter name="field2" value="`$tmp.tacellLocalId`"/> + </record> + <for index='idCell' start='0' end='`$tmp.cellDUListEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellLocalId' /> + <parameter name='source' value="`'getNearRTRIC-cps-response.[' + $id1 + '].GNBDUFunction[' + $id2 + '].NRCellDU[' + $idCell + '].attributes.cellLocalId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.cellLocalId`" /> + <parameter name="regex" value="\."/> + <parameter name="ctx_memory_result_key" value="tmp.cellDUId" /> + </execute> + <set> + <parameter name='tmp.cellLocalId' value="`$tmp.cellDUId[0]`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="NRCellDU "/> + <parameter name="field2" value="`$tmp.cellLocalId`"/> + </record> + <switch test="`$tmp.cellLocalId == $tmp.tacellLocalId`"> + <outcome value='true'> + <block atomic='true'> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addPLMNInfoListEntry.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.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.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.gNBDUList.gNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.gNBDUList.gNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellLocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.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.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addPLMNInfoListEntry.ToNRCellDU.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <set> + <parameter name='tmp.uLThptPerSlice' value='`$tmp.nearRTRIC.uLThptPerSlice/$tmp.cellDUListEntries`'/> + <parameter name='tmp.dLThptPerSlice' value='`$tmp.nearRTRIC.uLThptPerSlice/$tmp.cellDUListEntries`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Add PLMNInfoListEntry ToNRCellDU URL"/> + <parameter name="field2" value="`$tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for PLMNInfoList Entry Add to NRCellDU"/> + <parameter name="field2" value="`$tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="field3" value="`$tmp.mcc`"/> + <parameter name="field4" value="`$tmp.mnc`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-get-PLMNInfoListEntry-NRCellDU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.addPLMNInfoListEntry.ToNRCellDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="PLMNInfoListEntry-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error adding PLMNInfo List Entry to NRCellCUr" /> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="PLMNInfo List Entry Add to NRCELLDU Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> + <parameter name='prefixKey' value='tmp.DUList.response' /> + <parameter name='keyName' value='gNBDUId' /> + <parameter name='keyValue' value="`$tmp.gNBDUList.gNBDUId`"/> + </execute> + </block> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addRRMPolicyRatio.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellDU.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.addRRMPolicyRatio.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellDU.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.addRRMPolicyRatio.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellDU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.gNBDUList.gNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellDU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.gNBDUList.gNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellDU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellLocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.addRRMPolicyRatio.ToNRCellDU.url`"/> + <parameter name="outputPath" value="tmp.addRRMPolicyRatio.ToNRCellDU.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyRatioID.NRCellDU`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio ToNRCellDU URL"/> + <parameter name="field2" value="`$tmp.addRRMPolicyRatio.ToNRCellDU.url`"/> + </record> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Setting variables for addRRMPolicyRatio to NRCellDU"/> + <parameter name="field2" value="`$tmp.addRRMPolicyRatio.ToNRCellDU.url`"/> + <parameter name="field3" value="`$tmp.mcc`"/> + <parameter name="field4" value="`$tmp.mnc`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-add-RRMPolicyRatio-NRCellDU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.addRRMPolicyRatio.ToNRCellDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="addRRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error adding RRM Policy" /> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio to NRCELLDU Executed Successfully "/> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="DU - CPS update"/> + </record> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.updateDU.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.updateDU.url`"/> + <parameter name="outputPath" value="tmp.cps.updateDU.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-nrcelldu-snssai`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update CUCP in CPS"/> + <parameter name='field2' value="`$tmp.cps.updateCUCP.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.updateDU.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-snssai-nrcelldu.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-gNBDU-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated DU info in CPS"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating configCUUP info in ConfigDB. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating CUUP info in ConfigDB. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.rrmpolicy.putDU.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.rrmpolicy.putDU.url`"/> + <parameter name="outputPath" value="tmp.cps.rrmpolicy.putDU.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.add-nrcelldu-rrm-policy`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update rrm policy in CPS"/> + <parameter name='field2' value="`$tmp.cps.rrmpolicy.putDU.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.rrmpolicy.putDU.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-nrcelldu-rrm-policy.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-gNBDU-rrmpolicy-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='success'> + <block> + <set> + <parameter name='tmp.rrmPolicyMemberID' value='`$prop.configDB.rrmPolicyID + 1`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated RRMPolicy DU info in CPS"/> + <parameter name="field2" value="Incremented CPS rrmPolicyID"/> + <parameter name="field3" value='`$prop.configDB.rrmPolicyID`' /> + </record> + </block> + </outcome> + <outcome value='failure'> + <block> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating RRMPolicy DU info in ConfigDB. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating RRMPolicy DU info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + </execute> + </block> + </block> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.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`"/> + <parameter name="field5" value="Calculated uLThptPerSlice "/> + <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> + <parameter name="field7" value="Calculated dLThptPerSlice "/> + <parameter name="field8" value="`$tmp.dLThptPerSlice`"/> + </record> + </block> + </for> + </block> + </for> + </block> + </block> + </outcome> + </execute> + </block> + </for> + </block> + </for> + </block> + </block> + </block> + </for> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.updateInventory-newslice.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$prop.inventory.schemaset`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.updateInventory-newslice.url`"/> + <parameter name="outputPath" value="tmp.cps.updateInventory-newslice.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.ran-inventory-new-slice`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to update inventory in CPS"/> + <parameter name='field2' value="`$tmp.cps.updateInventory-newslice.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.updateInventory-newslice.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-update-ran-inventory-new-slice.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="update-inventory-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating inventory info in CPS. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating inventory in ConfigDB. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$tmp.so.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$tmp.CUCPList`" /> + <parameter name='field8' value="`$tmp.CUUPList`" /> + <parameter name='field9' value="`$tmp.DUList`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <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 sending SO Response" /> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </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/instantiateRANSliceAllocate-cps.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated inventory in CPS"/> + </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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <set> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.so.callbackURL`"/> + <parameter name="outputPath" value="tmp.so.callbackURL"/> + <parameter name="target" value="{requestId}"/> + <parameter name="replacement" value="`$tmp.requestID`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$payloadJson.input.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$prop.restapi.so.user`" /> + <parameter name='field8' value="`$prop.restapi.so.password`" /> + <parameter name='field9' value="`$tmp.DUList.response_length`" /> + <parameter name='field10' value="`$tmp.CUCPList.response`" /> + <parameter name='field11' value="`$tmp.CUUPList.response`" /> + <parameter name='field12' value="`$tmp.DUList.response`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </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/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <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 |