diff options
author | 2020-12-13 01:57:25 -0600 | |
---|---|---|
committer | 2021-01-23 19:58:12 -0600 | |
commit | f28520bb7e8ad6ca22d433c03c57212b2eb4bac5 (patch) | |
tree | d473357f4727db2f5c1d602e557deebcbcf63e06 /platform-logic/ran-slice-api/src/main/xml | |
parent | 110bb110a48b98a40dad33e80071e0a21386f11d (diff) |
DG Update and Templates for ranSlice feature
Additional DG and templates to support ranSlice
feature. This would include sub-DG's for varioius
actions for instantiateRANSlice RPC/DG execution
Issue-ID: CCSDK-3008
Signed-off-by: SandeepLinux <Sandeep.Shah@ibm.com>
Change-Id: I749a97b061e67644ee77bd56dd3725e5b9e7eb5a
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 | 1094 | ||||
-rw-r--r-- | platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml | 2094 |
2 files changed, 2147 insertions, 1041 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 f5187e8f..8c7915d6 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 @@ -15,8 +15,8 @@ <parameter name="field7" value="`$instantiate-r-a-n-slice-input.payload`"/> </record> <set> - <parameter name='code' value='200' /> - <parameter name='message' value='Successful execution of createPolicyInstance RPC' /> + <parameter name='error-code' value='200' /> + <parameter name='error-message' value='Successful execution of instantiateRANSice RPC' /> </set> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> <parameter name='source' value='instantiate-r-a-n-slice-input.payload' /> @@ -84,6 +84,15 @@ <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/> <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/> </set> + <set> + <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> + <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> + <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> + <parameter name='prop.ranNetwork.RRMPolicyRatioMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID + 1`' /> + </set> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> <parameter name="string" value="`$tmp.payload.pLMNId`" /> <parameter name="result" value="tmp.mcc"/> @@ -105,1054 +114,57 @@ <switch test='`$prop.configdb-deployed`'> <outcome value='true'> <block atomic='true'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getNearRTRICsFromTrackingArea`"/> - <parameter name="outputPath" value="tmp.configdb.getNearRTRICsFromTrackingArea.url"/> - <parameter name="target" value="{trackingArea}"/> - <parameter name="replacement" value="`$tmp.payload.trackingArea`"/> - </execute> - <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="URL for configDB Get NearRTRIC for tracking area"/> - <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getNearRTRICsFromTrackingArea.url`" /> - <parameter name='field3' value="`$tmp.payload.trackingArea`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getNearRTRICsFromTrackingArea.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getRIC-configdb-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='code' value='500'/> - <parameter name='message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='code' value='500'/> - <parameter name='message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Obtained NearRT RIC info from ConfigDB"/> - <parameter name="field2" value="`$getRIC-configdb-response._length`"/> - <parameter name="field3" value="`$getRIC-configdb-response.[0].gNBCUCPList_length`"/> - <parameter name="field4" value="`$getRIC-configdb-response.[0].gNBCUUPList_length`"/> - <parameter name="field5" value="`$getRIC-configdb-response.[0].gNBDUList_length`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' /> - </execute> - </block> - </outcome> - </execute> - </block> - <block atomic='true'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getListOfCells`"/> - <parameter name="outputPath" value="tmp.configdb.getListOfCells.url"/> - <parameter name="target" value="{trackingArea}"/> - <parameter name="replacement" value="`$tmp.payload.trackingArea`"/> - </execute> - <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="URL for configDB Get getListOfCells for tracking area"/> - <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getListOfCells.url`" /> - <parameter name='field3' value="`$tmp.payload.trackingArea`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getListOfCells.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getListofCells-configdb-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='code' value='500'/> - <parameter name='message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> - </set> + <switch test='`$instantiate-r-a-n-slice-input.action`'> + <outcome value='allocate'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceAllocate' mode='sync' > + <outcome value='failure'> <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='code' value='500'/> - <parameter name='message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> + <parameter name='ack-final' value='Y' /> </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="Successfully Obtained List of Cells from ConfigDB"/> - <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> - <for index='idx' start='0' end='`$getListofCells-configdb-response._length `' > - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.trackingarea.cell' /> - <parameter name='source' value="`'getListofCells-configdb-response.[' + $ids + ']'`" /> - </execute> - <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="`$tmp.trackingarea.cell`"/> - </record> - </for> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' /> - </execute> - </block> - </outcome> - </execute> - </block> - <for index='id1' start='0' end="`$getRIC-configdb-response._length`" > - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.nearRTRICId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].nearRTRICId'`" /> - </execute> - <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="Config Payload Entry# "/> - <parameter name="field2" value="`$id1`"/> - <parameter name="field3" value="`$getRIC-configdb-response.[id1].nearRTRICId`"/> - <parameter name="field4" value="`$getRIC-configdb-response.[id1].gNBId`"/> - </record> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUCPListEntries' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList_length'`" /> - </execute> - <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="Number of CUCP List Entries "/> - <parameter name="field2" value="`$tmp.CUCPListEntries`"/> - </record> - <block atomic='true'> - <set> - <parameter name='tmp.uLThptPerSlicePerCell' value='5' /> - </set> - <switch test='`$tmp.uLThptPerSlicePerCell`'> - <outcome value='5'> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU' value='10' /> - </set> - </outcome> - <outcome value='10'> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU' value='20' /> - </set> - </outcome> - </switch> - <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="rRMPolicyDedicatedRatio for CellCU "/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellCU`"/> - </record> - </block> - <set> - <parameter name='tmp.uLThptPerSlice1' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> - <parameter name='tmp.uLThptPerSlice' value='`$tmp.uLThptPerSlice1 / $getListofCells-configdb-response._length`' /> - <parameter name='tmp.dLThptPerSlice1' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> - <parameter name='tmp.dLThptPerSlice' value='`$tmp.dLThptPerSlice1 / $getListofCells-configdb-response._length`' /> - <parameter name='tmp.maxNumberOfConns1' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.maxNumberOfConns1 / $getListofCells-configdb-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="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].cellCUList_length'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUCPList.gNBCUName' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].gNBCUName'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUCPList.gNBId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].gNBId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUCPList.gNBIdLength' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].gNBIdLength'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUCPList.nFType' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].nFType'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUCPList.pLMNId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].pLMNId'`" /> - </execute> - </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="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.gNBIdLengthh`"/> - <parameter name="field6" value="`$tmp.gNBCUCPList.nFType`"/> - <parameter name="field7" value="`$tmp.gNBCUCPList.pLMNId`"/> - </record> - <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="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> - <for index='id3' start='0' end='`$getListofCells-configdb-response._length `' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNInfoListEntries' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].cellCUList[' + $id3 + '].pLMNInfoList_length'`" /> - </execute> - </block> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellLocalId' /> - <parameter name='source' value="`'getListofCells-configdb-response.[' + $id3 + ']'`" /> - </execute> - <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="Numberof pLMNInfoList Entries "/> - <parameter name="field2" value="`$tmp.pLMNInfoListEntries`"/> - <parameter name="field3" value="cellLocalId from Relevant cells "/> - <parameter name="field4" value="`$tmp.cellLocalId`"/> - </record> - <for index='id4' start='0' end='`$tmp.pLMNInfoListEntries`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.fromRAN.sNSSAI' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].pLMNInfoList[' + $id4 + '].sNSSAI.sNSSAI'`" /> - </execute> - <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="sNSSAI from RAN to check if already exists "/> - <parameter name="field2" value="`$tmp.fromRAN.sNSSAI`"/> - </record> - </block> - </for> - <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> - <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="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/instantiateRANSlice.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> - </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 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="0"/> - </execute> - <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 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/instantiateRANSlice.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="`$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-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> - </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 to NRCELLCU Executed Successfully "/> - </record> - </block> - </outcome> - </execute> - </block> - </for> - </for> + </outcome> + </call> </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="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList_length'`" /> - </execute> - <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="Number of CUUP List Entries "/> - <parameter name="field2" value="`$tmp.CUUPListEntries`"/> - </record> - <block atomic='true'> - <set> - <parameter name='tmp.uLThptPerSlicePerCell' value='5' /> - </set> - <switch test='`$tmp.uLThptPerSlicePerCell`'> - <outcome value='5'> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP' value='10' /> - </set> - </outcome> - <outcome value='10'> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP' value='20' /> - </set> - </outcome> - </switch> - <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="rRMPolicyDedicatedRatio for CUUP "/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CUUP`"/> - </record> - </block> - <set> - <parameter name='tmp.uLThptPerSlice1' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> - <parameter name='tmp.uLThptPerSlice' value='`$tmp.uLThptPerSlice1 / $tmp.CUUPListEntries`' /> - <parameter name='tmp.dLThptPerSlice1' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> - <parameter name='tmp.dLThptPerSlice' value='`$tmp.dLThptPerSlice1 / $tmp.CUUPListEntries`' /> - <parameter name='tmp.maxNumberOfConns1' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.maxNumberOfConns1 / $tmp.CUUPListEntries`' /> - </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.gNBCUUPList.gNBCUUPId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].gNBCUUPId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUUPList.gNBId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].gNBId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBCUUPList.gNBIdLength' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].gNBIdLength'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNInfoListEntries' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].pLMNInfoList_length'`" /> - </execute> - </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="CUCP Details "/> - <parameter name="field2" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> - <parameter name="field3" value="`$tmp.gNBCUUPList.gNBId`"/> - <parameter name="field4" value="`$tmp.gNBCUUPList.gNBIdLength`"/> - <parameter name="field5" value="`$tmp.gNBCUUPList.pLMNInfoList_length`"/> - <parameter name="field6" value="`$tmp.gNBCUUPList.pLMNId`"/> - </record> - <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="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> - <for index='id4' start='0' end='`$tmp.pLMNInfoListEntries`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.fromRAN.sNSSAI' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].pLMNInfoList[' + $id3 + '].sNSSAI'`" /> - </execute> - <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="sNSSAI from RAN to check if already exists "/> - <parameter name="field2" value="`$tmp.fromRAN.sNSSAI`"/> - </record> - </block> - </for> - <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> - <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="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/instantiateRANSlice.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> - <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="0"/> - </execute> - <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 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/instantiateRANSlice.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> - <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> - </for> + </outcome> + <outcome value='modify-allocate'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceModifyAllocate' mode='sync' > + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y' /> + </return> + </outcome> + </call> </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="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList_length'`" /> - </execute> - <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="Number of DU List Entries "/> - <parameter name="field2" value="`$tmp.DUListEntries`"/> - </record> - <block atomic='true'> - <set> - <parameter name='tmp.uLThptPerSlicePerCell' value='5' /> - </set> - <switch test='`$tmp.uLThptPerSlicePerCell`'> - <outcome value='5'> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='10' /> - </set> - </outcome> - <outcome value='10'> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='20' /> - </set> - </outcome> - </switch> - <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="rRMPolicyDedicatedRatio for CellDU "/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> - </record> - </block> - <set> - <parameter name='tmp.uLThptPerSlice1' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> - <parameter name='tmp.uLThptPerSlice' value='`$tmp.uLThptPerSlice1 / $getListofCells-configdb-response._length`' /> - <parameter name='tmp.dLThptPerSlice1' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> - <parameter name='tmp.dLThptPerSlice' value='`$tmp.dLThptPerSlice1 / $getListofCells-configdb-response._length`' /> - <parameter name='tmp.maxNumberOfConns1' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.maxNumberOfConns1 / $getListofCells-configdb-response._length`' /> - </set> - <for index='id2' start='0' end='`$tmp.DUListEntries`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellDUListEntries' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList_length'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBDUList.gNBDUId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBDUId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBDUName' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBDUName'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBIdLength' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBIdLength'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.nFType' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].nFType'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].pLMNId'`" /> - </execute> - </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="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="field6" value="`$tmp.gNBIdLength`"/> - <parameter name="field7" value="`$tmp.nFType`"/> - <parameter name="field8" value="`$tmp.pLMNId`"/> - </record> - <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="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> - <for index='id3' start='0' end='`$getListofCells-configdb-response._length `' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNInfoListEntries' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].pLMNInfoList_length'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellLocalId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].cellLocalId'`" /> - </execute> - </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="Numberof pLMNInfoList Entries "/> - <parameter name="field2" value="`$tmp.pLMNInfoListEntries`"/> - <parameter name="field3" value="cellLocalId "/> - <parameter name="field4" value="`$tmp.cellLocalId`"/> - </record> - <for index='id4' start='0' end='`$tmp.pLMNInfoListEntries`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.fromRAN.sNSSAI' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].pLMNInfoList[' + $id4 + '].sNSSAI.sNSSAI'`" /> - </execute> - <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="sNSSAI from RAN to check if already exists "/> - <parameter name="field2" value="`$tmp.fromRAN.sNSSAI`"/> - </record> - </block> - </for> - <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> - <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="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/instantiateRANSlice.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> - <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/instantiateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="PLMNInfo List Entry Add to NRCELLDU 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.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="0"/> - </execute> - <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 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/instantiateRANSlice.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> - <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/instantiateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="addRRMPolicyRatio to NRCELLDU Executed Successfully "/> - </record> - </block> - </outcome> - </execute> - </block> - </for> - </for> + </outcome> + <outcome value='modify-deallocate'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceModifyDeallocate' mode='sync' > + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y' /> + </return> + </outcome> + </call> + </block> + </outcome> + <outcome value='reconfigure'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='instantiateRANSliceReconfigure' mode='sync' > + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y' /> + </return> + </outcome> + </call> </block> - </for> - </block> + </outcome> + </switch> </block> </outcome> </switch> <return status='success'> - <parameter name="ack-final-indicator" value="Y" /> + <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="200" /> <parameter name="error-message" value="SUCCESSFUL Execution" /> </return> diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml new file mode 100644 index 00000000..151f7fac --- /dev/null +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml @@ -0,0 +1,2094 @@ +<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' mode='sync'> + <block atomic='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getNearRTRICsFromTrackingArea`"/> + <parameter name="outputPath" value="tmp.configdb.getNearRTRICsFromTrackingArea.url"/> + <parameter name="target" value="{trackingArea}"/> + <parameter name="replacement" value="`$tmp.payload.trackingArea`"/> + </execute> + <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="URL for configDB Get NearRTRIC for tracking area"/> + <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getNearRTRICsFromTrackingArea.url`" /> + <parameter name='field3' value="`$tmp.payload.trackingArea`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getNearRTRICsFromTrackingArea.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getRIC-configdb-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 Getting Info from 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 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="`$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> + <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 NearRT RIC info from ConfigDB"/> + <parameter name="field2" value="`$getRIC-configdb-response._length`"/> + <parameter name="field3" value="`$getRIC-configdb-response.[0].gNBCUCPList_length`"/> + <parameter name="field4" value="`$getRIC-configdb-response.[0].gNBCUUPList_length`"/> + <parameter name="field5" value="`$getRIC-configdb-response.[0].gNBDUList_length`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' /> + </execute> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getListOfCells`"/> + <parameter name="outputPath" value="tmp.configdb.getListOfCells.url"/> + <parameter name="target" value="{trackingArea}"/> + <parameter name="replacement" value="`$tmp.payload.trackingArea`"/> + </execute> + <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="URL for configDB Get getListOfCells for tracking area"/> + <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getListOfCells.url`" /> + <parameter name='field3' value="`$tmp.payload.trackingArea`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getListOfCells.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getListofCells-configdb-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 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 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="`$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> + <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 List of Cells from ConfigDB"/> + <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> + <for index='idx' start='0' end='`$getListofCells-configdb-response._length `' > + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.trackingarea.cell' /> + <parameter name='source' value="`'getListofCells-configdb-response.[' + $ids + ']'`" /> + </execute> + <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="`$tmp.trackingarea.cell`"/> + </record> + </for> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' /> + </execute> + </block> + </outcome> + </execute> + </block> + <for index='id1' start='0' end="`$getRIC-configdb-response._length`" > + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.nearRTRICId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].nearRTRICId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ranNFNSSIListEntry' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].ranNFNSSIList[0]'`" /> + </execute> + <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="Config Payload Entry# "/> + <parameter name="field2" value="`$id1`"/> + <parameter name="field3" value="`$tmp.nearRTRICId`"/> + <parameter name="field4" value="`$tmp.gNBId`"/> + <parameter name="field5" value="`$tmp.ranNFNSSIListEntry`"/> + </record> + <block atomic='true'> + <set> + <parameter name='tmp.nearRTRIC.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> + <parameter name='tmp.nearRTRIC.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> + <parameter name='tmp.nearRTRIC.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> + </set> + <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="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.nearRTRIC.maxNumberOfConns`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updatenearRTRIC`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updatenearRTRIC.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-nearRTRIC-configdb-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 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 nearRTRIC 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> + <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 Updated NearRT RIC info in ConfigDB"/> + </record> + </block> + </outcome> + </execute> + </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="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList_length'`" /> + </execute> + <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="Number of CUCP List Entries "/> + <parameter name="field2" value="`$tmp.CUCPListEntries`"/> + </record> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> + </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="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].cellCUList_length'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.gNBCUName' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].gNBCUName'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.gNBId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].gNBId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.gNBIdLength' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].gNBIdLength'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.nFType' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].nFType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUCPList.pLMNId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].pLMNId'`" /> + </execute> + </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="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.gNBIdLengthh`"/> + <parameter name="field6" value="`$tmp.gNBCUCPList.nFType`"/> + <parameter name="field7" value="`$tmp.gNBCUCPList.pLMNId`"/> + </record> + <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="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`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CellCU "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellCU`"/> + </record> + </block> + <for index='id3' start='0' end='`$getListofCells-configdb-response._length `' > + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellLocalId' /> + <parameter name='source' value="`'getListofCells-configdb-response.[' + $id3 + ']'`" /> + </execute> + <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="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].cellCUList[' + $idCell + '].cellLocalId'`" /> + </execute> + <switch test="`$tmp.gNBCUCPList.cellLocalId == $tmp.cellLocalId`"> + <outcome value='true'> + <block atomic='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoListEntries' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUCPList[' + $id2 + '].cellCUList[' + $id3 + '].pLMNInfoList_length'`" /> + </execute> + </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="Numberof pLMNInfoList Entries "/> + <parameter name="field2" value="`$tmp.pLMNInfoListEntries`"/> + <parameter name="field3" value="cellLocalId from Relevant cells "/> + <parameter name="field4" value="`$tmp.cellLocalId`"/> + </record> + <for index='id4' start='0' end='`$tmp.pLMNInfoListEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.fromRAN.sNSSAI' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].pLMNInfoList[' + $id4 + '].sNSSAI.sNSSAI'`" /> + </execute> + <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="sNSSAI from RAN to check if already exists "/> + <parameter name="field2" value="`$tmp.fromRAN.sNSSAI`"/> + </record> + </block> + </for> + <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> + <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="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/instantiateRANSlice.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="`$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> + <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 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> + <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 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/instantiateRANSlice.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="`$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-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="`$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> + <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 to NRCELLCU Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + </block> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBCUCP`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBCUCP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUCP-configdb-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 configCUCP 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 nearRTRIC 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> + <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 Updated gNBCUCP info in ConfigDB"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + </switch> + </block> + </for> + </for> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-CUCP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUCP-rrmpolicy-configdb-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="`$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 CUCP 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 CUCP info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <set> + <parameter name='prop.configDB.rrmPolicyID' 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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated RRMPolicy CUCP info in ConfigDB"/> + </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.CUUPListEntries' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList_length'`" /> + </execute> + <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="getListofCells-configdb-response. "/> + <parameter name="field2" value="`$tmp.CUUPListEntries`"/> + </record> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> + <parameter name='tmp.TotalNumberOfDRBForNSSAI' value='`$tmp.maxNumberOfConns * .6`' /> + <parameter name='tmp.DRBPerCUUPForSNSSAI' value='`$tmp.TotalNumberOfDRBForNSSAI / $tmp.CUUPListEntries`' /> + </set> + <block atomic='true'> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP1' value='`$tmp.DRBPerCUUPForSNSSAI * 100`' /> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CUUP "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.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="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].gNBCUUPId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUUPList.gNBId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].gNBId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBCUUPList.gNBIdLength' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].gNBIdLength'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoListEntries' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].pLMNInfoList_length'`" /> + </execute> + </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="CUCP Details "/> + <parameter name="field2" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + <parameter name="field3" value="`$tmp.gNBCUUPList.gNBId`"/> + <parameter name="field4" value="`$tmp.gNBCUUPList.gNBIdLength`"/> + <parameter name="field5" value="`$tmp.gNBCUUPList.pLMNInfoList_length`"/> + <parameter name="field6" value="`$tmp.payload.pLMNId`"/> + </record> + <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="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> + <for index='id4' start='0' end='`$tmp.pLMNInfoListEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.fromRAN.sNSSAI' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBCUUPList[' + $id2 + '].pLMNInfoList[' + $id3 + '].sNSSAI'`" /> + </execute> + <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="sNSSAI from RAN to check if already exists "/> + <parameter name="field2" value="`$tmp.fromRAN.sNSSAI`"/> + </record> + </block> + </for> + <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> + <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="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/instantiateRANSlice.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="`$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> + <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> + <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 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/instantiateRANSlice.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="`$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> + <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.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBCUUP`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBCUUP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUUP-configdb-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="`$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 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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated gNBCUUP info in ConfigDB"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-CUUP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUUP-rrmpolicy-configdb-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="`$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 CUUP 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 CUUP info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <set> + <parameter name='prop.configDB.rrmPolicyID' 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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated RRMPolicy CUUP info in ConfigDB"/> + </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="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList_length'`" /> + </execute> + <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="Number of DU List Entries "/> + <parameter name="field2" value="`$tmp.DUListEntries`"/> + </record> + <set> + <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> + <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns * 1.1`' /> + <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' /> + <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> + <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000000`' /> + <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> + </set> + <block atomic='true'> + <set> + <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.DUListEntries`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU1' value='`$tmp.nrcelldu.PRBPerImpactedCell * 100`' /> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CellDU "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> + </record> + </block> + <for index='id2' start='0' end='`$tmp.DUListEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDUListEntries' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList_length'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBDUList.gNBDUId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBDUId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBDUName' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBDUName'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBIdLength' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].gNBIdLength'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.nFType' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].nFType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].pLMNId'`" /> + </execute> + </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="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="field6" value="`$tmp.gNBIdLength`"/> + <parameter name="field7" value="`$tmp.nFType`"/> + <parameter name="field8" value="`$tmp.pLMNId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBDU`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBDU.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBDU-configdb-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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated gNBCUUP info in ConfigDB"/> + </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> + <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="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> + <for index='id3' start='0' end='`$getListofCells-configdb-response._length `' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoListEntries' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].pLMNInfoList_length'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellLocalId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].cellLocalId'`" /> + </execute> + </block> + <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.gNBDUList.cellLocalId' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $idCell + '].cellLocalId'`" /> + </execute> + <switch test="`$tmp.gNBDUList.cellLocalId == $tmp.cellLocalId`"> + <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> + <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="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/instantiateRANSlice.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="`$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> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="PLMNInfo List Entry Add to NRCELLDU 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.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/instantiateRANSlice.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/instantiateRANSlice.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="`$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> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="addRRMPolicyRatio to NRCELLDU Executed Successfully "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + </switch> + </block> + </for> + <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="Numberof pLMNInfoList Entries "/> + <parameter name="field2" value="`$tmp.pLMNInfoListEntries`"/> + <parameter name="field3" value="cellLocalId "/> + <parameter name="field4" value="`$tmp.cellLocalId`"/> + </record> + <for index='id4' start='0' end='`$tmp.pLMNInfoListEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.fromRAN.sNSSAI' /> + <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].cellDUList[' + $id3 + '].pLMNInfoList[' + $id4 + '].sNSSAI.sNSSAI'`" /> + </execute> + <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="sNSSAI from RAN to check if already exists "/> + <parameter name="field2" value="`$tmp.fromRAN.sNSSAI`"/> + </record> + </block> + </for> + </for> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-DU.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-DU-rrmpolicy-configdb-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='prop.configDB.rrmPolicyID' 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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated RRMPolicy DU info in ConfigDB"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <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 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> + </for> + </block> + </for> + </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="`$instantiate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-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> + <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/instantiateRANSlice.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> |