diff options
author | Hariharan <rh20085046@wipro.com> | 2021-09-16 21:44:44 +0530 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2021-09-21 12:33:34 +0000 |
commit | 81ccfd4c4195fcbad4591b1d5ba2350a0916f385 (patch) | |
tree | 2b0a4ae6d6c9775d64d2f8478fd3b0f6cf01cc95 /platform-logic/ran-slice-api/src/main/xml | |
parent | da2e77325edbb7c8b97f25fa19f23481c0a8c029 (diff) |
TerminateRANSliceInstance - CPS Integration
Issue-ID: CCSDK-3466
Signed-off-by: Hariharan <rh20085046@wipro.com>
Change-Id: I2f0ffe4923b64d84018f5e442c0c9a692420366c
Diffstat (limited to 'platform-logic/ran-slice-api/src/main/xml')
3 files changed, 5476 insertions, 2667 deletions
diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-configDb.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-configDb.xml new file mode 100644 index 00000000..8b29480a --- /dev/null +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-configDb.xml @@ -0,0 +1,2675 @@ +<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='terminateRANSliceInstance-configDb' mode='sync'> + <block atomic='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RPC to handle terminateRANSlice.: "/> + <parameter name="field2" value="`$terminate-r-a-n-slice-instance-input.action`"/> + <parameter name="field3" value="`$terminate-r-a-n-slice-instance-input.common-header.timestamp`"/> + <parameter name="field4" value="`$terminate-r-a-n-slice-instance-input.common-header.request-id`"/> + <parameter name="field5" value="`$terminate-r-a-n-slice-instance-input.common-header.originator-id`"/> + <parameter name="field6" value="RPC Payload String "/> + <parameter name="field7" value="`$terminate-r-a-n-slice-instance-input.payload`"/> + </record> + <set> + <parameter name='error-code' value='200' /> + <parameter name='error-message' value='Successful execution of terminateRANSice RPC' /> + </set> + <switch test='`$terminate-r-a-n-slice-instance-input.action == deallocate`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="deallocate called" /> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> + <parameter name='source' value='terminate-r-a-n-slice-instance-input.payload' /> + <parameter name='outputPath' value='payloadJson' /> + <parameter name='isEscaped' value='false' /> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.action' value="`$terminate-r-a-n-slice-instance-input.action`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Payload for terminateRANSlice.: "/> + <parameter name="field2" value="`$tmp.sNSSAI`"/> + <parameter name="field3" value="`$payloadJson.input.RANNFNSSIId`"/> + <parameter name="field4" value="`$payloadJson.input.callbackURL`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfileId`"/> + </record> + <set> + <parameter name='tmp.sNSSAI' value="`$payloadJson.input.sNSSAI`"/> + </set> + <set> + <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfileId`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="DEallocate sNSSAI: "/> + <parameter name="field2" value="`$tmp.sNSSAI`"/> + <parameter name="field3" value="`$tmp.sliceprofileid`"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="modify deallocate called" /> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> + <parameter name='source' value='instantiate-r-a-n-slice-input.payload' /> + <parameter name='outputPath' value='payloadJson' /> + <parameter name='isEscaped' value='false' /> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.action' value="`$instantiate-r-a-n-slice-input.action`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Payload for modifyallocateRANSlice.: "/> + <parameter name="field2" value="`$payloadJson.input.RANNFNSSIId`"/> + <parameter name="field3" value="`$payloadJson.input.callbackURL`"/> + <parameter name="field4" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> + </record> + <set> + <parameter name='tmp.sNSSAI' value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + </set> + <set> + <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="modify-deallocate-sNSSAI: "/> + <parameter name="field2" value="`$tmp.sNSSAI`"/> + <parameter name="field3" value="`$tmp.sliceprofileid`"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' > + <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties' /> + <parameter name='contextPrefix' value='prop' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Properties read .. controller details "/> + <parameter name="field2" value="`$prop.controller.user`"/> + <parameter name="field3" value="`$prop.controller.pwd`"/> + <parameter name="field4" value="`$prop.controller.url`"/> + <parameter name="field5" value="ransim-mounted (true/false): "/> + <parameter name="field6" value="`$prop.ransim-mounted`"/> + <parameter name="field7" value="config DB deployed (true/false): "/> + <parameter name="field8" value="`$prop.configdb-deployed`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getNearRTRICByNSSI`"/> + <parameter name="outputPath" value="tmp.configdb.getNearRTRICByNSSI.url"/> + <parameter name="target" value="{ranNFNSSIId}"/> + <parameter name="replacement" value="`$payloadJson.input.RANNFNSSIId`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for configDB to Get NearRTRIC for RANNFNSSI"/> + <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`" /> + <parameter name='field3' value="`$ranNFNSSIId`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getNFNSSIRIC-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> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Obtained NearRT RIC info from ConfigDB"/> + <parameter name="field2" value="`$getNFNSSIRIC-configdb-response._length`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' /> + </execute> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/> + <parameter name="outputPath" value="tmp.configdb.getPLMNId.url"/> + <parameter name="target" value="{sliceProfileId}"/> + <parameter name="replacement" value="`$tmp.sliceprofileid`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Get PLMN from SliceProfileId URL: "/> + <parameter name="field2" value="`$tmp.configdb.getPLMNId.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getPLMNId.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getPLMN-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNId' /> + <parameter name='source' value="`getPLMN-configdb-response.plmnId`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.pLMNId`" /> + <parameter name="regex" value="-"/> + <parameter name="ctx_memory_result_key" value="tmp.plmnList" /> + </execute> + <set> + <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/> + <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="`$tmp.pLMNId`"/> + <parameter name="field2" value="`$tmp.mcc`"/> + <parameter name="field3" value="`$tmp.mnc`"/> + </record> + </block> + <for index='idy' start='0' end='`$getNFNSSIRIC-configdb-response._length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.nearRTRICId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy + '].nearRTRICId'`" /> + </execute> + <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.nearrtric.removeSliceProfile`"/> + <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.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.nearrtric.removeSliceProfile.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.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.deleteSliceProfileEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSliceProfileEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.url"/> + <parameter name="target" value="{sliceProfileId}"/> + <parameter name="replacement" value="`$tmp.sliceprofileid`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sliceprofileid"/> + <parameter name="field2" value="`$tmp.sliceprofileid`" /> + <parameter name="field3" value="nearRTRICId"/> + <parameter name="field4" value="`$tmp.nearRTRICId`" /> + <parameter name="field5" value="endpoint URL"/> + <parameter name="field6" value="`$tmp.deleteSliceProfileEntry.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteSliceProfileEntry.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-slice-profile-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error 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> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully REmoved Slice Profile"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RICPLMNEntries' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="PLMNInfo List before removal"/> + <parameter name="field2" value="`$tmp.RICPLMNEntries`"/> + </record> + <for index='id-ric' start='0' end='`$tmp.RICPLMNEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ric.sNSSAILength' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList['+$id-ric+'].sNSSAI_length'`" /> + </execute> + <for index='id-ric-snssai' start='0' end='`$tmp.ric.sNSSAILength`' > + <block atomic='true'> + <switch test='`$tmp.ric.sNSSAI == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Matching sNSSAI found in config DB"/> + <parameter name="field2" value="`$tmp.ric.sNSSAI`"/> + <parameter name="field3" value="sNSSAI List length before removal"/> + <parameter name="field4" value="`$tmp.ric.sNSSAILength`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ric.sNSSAIremoved' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList['+$id-ric+'].sNSSAI['+$id-ric-snssai+'].sNSSAI'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.nearRTRICId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy + '].nearRTRICId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.configdb.url + $prop.restapi.configdb.removenSSAINearRTRIC`"/> + <parameter name="outputPath" value="tmp.configdb.getNearRTRICNSSAIRemoval.url"/> + <parameter name="target" value="{nearRTRICId}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`"/> + <parameter name="outputPath" value="tmp.configdb.getNearRTRICNSSAIRemoval.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.ric.sNSSAIremoved`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI"/> + <parameter name="field2" value="`$tmp.ric.sNSSAIremoved`" /> + <parameter name="field3" value="nearRTRICId"/> + <parameter name="field4" value="`$tmp.nearRTRICId`" /> + <parameter name="field5" value="endpoint URL"/> + <parameter name="field6" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-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 atomic='true'> + <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> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated NearRT RIC info in ConfigDB"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ric.sNSSAI' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList['+$id-ric+'].sNSSAI['+$id-ric-snssai+'].sNSSAI'`" /> + </execute> + </block> + </for> + </block> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUCPList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of CUCP List Entries "/> + <parameter name="field2" value="`$tmp.CUCPList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> + </record> + <for index='idz' start='0' end='`$tmp.CUCPList_length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUCPName' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].gNBCUName'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUCPName "/> + <parameter name="field2" value="`$tmp.CUCPName`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCUList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList[' + $idz +'].cellCUList_length'`" /> + </execute> + <for index='idcu' start='0' end='`$tmp.cellCUList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList_length'`"/> + <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> + </record> + <switch test='`$tmp.pLMNInfoList_length > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistlength in true "/> + <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> + </record> + <for index='id-cuplmn' start='0' end='`$tmp.pLMNInfoList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.sNssaiListLengthCU' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CU_plmninfolength_nssailength "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> + </record> + <switch test='`$tmp.sNssaiListLengthCU > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in true in CU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> + </record> + <for index='id-cusnssai' start='0' end='`$tmp.sNssaiListLengthCU`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.configDBSNSSAI' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI['+ $id-cusnssai +'].sNSSAI'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> + <parameter name="field2" value="`$tmp.configDBSNSSAI`"/> + <parameter name="field3" value="sNSSAI from request"/> + <parameter name="field4" value="`$tmp.sNSSAI`"/> + </record> + <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="NSSAI exists for cucp plmninfo "/> + </record> + <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.terminateSNSSAIEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.terminateSNSSAIEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCULocalId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].cellLocalId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cucpNFType' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].nFType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{sNssai}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="patch cellCU NSSAI parameters"/> + <parameter name="field2" value="`$tmp.nearRTRICId`"/> + <parameter name="field3" value="`$tmp.CUCPName`"/> + <parameter name="field4" value="`$tmp.cellCULocalId`"/> + <parameter name="field5" value="`$tmp.mcc`"/> + <parameter name="field6" value="`$tmp.mnc`"/> + <parameter name="field7" value="`$tmp.sNSSAI`"/> + <parameter name="field8" value="`$tmp.deleteSNSSAIListEntry.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellCU-sNSSAI-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error patching cellCU PLMNInfoList. 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 NRcellCU - PLMNInfo. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.removenSSAINRCellCU`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CellCU.configdb.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CellCU.configdb.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CellCU.configdb.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deletePLMNInfo-CellCU.configdb.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CELLCU-plmninfo-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 atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - CEllCU PLMNInfo Entry from configdb"/> + </record> + </block> + </outcome> + </execute> + <block atomic='true'> + <set> + <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.payload.maxNumberofConns / $tmp.cellCUList_length`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio_SliceProfile' 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/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatio for this profile is - "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio_SliceProfile`"/> + </record> + <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.RRMPolicyRatioEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.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.RRMPolicyRatioEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.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.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. 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 in Fetching RRMPolicyRatio - CellCU. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' /> + </execute> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyRatioList_length' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioList_length`"/> + </record> + <for index='idcu-rrm' start='0' end='`$tmp.rrmPolicyRatioList_length`'> + <block atomic='true'> + <set> + <parameter name='tmp.rrmPolicyDedicatedRatio_cellCU' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> + <parameter name='tmp.rrmPolicyDedicatedRatio_CellCU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellCU + $tmp.rRMPolicyDedicatedRatio_SliceProfile`" /> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].id'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.NRCellCURRMPolicyMembersLength' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMembersList size"/> + <parameter name="field2" value="`$tmp.NRCellCURRMPolicyMembersLength`"/> + </record> + <for index='idcu-rrm1' start='0' end='`$tmp.NRCellCURRMPolicyMembersLength`' > + <block atomic='true'> + <switch test='`$tmp.NRCellCURRMPolicyMembersLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </block> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <set> + <parameter name='tmp.RRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm1 +'].sNSSAI'`" /> + </set> + <switch test='`$tmp.RRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.RRMPolicyMember_id' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm1 +'].idx'`" /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMember id - "/> + <parameter name="field2" value="`$tmp.RRMPolicyMember_id`"/> + </record> + <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.removeRRMPolicyMember.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.removeRRMPolicyMember.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyRatio_id`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{idx}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyMember_id`"/> + </execute> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="field3" value="RRMPolicyRatio id"/> + <parameter name="field4" value="`$tmp.RRMPolicyRatio_id`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellCU-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Deleted - cellCU RRMpolicyRatio/RRMPolicyMember"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Removing cellCU RRMPolicyRatio. 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 removing NRCellDU - RRMPolicyRAtio. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CURRMPolicyMembersResourceType' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.resourceType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUPRRMPOLICY`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{gnbCUUPId}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{resourcetype}"/> + <parameter name="replacement" value="`$tmp.CURRMPolicyMembersResourceType`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CU-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 atomic='true'></block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCU rrmpolicy Entry from configdb"/> + </record> + </outcome> + </execute> + </block> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in false in CU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistlength in false "/> + <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUUPList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of CUCP List Entries "/> + <parameter name="field2" value="`$tmp.CUUPList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> + </record> + <for index='id-cuup' start='0' end='`$tmp.CUUPList_length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.idGNBCUUPFunction' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].gNBCUUPId'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="idGNBCUUPFunction "/> + <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoList' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cuup_plmninfolength "/> + <parameter name="field2" value="`$tmp.pLMNInfoList`"/> + </record> + <for index='id-plmn' start='0' end='1'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.sNssaiListLength' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList['+ $id-plmn +'].sNSSAI_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cuup_plmninfolength_nssailength "/> + <parameter name="field2" value="`$tmp.sNssaiListLength`"/> + </record> + <switch test='`$tmp.sNssaiListLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in true "/> + <parameter name="field2" value="`$tmp.sNssaiListLength`"/> + </record> + <for index='id-snssai' start='0' end='`$tmp.sNssaiListLength`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.configDBSNSSAI1' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList['+ $id-plmn +'].sNSSAI['+ $id-snssai +'].sNSSAI'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> + <parameter name="field2" value="`$tmp.configDBSNSSAI1`"/> + <parameter name="field3" value="sNSSAI from Request"/> + <parameter name="field4" value="`$tmp.sNSSAI`"/> + </record> + <switch test='`$tmp.configDBSNSSAI1 == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="nssaimatch in True "/> + <parameter name="field2" value="`Proceeding for nssai deletion`"/> + </record> + <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.terminateSNSSAIEntry.ToCUUP`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.terminateSNSSAIEntry.ToCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{sNssai}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CUUP-sNSSAI-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCUUP PLMNInfo Entry"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUP`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.configdb.url"/> + <parameter name="target" value="{gnbCUUPId}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.configdb.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deletePLMNInfo-CUUP.configdb.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CUUP-plmninfo-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 atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCUUP PLMNInfo Entry from configdb"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="nssaimatch in false "/> + <parameter name="field2" value="`nssai deletion does not takes place`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in false "/> + <parameter name="field2" value="`$tmp.sNssaiListLength`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + <set> + <parameter name='tmp.maxNumberOfDRBsPerNSSAI' value='`$tmp.payload.maxNumberofConns*4`' /> + <parameter name='tmp.maxNumberOfDRBsPerCUUP' value='`$tmp.maxNumberOfDRBsPerNSSAI /$tmp.CUUPList_length`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio1' value='`$tmp.maxNumberOfDRBsPerCUUP*100`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio-CUUP' value='`$tmp.rRMPolicyDedicatedRatio1/$prop.cuupfunction.maxNumberOfDRBsPerCUUP`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatio for this profile is - "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio-CUUP`"/> + </record> + <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.RRMPolicyRatioEntry.ToGNBCUUP`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.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.RRMPolicyRatioEntry.ToGNBCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.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.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-cuup-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 in retrieving RRMPolicyRatio. 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 in fetching RRMPolicyRatio. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + </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> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyRatioList_CUUP_length' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP - RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioList_CUUP_length`"/> + </record> + <for index='idcuup-rrm' start='0' end='`$tmp.rrmPolicyRatioList_CUUP_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPRRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].id'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPRRMPolicyMembersLength' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP - RRMPolicyMembersList size"/> + <parameter name="field2" value="`$tmp.CUUPRRMPolicyMembersLength`"/> + </record> + <for index='idcu-rrm2' start='0' end='`$tmp.CUUPRRMPolicyMembersLength`' > + <block atomic='true'> + <switch test='`$tmp.CUUPRRMPolicyMembersLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Success" /> + <parameter name="field2" value="Tocheck if ransim mounted" /> + </record> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="before setting url" /> + <parameter name="field2" value="ransimnot mounted" /> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToCUUP`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL after setting - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + </record> + </block> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Failure" /> + <parameter name="field2" value="Tocheck if ransim mounted" /> + </record> + <set> + <parameter name='tmp.CUUPRRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm2 +'].sNSSAI'`" /> + </set> + <switch test='`$tmp.CUUPRRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.CUUPRRMPolicyMember_id' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm2 +'].idx'`" /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMember id - "/> + <parameter name="field2" value="`$tmp.CUUPRRMPolicyMember_id`"/> + </record> + <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.removeRRMPolicyMember.ToCUUP`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.removeRRMPolicyMember.CUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL first - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.CUUPRRMPolicyRatio_id`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idx}"/> + <parameter name="replacement" value="`$tmp.CUUPRRMPolicyMember_id`"/> + </execute> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="field3" value="RRMPolicyRatio id"/> + <parameter name="field4" value="`$tmp.CUUPRRMPolicyRatio_id`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CUUP-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - CUUP RRMpolicyRatio"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP RRMPolicyRatio. 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 removing RRMPolicyRatio. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPRRMPolicyMembersResourceType' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.resourceType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUPRRMPOLICY`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{gnbCUUPId}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{resourcetype}"/> + <parameter name="replacement" value="`$tmp.CUUPRRMPolicyMembersResourceType`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CUUP-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 atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCUUP rrmpolicy Entry from configdb"/> + </record> + </outcome> + </execute> + </block> + </for> + </block> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DUList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of DU List Entries "/> + <parameter name="field2" value="`$tmp.DUList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> + </record> + <for index='id-du' start='0' end='`$tmp.DUList_length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.GNBDUId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].gNBDUId'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="GNBDUId "/> + <parameter name="field2" value="`$tmp.GNBDUId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDUList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList[' + $id-du +'].cellDUList_length'`" /> + </execute> + <for index='id-celldu' start='0' end='`$tmp.cellDUList_length`' > + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Iterating "/> + <parameter name="field2" value="`CellDU`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolengthcelldu "/> + <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/> + </record> + <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.sNssaiListLengthDU' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="DU_plmninfolength_nssailength "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> + </record> + <switch test='`$tmp.sNssaiListLengthDU > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in true in DU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> + </record> + <for index='id-dusnssai' start='0' end='`$tmp.sNssaiListLengthDU`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.configDBSNSSAI-DU' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI['+ $id-dusnssai +'].sNSSAI'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> + <parameter name="field2" value="`$tmp.configDBSNSSAI-DU`"/> + <parameter name="field3" value="sNSSAI from request"/> + <parameter name="field4" value="`$tmp.sNSSAI`"/> + </record> + <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CellDU is applicable for the NSSAI "/> + </record> + <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.terminateSNSSAIEntry.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.terminateSNSSAIEntry.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDULocalId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].cellLocalId'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="LocalId "/> + <parameter name="field2" value="`$tmp.cellDULocalId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{sNssai}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="patch cellCU NSSAI parameters"/> + <parameter name="field2" value="`$tmp.nearRTRICId`"/> + <parameter name="field3" value="`$tmp.GNBDUId`"/> + <parameter name="field4" value="`$tmp.cellDULocalId`"/> + <parameter name="field5" value="`$tmp.mcc`"/> + <parameter name="field6" value="`$tmp.mnc`"/> + <parameter name="field7" value="`$tmp.sNSSAI`"/> + <parameter name="field8" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellDU-PLMNInfoList-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 deleting cellDU PLMNInfoList. 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 deleting NECellDU - PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully deleted - cellDU PLMNInfo List"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.removenSSAINRCellDU`"/> + <parameter name="outputPath" value="tmp.deleteplmninfo-GNBDU.configdb.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteplmninfo-GNBDU.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteplmninfo-GNBDU.configdb.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteplmninfo-GNBDU.configdb.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-GNBDU-plmninfo-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 atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBDU pmmninfo Entry from configdb"/> + </record> + </outcome> + </execute> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.cellDUList_length`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU1' value='`$tmp.nrcelldu.PRBPerImpactedCell * 100`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rRMPolicyDedicatedRatio.CellDU1 / $prop.nrcelldu.TotalPRBsPerCell`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CellDU "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> + <parameter name="field3" value="tmp.nearRTRIC.trafficCapacity1 "/> + <parameter name="field4" value="`$tmp.nearRTRIC.trafficCapacity1`"/> + <parameter name="field5" value="tmp.nearRTRIC.trafficCapacity "/> + <parameter name="field6" value="`$tmp.nearRTRIC.trafficCapacity`"/> + <parameter name="field7" value="tmp.nearRTRIC.trafficCapacityBPS"/> + <parameter name="field8" value="`$tmp.nearRTRIC.trafficCapacityBPS`"/> + <parameter name="field9" value="tmp.nrcelldu.totalPRBForSNSSAI "/> + <parameter name="field10" value="`$tmp.nrcelldu.totalPRBForSNSSAI`"/> + <parameter name="field11" value="tmp.nrcelldu.PRBPerImpactedCell "/> + <parameter name="field12" value="`$tmp.nrcelldu.PRBPerImpactedCell`"/> + <parameter name="field13" value="tmp.rRMPolicyDedicatedRatio.CellDU1 "/> + <parameter name="field14" value="`$tmp.rRMPolicyDedicatedRatio.CellDU1`"/> + </record> + </block> + <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.RRMPolicyRatioEntry.ToGNBDU`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.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.RRMPolicyRatioEntry.ToGNBDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.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.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-du-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 in retrieving RRMPolicyRatio. 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 in Fetching RRMPolicyRatio - CellDU. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + </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> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyRatioDUList_length' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioDUList_length`"/> + </record> + <for index='iddu-rrm' start='0' end='`$tmp.rrmPolicyRatioDUList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDURRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].id'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DURRMPolicyMembersLength' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPOLICYmemberslength"/> + <parameter name="field2" value="`$tmp.DURRMPolicyMembersLength`"/> + </record> + <for index='iddu-rrm2' start='0' end='`$tmp.DURRMPolicyMembersLength`' > + <block atomic='true'> + <switch test='`$tmp.DURRMPolicyMembersLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </block> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <set> + <parameter name='tmp.cellDURRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList['+ $iddu-rrm2 +'].sNSSAI'`" /> + </set> + <switch test='`$tmp.cellDURRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.CellDURRMPolicyMember_id' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList['+ $iddu-rrm2 +'].idx'`" /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMember id - "/> + <parameter name="field2" value="`$tmp.CellDURRMPolicyMember_id`"/> + </record> + <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.removeRRMPolicyMember.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.removeRRMPolicyMember.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.cellDURRMPolicyRatio_id`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idx}"/> + <parameter name="replacement" value="`$tmp.cellDURRMPolicyMember_sNSSAI`"/> + </execute> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="field3" value="RRMPolicyRatio id"/> + <parameter name="field4" value="`$tmp.cellDURRMPolicyRatio_id`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellDU-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - cellDU RRMpolicyRatio"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 removing cellDU RRMPolicyRatio. 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 removing RRMPolicyRatio for NRCellDU. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DURRMPolicyMembersResourceType' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.resourceType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUPRRMPOLICY`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{gnbCUUPId}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{resourcetype}"/> + <parameter name="replacement" value="`$tmp.DURRMPolicyMembersResourceType`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> + <parameter name="target" value="{sNSSAI}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteRRMPolicy-CUUP.configdb.url`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-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='failure'> + <block atomic='true'></block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBDU rrmpolicy Entry from configdb"/> + </record> + </outcome> + </execute> + </block> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in false in DU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </block> + </for> + </block> + </for> + <return status='success'> + <parameter name="ack-final" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="SUCCESSFUL Execution" /> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$tmp.action`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.so.callbackURL`"/> + <parameter name="outputPath" value="tmp.so.callbackURL"/> + <parameter name="target" value="{requestId}"/> + <parameter name="replacement" value="`$tmp.requestID`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$payloadJson.input.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-termi-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </method> +</service-logic>
\ No newline at end of file diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-cps.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-cps.xml new file mode 100644 index 00000000..4d8c1b9c --- /dev/null +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-cps.xml @@ -0,0 +1,2779 @@ +<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='terminateRANSliceInstance-cps' mode='sync'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RPC to handle terminateRANSlice.: "/> + <parameter name="field2" value="`$terminate-r-a-n-slice-instance-input.action`"/> + <parameter name="field3" value="`$terminate-r-a-n-slice-instance-input.common-header.timestamp`"/> + <parameter name="field4" value="`$terminate-r-a-n-slice-instance-input.common-header.request-id`"/> + <parameter name="field5" value="`$terminate-r-a-n-slice-instance-input.common-header.originator-id`"/> + <parameter name="field6" value="RPC Payload String "/> + <parameter name="field7" value="`$terminate-r-a-n-slice-instance-input.payload`"/> + </record> + <set> + <parameter name='error-code' value='200' /> + <parameter name='error-message' value='Successful execution of terminateRANSice RPC' /> + </set> + <switch test='`$terminate-r-a-n-slice-instance-input.action == deallocate`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="deallocate called" /> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> + <parameter name='source' value='terminate-r-a-n-slice-instance-input.payload' /> + <parameter name='outputPath' value='payloadJson' /> + <parameter name='isEscaped' value='false' /> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.action' value="`$terminate-r-a-n-slice-instance-input.action`"/> + </set> + <set> + <parameter name='tmp.payload.RANNFNSSIId' value="`$payloadJson.input.RANNFNSSIId`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Payload for terminateRANSlice.: "/> + <parameter name="field2" value="`$tmp.sNSSAI`"/> + <parameter name="field3" value="`$payloadJson.input.RANNFNSSIId`"/> + <parameter name="field4" value="`$payloadJson.input.callbackURL`"/> + <parameter name="field5" value="`$payloadJson.input.sliceProfileId`"/> + </record> + <set> + <parameter name='tmp.sNSSAI' value="`$payloadJson.input.sNSSAI`"/> + </set> + <set> + <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfileId`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="DEallocate sNSSAI: "/> + <parameter name="field2" value="`$tmp.sNSSAI`"/> + <parameter name="field3" value="`$tmp.sliceprofileid`"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="modify deallocate called" /> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> + <parameter name='source' value='instantiate-r-a-n-slice-input.payload' /> + <parameter name='outputPath' value='payloadJson' /> + <parameter name='isEscaped' value='false' /> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.action' value="`$instantiate-r-a-n-slice-input.action`"/> + </set> + <set> + <parameter name='tmp.payload.RANNFNSSIId' value="`$payloadJson.input.RANNFNSSIId`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Payload for modifyallocateRANSlice.: "/> + <parameter name="field2" value="`$payloadJson.input.RANNFNSSIId`"/> + <parameter name="field3" value="`$payloadJson.input.callbackURL`"/> + <parameter name="field4" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> + </record> + <set> + <parameter name='tmp.sNSSAI' value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + </set> + <set> + <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="modify-deallocate-sNSSAI: "/> + <parameter name="field2" value="`$tmp.sNSSAI`"/> + <parameter name="field3" value="`$tmp.sliceprofileid`"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' > + <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties' /> + <parameter name='contextPrefix' value='prop' /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Properties read .. controller details "/> + <parameter name="field2" value="`$prop.controller.user`"/> + <parameter name="field3" value="`$prop.controller.pwd`"/> + <parameter name="field4" value="`$prop.controller.url`"/> + <parameter name="field5" value="ransim-mounted (true/false): "/> + <parameter name="field6" value="`$prop.ransim-mounted`"/> + <parameter name="field7" value="config DB deployed (true/false): "/> + <parameter name="field8" value="`$prop.configdb-deployed`"/> + </record> + <set> + <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL to fetch the anchors"/> + <parameter name="field2" value="`$tmp.getAnchors.URL`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="restapiUser" value="cpsuser" /> + <parameter name="restapiPassword" value="cpsr0cks!"/> + <parameter name="responsePrefix" value="get-anchors-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Failed to fetch anchors from CPS"/> + </record> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> + </set> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Obtained anchors from CPS"/> + <parameter name="field2" value="`$get-anchors-cps-response._length`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-modifyallocate-cps-context.log' /> + </execute> + </block> + </outcome> + </execute> + <set> + <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/> + </set> + <set> + <parameter name='tmp.RIC.length' value="0"/> + </set> + <for index='anc' start='0' end='`$tmp.anchors.length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.schemaset.name' /> + <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> + </execute> + <switch test='`$tmp.schemaset.name`'> + <outcome value='ran-network'> + <block atomic='true'> + <set> + <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Applicable RIC length"/> + <parameter name="field2" value="`$tmp.RIC.length`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + <for index='anc' start='0' end='`$tmp.anchors.length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.schemaset.name' /> + <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> + </execute> + <switch test='`$tmp.schemaset.name`'> + <outcome value='ran-network'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.anchor.name' /> + <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" /> + </execute> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.getNearRTRICByNSSI.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.anchor.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.getNearRTRICByNSSI.url`"/> + <parameter name="outputPath" value="tmp.cps.getNearRTRICByNSSI.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.get-nearrtric-by-rannfnssi`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to Get NearRTRIC for RANNFNSSI"/> + <parameter name='field2' value="`$tmp.cps.getNearRTRICByNSSI.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.getNearRTRICByNSSI.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-nearrtric-by-rannfnssi.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="getNFNSSIRIC-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> + </set> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Obtained NearRT RIC info from ConfigDB"/> + <parameter name="field2" value="`$getNFNSSIRIC-cps-response._length`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' /> + </execute> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/> + <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.getmcc`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/> + <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="getplmnmccid-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> + </set> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Obtained MCC info from CPS"/> + <parameter name="field2" value="`$getplmnmccid-cps-response.httpResponse`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.plmn.mcc' /> + <parameter name='source' value="`'getplmnmccid-cps-response.[0]'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmn mcc value"/> + <parameter name="field2" value="`$tmp.plmn.mcc`"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.getPLMNMNCID.url`"/> + <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnmncid-from-sliceprofile`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/> + <parameter name='field2' value="`$tmp.cps.getPLMNMNCID.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.getPLMNMNCID.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="getplmnmncid-cps-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> + </set> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Obtained plmnmnc info from Cps"/> + <parameter name="field2" value="`$getplmnid-cps-response`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.plmn.mnc' /> + <parameter name='source' value="`'getplmnmncid-cps-response.[0]'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmn mnc value"/> + <parameter name="field2" value="`$tmp.plmn.mnc`"/> + </record> + </block> + </outcome> + </execute> + <set> + <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/> + <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="`$tmp.pLMNId`"/> + <parameter name="field2" value="`$tmp.mcc`"/> + <parameter name="field3" value="`$tmp.mnc`"/> + </record> + <for index='idy' start='0' end='`$getNFNSSIRIC-cps-response._length`' > + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="`nearrtric length`"/> + <parameter name="field2" value="`$getNFNSSIRIC-cps-response._length`"/> + </record> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RICPLMNEntries' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].attributes.pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="PLMNInfo List before removal"/> + <parameter name="field2" value="`$tmp.RICPLMNEntries`"/> + </record> + <for index='id-ric' start='0' end='`$tmp.RICPLMNEntries`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ric.sNSSAILength' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].attributes.pLMNInfoList['+$id-ric+'].sNSSAIList_length'`" /> + </execute> + <for index='id-ric-snssai' start='0' end='`$tmp.ric.sNSSAILength`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ric.sNSSAI' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].attributes.pLMNInfoList['+$id-ric+'].sNSSAIList['+$id-ric-snssai+'].sNssai'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="snssai from cps response"/> + <parameter name="field2" value="`$tmp.ric.sNSSAI`"/> + </record> + <switch test='`$tmp.ric.sNSSAI == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Matching sNSSAI found in config DB"/> + <parameter name="field2" value="`$tmp.ric.sNSSAI`"/> + <parameter name="field3" value="sNSSAI List length before removal"/> + <parameter name="field4" value="`$tmp.ric.sNSSAILength`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.ric.sNSSAIremoved' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].attributes.pLMNInfoList['+$id-ric+'].sNSSAIList['+$id-ric-snssai+'].sNssai'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.nearRTRICId' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy + '].idNearRTRIC'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.rtric.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.rtric.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.rtric.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-rtric`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI"/> + <parameter name="field2" value="`$tmp.ric.sNSSAIremoved`" /> + <parameter name="field3" value="nearRTRICId"/> + <parameter name="field4" value="`$tmp.nearRTRICId`" /> + <parameter name="field5" value="endpoint URL"/> + <parameter name="field6" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.rtric.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-nearrtic-nssai.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps--nearrtic-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error 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> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated NearRT RIC info in cps"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + <outcome value='false'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="NSSAI doesn't exist "/> + </record> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUCPList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBCUCPFunction_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of CUCP List Entries "/> + <parameter name="field2" value="`$tmp.CUCPList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> + </record> + <for index='idz' start='0' end='`$tmp.CUCPList_length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUCPName' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].attributes.gNBCUName'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUCPName "/> + <parameter name="field2" value="`$tmp.CUCPName`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCUList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBCUCPFunction[' + $idz +'].NRCellCU_length'`" /> + </execute> + <for index='idcu' start='0' end='`$tmp.cellCUList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList_length'`"/> + <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> + </record> + <switch test='`$tmp.pLMNInfoList_length > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistlength in true "/> + <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> + </record> + <for index='id-cuplmn' start='0' end='`$tmp.pLMNInfoList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.sNssaiListLengthCU' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList['+ $id-cuplmn +'].sNSSAIList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CU_plmninfolength_nssailength "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> + </record> + <switch test='`$tmp.sNssaiListLengthCU > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in true in CU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> + </record> + <for index='id-cusnssai' start='0' end='`$tmp.sNssaiListLengthCU`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.configDBSNSSAI' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].attributes.pLMNInfoList['+ $id-cuplmn +'].sNSSAIList['+ $id-cusnssai +'].sNssai'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> + <parameter name="field2" value="`$tmp.configDBSNSSAI`"/> + <parameter name="field3" value="sNSSAI from request"/> + <parameter name="field4" value="`$tmp.sNSSAI`"/> + </record> + <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="NSSAI exists for cucp plmninfo "/> + </record> + <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.terminateSNSSAIEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.terminateSNSSAIEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCULocalId' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUCPFunction['+ $idz +'].NRCellCU['+ $idcu +'].idNRCellCU'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cucpNFType' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].gNBCUCPList['+ $idz +'].nFType'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> + <parameter name="target" value="{sNssai}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="patch cellCU NSSAI parameters"/> + <parameter name="field2" value="`$tmp.nearRTRICId`"/> + <parameter name="field3" value="`$tmp.CUCPName`"/> + <parameter name="field4" value="`$tmp.cellCULocalId`"/> + <parameter name="field5" value="`$tmp.mcc`"/> + <parameter name="field6" value="`$tmp.mnc`"/> + <parameter name="field7" value="`$tmp.sNSSAI`"/> + <parameter name="field8" value="`$tmp.deleteSNSSAIListEntry.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteSNSSAIListEntry.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellCU-sNSSAI-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error patching cellCU PLMNInfoList. 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 NRcellCU - PLMNInfo. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cellcu.plmn.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.cellcu.plmn.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cellcu.plmn.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-cucp-plmninfo`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.cellcu.plmn.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-cucp-plmn-nssai.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps-cucp-plmninfo-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - CEllCU PLMNInfo Entry from configdb"/> + </record> + </block> + </outcome> + </execute> + <block atomic='true'> + <set> + <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.payload.maxNumberofConns / $tmp.cellCUList_length`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio_SliceProfile' 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/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatio for this profile is - "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio_SliceProfile`"/> + </record> + <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.RRMPolicyRatioEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.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.RRMPolicyRatioEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.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.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. 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 in Fetching RRMPolicyRatio - CellCU. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > + <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' /> + </execute> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyRatioList_length' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioList_length`"/> + </record> + <for index='idcu-rrm' start='0' end='`$tmp.rrmPolicyRatioList_length`'> + <block atomic='true'> + <set> + <parameter name='tmp.rrmPolicyDedicatedRatio_cellCU' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> + <parameter name='tmp.rrmPolicyDedicatedRatio_CellCU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellCU + $tmp.rRMPolicyDedicatedRatio_SliceProfile`" /> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].id'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.NRCellCURRMPolicyMembersLength' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMembersList size"/> + <parameter name="field2" value="`$tmp.NRCellCURRMPolicyMembersLength`"/> + </record> + <for index='idcu-rrm1' start='0' end='`$tmp.NRCellCURRMPolicyMembersLength`' > + <block atomic='true'> + <switch test='`$tmp.NRCellCURRMPolicyMembersLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </block> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <set> + <parameter name='tmp.RRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm1 +'].sNSSAI'`" /> + </set> + <switch test='`$tmp.RRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.RRMPolicyMember_id' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm1 +'].idx'`" /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMember id - "/> + <parameter name="field2" value="`$tmp.RRMPolicyMember_id`"/> + </record> + <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.removeRRMPolicyMember.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.removeRRMPolicyMember.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{idGNBCUCPFunction}"/> + <parameter name="replacement" value="`$tmp.CUCPName`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{idNRCellCU}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyRatio_id`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="target" value="{idx}"/> + <parameter name="replacement" value="`$tmp.RRMPolicyMember_id`"/> + </execute> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="field3" value="RRMPolicyRatio id"/> + <parameter name="field4" value="`$tmp.RRMPolicyRatio_id`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellCU-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Deleted - cellCU RRMpolicyRatio/RRMPolicyMember"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error Removing cellCU RRMPolicyRatio. 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 removing NRCellDU - RRMPolicyRAtio. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cellcu.rrmpolicy.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.cellcu.rrmpolicy.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cellcu.rrmpolicy.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-cucp-rrmpolicy`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.cellcu.rrmpolicy.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-cucp-rrmpolicy-nssai.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps-cucp-rrmpolicy-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'></block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCU rrmpolicy Entry from configdb"/> + </record> + </outcome> + </execute> + </block> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in false in CU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistlength in false "/> + <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBCUUPFunction_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of CUCP List Entries "/> + <parameter name="field2" value="`$tmp.CUUPList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> + </record> + <for index='id-cuup' start='0' end='`$tmp.CUUPList_length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.idGNBCUUPFunction' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].idGNBCUUPFunction'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="idGNBCUUPFunction "/> + <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.pLMNInfoList' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].attributes.pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cuup_plmninfolength "/> + <parameter name="field2" value="`$tmp.pLMNInfoList`"/> + </record> + <for index='id-plmn' start='0' end='1'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.sNssaiListLength' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].attributes.pLMNInfoList['+ $id-plmn +'].sNSSAIList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="cuup_plmninfolength_nssailength "/> + <parameter name="field2" value="`$tmp.sNssaiListLength`"/> + </record> + <switch test='`$tmp.sNssaiListLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in true "/> + <parameter name="field2" value="`$tmp.sNssaiListLength`"/> + </record> + <for index='id-snssai' start='0' end='`$tmp.sNssaiListLength`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.configDBSNSSAI1' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBCUUPFunction['+ $id-cuup +'].attributes.pLMNInfoList['+ $id-plmn +'].sNSSAIList['+ $id-snssai +'].sNssai'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> + <parameter name="field2" value="`$tmp.configDBSNSSAI1`"/> + <parameter name="field3" value="sNSSAI from Request"/> + <parameter name="field4" value="`$tmp.sNSSAI`"/> + </record> + <switch test='`$tmp.configDBSNSSAI1 == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="nssaimatch in True "/> + <parameter name="field2" value="`Proceeding for nssai deletion`"/> + </record> + <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.terminateSNSSAIEntry.ToCUUP`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.terminateSNSSAIEntry.ToCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> + <parameter name="target" value="{sNssai}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deletePLMNInfo-CUUP.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CUUP-sNSSAI-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCUUP PLMNInfo Entry"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cuup.plmn.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.cuup.plmn.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cuup.plmn.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-cuup-plmninfo`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.cuup.plmn.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-cuup-plmn-nssai.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps-cuup-plmninfo-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCUUP PLMNInfo Entry from configdb"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="nssaimatch in false "/> + <parameter name="field2" value="`nssai deletion does not takes place`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in false "/> + <parameter name="field2" value="`$tmp.sNssaiListLength`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + <set> + <parameter name='tmp.maxNumberOfDRBsPerNSSAI' value='`$tmp.payload.maxNumberofConns*4`' /> + <parameter name='tmp.maxNumberOfDRBsPerCUUP' value='`$tmp.maxNumberOfDRBsPerNSSAI /$tmp.CUUPList_length`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio1' value='`$tmp.maxNumberOfDRBsPerCUUP*100`' /> + <parameter name='tmp.rRMPolicyDedicatedRatio-CUUP' value='`$tmp.rRMPolicyDedicatedRatio1/$prop.cuupfunction.maxNumberOfDRBsPerCUUP`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatio for this profile is - "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio-CUUP`"/> + </record> + <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.RRMPolicyRatioEntry.ToGNBCUUP`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.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.RRMPolicyRatioEntry.ToGNBCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.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.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-cuup-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 in retrieving RRMPolicyRatio. 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 in fetching RRMPolicyRatio. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + </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> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyRatioList_CUUP_length' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP - RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioList_CUUP_length`"/> + </record> + <for index='idcuup-rrm' start='0' end='`$tmp.rrmPolicyRatioList_CUUP_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPRRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].id'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.CUUPRRMPolicyMembersLength' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP - RRMPolicyMembersList size"/> + <parameter name="field2" value="`$tmp.CUUPRRMPolicyMembersLength`"/> + </record> + <for index='idcu-rrm2' start='0' end='`$tmp.CUUPRRMPolicyMembersLength`' > + <block atomic='true'> + <switch test='`$tmp.CUUPRRMPolicyMembersLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Success" /> + <parameter name="field2" value="Tocheck if ransim mounted" /> + </record> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="before setting url" /> + <parameter name="field2" value="ransimnot mounted" /> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToCUUP`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL after setting - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + </record> + </block> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Failure" /> + <parameter name="field2" value="Tocheck if ransim mounted" /> + </record> + <set> + <parameter name='tmp.CUUPRRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm2 +'].sNSSAI'`" /> + </set> + <switch test='`$tmp.CUUPRRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.CUUPRRMPolicyMember_id' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm2 +'].idx'`" /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMember id - "/> + <parameter name="field2" value="`$tmp.CUUPRRMPolicyMember_id`"/> + </record> + <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.removeRRMPolicyMember.ToCUUP`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.removeRRMPolicyMember.CUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL first - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idGNBCUUPFunction}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.CUUPRRMPolicyRatio_id`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> + <parameter name="target" value="{idx}"/> + <parameter name="replacement" value="`$tmp.CUUPRRMPolicyMember_id`"/> + </execute> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="field3" value="RRMPolicyRatio id"/> + <parameter name="field4" value="`$tmp.CUUPRRMPolicyRatio_id`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio-CUUP.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-CUUP-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - CUUP RRMpolicyRatio"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP RRMPolicyRatio. 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 removing RRMPolicyRatio. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cuup.rrmpolicy.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.cuup.rrmpolicy.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.cuup.rrmpolicy.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-cuup-rrmpolicy`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.cuup.rrmpolicy.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-cuup-rrm-nssai.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps-cuup-rrm-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBCUUP rrmpolicy Entry from configdb"/> + </record> + </outcome> + </execute> + </block> + </for> + </block> + </for> + </block> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DUList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.[' + $idy +'].GNBDUFunction_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Number of DU List Entries "/> + <parameter name="field2" value="`$tmp.DUList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> + </record> + <for index='id-du' start='0' end='`$tmp.DUList_length`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.GNBDUId' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].idGNBDUFunction'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="GNBDUId "/> + <parameter name="field2" value="`$tmp.GNBDUId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDUList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].GNBDUFunction[' + $id-du +'].NRCellDU_length'`" /> + </execute> + <for index='id-celldu' start='0' end='`$tmp.cellDUList_length`' > + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Iterating "/> + <parameter name="field2" value="`CellDU`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].attributes.pLMNInfoList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolengthcelldu "/> + <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/> + </record> + <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.sNssaiListLengthDU' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].attributes.pLMNInfoList['+ $id-duplmn +'].sNSSAIList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="DU_plmninfolength_nssailength "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> + </record> + <switch test='`$tmp.sNssaiListLengthDU > 0`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in true in DU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> + </record> + <for index='id-dusnssai' start='0' end='`$tmp.sNssaiListLengthDU`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.configDBSNSSAI-DU' /> + <parameter name='source' value="`'getNFNSSIRIC-cps-response.['+ $idy +'].GNBDUFunction['+ $id-du +'].NRCellDU['+ $id-celldu +'].attributes.pLMNInfoList['+ $id-duplmn +'].sNSSAIList['+ $id-dusnssai +'].sNssai'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> + <parameter name="field2" value="`$tmp.configDBSNSSAI-DU`"/> + <parameter name="field3" value="sNSSAI from request"/> + <parameter name="field4" value="`$tmp.sNSSAI`"/> + </record> + <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CellDU is applicable for the NSSAI "/> + </record> + <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.terminateSNSSAIEntry.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.terminateSNSSAIEntry.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDULocalId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].cellLocalId'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="LocalId "/> + <parameter name="field2" value="`$tmp.cellDULocalId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{sNssai}"/> + <parameter name="replacement" value="`$tmp.sNSSAI`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="patch cellCU NSSAI parameters"/> + <parameter name="field2" value="`$tmp.nearRTRICId`"/> + <parameter name="field3" value="`$tmp.GNBDUId`"/> + <parameter name="field4" value="`$tmp.cellDULocalId`"/> + <parameter name="field5" value="`$tmp.mcc`"/> + <parameter name="field6" value="`$tmp.mnc`"/> + <parameter name="field7" value="`$tmp.sNSSAI`"/> + <parameter name="field8" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deletePLMNInfoListEntry-cellDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellDU-PLMNInfoList-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 deleting cellDU PLMNInfoList. 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 deleting NECellDU - PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully deleted - cellDU PLMNInfo List"/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.celldu.plmn.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.celldu.plmn.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.celldu.plmn.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-du-plmninfo`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.celldu.plmn.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-celldu-plmn-nssai.json'`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps-du-plmninfo-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBDU pmmninfo Entry from configdb"/> + </record> + </outcome> + </execute> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.cellDUList_length`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU1' value='`$tmp.nrcelldu.PRBPerImpactedCell * 100`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rRMPolicyDedicatedRatio.CellDU1 / $prop.nrcelldu.TotalPRBsPerCell`' /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio for CellDU "/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> + <parameter name="field3" value="tmp.nearRTRIC.trafficCapacity1 "/> + <parameter name="field4" value="`$tmp.nearRTRIC.trafficCapacity1`"/> + <parameter name="field5" value="tmp.nearRTRIC.trafficCapacity "/> + <parameter name="field6" value="`$tmp.nearRTRIC.trafficCapacity`"/> + <parameter name="field7" value="tmp.nearRTRIC.trafficCapacityBPS"/> + <parameter name="field8" value="`$tmp.nearRTRIC.trafficCapacityBPS`"/> + <parameter name="field9" value="tmp.nrcelldu.totalPRBForSNSSAI "/> + <parameter name="field10" value="`$tmp.nrcelldu.totalPRBForSNSSAI`"/> + <parameter name="field11" value="tmp.nrcelldu.PRBPerImpactedCell "/> + <parameter name="field12" value="`$tmp.nrcelldu.PRBPerImpactedCell`"/> + <parameter name="field13" value="tmp.rRMPolicyDedicatedRatio.CellDU1 "/> + <parameter name="field14" value="`$tmp.rRMPolicyDedicatedRatio.CellDU1`"/> + </record> + </block> + <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.RRMPolicyRatioEntry.ToGNBDU`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.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.RRMPolicyRatioEntry.ToGNBDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.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.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-gNBDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-du-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 in retrieving RRMPolicyRatio. 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 in Fetching RRMPolicyRatio - CellDU. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + </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> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyRatioDUList_length' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioDUList_length`"/> + </record> + <for index='iddu-rrm' start='0' end='`$tmp.rrmPolicyRatioDUList_length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellDURRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].id'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.DURRMPolicyMembersLength' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList_length'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPOLICYmemberslength"/> + <parameter name="field2" value="`$tmp.DURRMPolicyMembersLength`"/> + </record> + <for index='iddu-rrm2' start='0' end='`$tmp.DURRMPolicyMembersLength`' > + <block atomic='true'> + <switch test='`$tmp.DURRMPolicyMembersLength > 0`'> + <outcome value='true'> + <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idNearRTRIC}"/> + <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + </execute> + </block> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <set> + <parameter name='tmp.cellDURRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList['+ $iddu-rrm2 +'].sNSSAI'`" /> + </set> + <switch test='`$tmp.cellDURRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> + <outcome value='success'> + <block atomic='true'> + <set> + <parameter name='tmp.CellDURRMPolicyMember_id' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList['+ $iddu-rrm2 +'].idx'`" /> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="RRMPolicyMember id - "/> + <parameter name="field2" value="`$tmp.CellDURRMPolicyMember_id`"/> + </record> + <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.removeRRMPolicyMember.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.removeRRMPolicyMember.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{mountName}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + </block> + </outcome> + </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idNRCellDU}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{id}"/> + <parameter name="replacement" value="`$tmp.cellDURRMPolicyRatio_id`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> + <parameter name="target" value="{idx}"/> + <parameter name="replacement" value="`$tmp.cellDURRMPolicyMember_sNSSAI`"/> + </execute> + </block> + </for> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Delete RRMPolicy URL - "/> + <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="field3" value="RRMPolicyRatio id"/> + <parameter name="field4" value="`$tmp.cellDURRMPolicyRatio_id`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio-DU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="DELETE"/> + <parameter name="responsePrefix" value="delete-cellDU-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <outcome value='success'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - cellDU RRMpolicyRatio"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <block atomic='true'> + <block atomic='true'> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-terminate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 removing cellDU RRMPolicyRatio. 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 removing RRMPolicyRatio for NRCellDU. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.du.rrmpolicy.url"/> + <parameter name="target" value="{schemaSet}"/> + <parameter name="replacement" value="`$tmp.schemaset.name`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.cps.deletenssai.du.rrmpolicy.url`"/> + <parameter name="outputPath" value="tmp.cps.deletenssai.du.rrmpolicy.url"/> + <parameter name="target" value="{templateId}"/> + <parameter name="replacement" value="`$prop.tbdmt.template.delete-nssai-from-du-rrmpolicy`"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$tmp.cps.deletenssai.du.rrmpolicy.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/delete-celldu-rrm-nssai.json '`" /> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="cps-du-rrm-nssai-delete-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'></block> + </outcome> + <outcome value='success'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully removed - gNBDU rrmpolicy Entry from configdb"/> + </record> + </outcome> + </execute> + </block> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="plmninfolistnssailength in false in DU "/> + <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> + </record> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </block> + </for> + </block> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> + <return status='success'> + <parameter name="ack-final" value="Y" /> + <parameter name="error-code" value="200" /> + <parameter name="error-message" value="SUCCESSFUL Execution" /> + </return> + <block atomic='true'> + <set> + <parameter name="tmp.status" value="success"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> + <parameter name="tmp.action" value="`$tmp.action`"/> + </set> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.so.callbackURL`"/> + <parameter name="outputPath" value="tmp.so.callbackURL"/> + <parameter name="target" value="{requestId}"/> + <parameter name="replacement" value="`$tmp.requestID`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="URL for SO Callback Response"/> + <parameter name='field2' value="`$payloadJson.input.callbackURL`" /> + <parameter name='field3' value="`$tmp.status`" /> + <parameter name='field4' value="`$tmp.reason`" /> + <parameter name='field5' value="`$tmp.requestID`" /> + <parameter name='field6' value="`$tmp.action`" /> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> + <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-termi-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> + <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error sending SO Response" /> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </method> +</service-logic>
\ No newline at end of file diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance.xml index 93239cb1..7ef1cf84 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance.xml @@ -3,2673 +3,28 @@ 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='terminateRANSliceInstance' mode='sync'> <block atomic='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RPC to handle terminateRANSlice.: "/> - <parameter name="field2" value="`$terminate-r-a-n-slice-instance-input.action`"/> - <parameter name="field3" value="`$terminate-r-a-n-slice-instance-input.common-header.timestamp`"/> - <parameter name="field4" value="`$terminate-r-a-n-slice-instance-input.common-header.request-id`"/> - <parameter name="field5" value="`$terminate-r-a-n-slice-instance-input.common-header.originator-id`"/> - <parameter name="field6" value="RPC Payload String "/> - <parameter name="field7" value="`$terminate-r-a-n-slice-instance-input.payload`"/> - </record> - <set> - <parameter name='error-code' value='200' /> - <parameter name='error-message' value='Successful execution of terminateRANSice RPC' /> - </set> - <switch test='`$terminate-r-a-n-slice-instance-input.action == deallocate`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="deallocate called" /> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> - <parameter name='source' value='terminate-r-a-n-slice-instance-input.payload' /> - <parameter name='outputPath' value='payloadJson' /> - <parameter name='isEscaped' value='false' /> - <outcome value='success'> - <block atomic='true'> - <set> - <parameter name='tmp.action' value="`$terminate-r-a-n-slice-instance-input.action`"/> - </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Payload for terminateRANSlice.: "/> - <parameter name="field2" value="`$tmp.sNSSAI`"/> - <parameter name="field3" value="`$payloadJson.input.RANNFNSSIId`"/> - <parameter name="field4" value="`$payloadJson.input.callbackURL`"/> - <parameter name="field5" value="`$payloadJson.input.sliceProfileId`"/> - </record> - <set> - <parameter name='tmp.sNSSAI' value="`$payloadJson.input.sNSSAI`"/> - </set> - <set> - <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfileId`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="DEallocate sNSSAI: "/> - <parameter name="field2" value="`$tmp.sNSSAI`"/> - <parameter name="field3" value="`$tmp.sliceprofileid`"/> - </record> - </block> - </outcome> - </execute> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="modify deallocate called" /> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'> - <parameter name='source' value='instantiate-r-a-n-slice-input.payload' /> - <parameter name='outputPath' value='payloadJson' /> - <parameter name='isEscaped' value='false' /> - <outcome value='success'> - <block atomic='true'> - <set> - <parameter name='tmp.action' value="`$instantiate-r-a-n-slice-input.action`"/> - </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Payload for modifyallocateRANSlice.: "/> - <parameter name="field2" value="`$payloadJson.input.RANNFNSSIId`"/> - <parameter name="field3" value="`$payloadJson.input.callbackURL`"/> - <parameter name="field4" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> - </record> - <set> - <parameter name='tmp.sNSSAI' value="`$payloadJson.input.sliceProfile.sNSSAI`"/> - </set> - <set> - <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="modify-deallocate-sNSSAI: "/> - <parameter name="field2" value="`$tmp.sNSSAI`"/> - <parameter name="field3" value="`$tmp.sliceprofileid`"/> - </record> - </block> - </outcome> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-context.log' /> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' > - <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/ran-slice-api-dg.properties' /> - <parameter name='contextPrefix' value='prop' /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Properties read .. controller details "/> - <parameter name="field2" value="`$prop.controller.user`"/> - <parameter name="field3" value="`$prop.controller.pwd`"/> - <parameter name="field4" value="`$prop.controller.url`"/> - <parameter name="field5" value="ransim-mounted (true/false): "/> - <parameter name="field6" value="`$prop.ransim-mounted`"/> - <parameter name="field7" value="config DB deployed (true/false): "/> - <parameter name="field8" value="`$prop.configdb-deployed`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getNearRTRICByNSSI`"/> - <parameter name="outputPath" value="tmp.configdb.getNearRTRICByNSSI.url"/> - <parameter name="target" value="{ranNFNSSIId}"/> - <parameter name="replacement" value="`$payloadJson.input.RANNFNSSIId`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for configDB to Get NearRTRIC for RANNFNSSI"/> - <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`" /> - <parameter name='field3' value="`$ranNFNSSIId`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getNFNSSIRIC-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> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> - </block> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Obtained NearRT RIC info from ConfigDB"/> - <parameter name="field2" value="`$getNFNSSIRIC-configdb-response._length`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' /> - </execute> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/> - <parameter name="outputPath" value="tmp.configdb.getPLMNId.url"/> - <parameter name="target" value="{sliceProfileId}"/> - <parameter name="replacement" value="`$tmp.sliceprofileid`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Get PLMN from SliceProfileId URL: "/> - <parameter name="field2" value="`$tmp.configdb.getPLMNId.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getPLMNId.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getPLMN-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNId' /> - <parameter name='source' value="`getPLMN-configdb-response.plmnId`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> - <parameter name="original_string" value="`$tmp.pLMNId`" /> - <parameter name="regex" value="-"/> - <parameter name="ctx_memory_result_key" value="tmp.plmnList" /> - </execute> - <set> - <parameter name='tmp.mcc' value='`$tmp.plmnList[0]`'/> - <parameter name='tmp.mnc' value='`$tmp.plmnList[1]`'/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="`$tmp.pLMNId`"/> - <parameter name="field2" value="`$tmp.mcc`"/> - <parameter name="field3" value="`$tmp.mnc`"/> - </record> - </block> - <for index='idy' start='0' end='`$getNFNSSIRIC-configdb-response._length`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.nearRTRICId' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy + '].nearRTRICId'`" /> - </execute> - <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.nearrtric.removeSliceProfile`"/> - <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.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.nearrtric.removeSliceProfile.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.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.deleteSliceProfileEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.nearRTRICId`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteSliceProfileEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSliceProfileEntry.url"/> - <parameter name="target" value="{sliceProfileId}"/> - <parameter name="replacement" value="`$tmp.sliceprofileid`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="sliceprofileid"/> - <parameter name="field2" value="`$tmp.sliceprofileid`" /> - <parameter name="field3" value="nearRTRICId"/> - <parameter name="field4" value="`$tmp.nearRTRICId`" /> - <parameter name="field5" value="endpoint URL"/> - <parameter name="field6" value="`$tmp.deleteSliceProfileEntry.url`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteSliceProfileEntry.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-slice-profile-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error 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> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully REmoved Slice Profile"/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.RICPLMNEntries' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="PLMNInfo List before removal"/> - <parameter name="field2" value="`$tmp.RICPLMNEntries`"/> - </record> - <for index='id-ric' start='0' end='`$tmp.RICPLMNEntries`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.ric.sNSSAILength' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList['+$id-ric+'].sNSSAI_length'`" /> - </execute> - <for index='id-ric-snssai' start='0' end='`$tmp.ric.sNSSAILength`' > - <block atomic='true'> - <switch test='`$tmp.ric.sNSSAI == $tmp.sNSSAI`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Matching sNSSAI found in config DB"/> - <parameter name="field2" value="`$tmp.ric.sNSSAI`"/> - <parameter name="field3" value="sNSSAI List length before removal"/> - <parameter name="field4" value="`$tmp.ric.sNSSAILength`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.ric.sNSSAIremoved' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList['+$id-ric+'].sNSSAI['+$id-ric-snssai+'].sNSSAI'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.nearRTRICId' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy + '].nearRTRICId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.configdb.url + $prop.restapi.configdb.removenSSAINearRTRIC`"/> - <parameter name="outputPath" value="tmp.configdb.getNearRTRICNSSAIRemoval.url"/> - <parameter name="target" value="{nearRTRICId}"/> - <parameter name="replacement" value="`$tmp.nearRTRICId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`"/> - <parameter name="outputPath" value="tmp.configdb.getNearRTRICNSSAIRemoval.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.ric.sNSSAIremoved`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="sNSSAI"/> - <parameter name="field2" value="`$tmp.ric.sNSSAIremoved`" /> - <parameter name="field3" value="nearRTRICId"/> - <parameter name="field4" value="`$tmp.nearRTRICId`" /> - <parameter name="field5" value="endpoint URL"/> - <parameter name="field6" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$tmp.configdb.getNearRTRICNSSAIRemoval.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-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 atomic='true'> - <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> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Updated NearRT RIC info in ConfigDB"/> - </record> - </block> - </outcome> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.ric.sNSSAI' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].pLMNInfoList['+$id-ric+'].sNSSAI['+$id-ric-snssai+'].sNSSAI'`" /> - </execute> - </block> - </for> - </block> - </for> - </block> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUCPList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Number of CUCP List Entries "/> - <parameter name="field2" value="`$tmp.CUCPList_length`"/> - <parameter name="field3" value="for the NearRTRIC"/> - <parameter name="field4" value="`$tmp.nearRTRICId`"/> - </record> - <for index='idz' start='0' end='`$tmp.CUCPList_length`'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUCPName' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].gNBCUName'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="CUCPName "/> - <parameter name="field2" value="`$tmp.CUCPName`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellCUList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList[' + $idz +'].cellCUList_length'`" /> - </execute> - <for index='idcu' start='0' end='`$tmp.cellCUList_length`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNInfoList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList_length'`"/> - <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> - </record> - <switch test='`$tmp.pLMNInfoList_length > 0`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistlength in true "/> - <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> - </record> - <for index='id-cuplmn' start='0' end='`$tmp.pLMNInfoList_length`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.sNssaiListLengthCU' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="CU_plmninfolength_nssailength "/> - <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> - </record> - <switch test='`$tmp.sNssaiListLengthCU > 0`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistnssailength in true in CU "/> - <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> - </record> - <for index='id-cusnssai' start='0' end='`$tmp.sNssaiListLengthCU`'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.configDBSNSSAI' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI['+ $id-cusnssai +'].sNSSAI'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> - <parameter name="field2" value="`$tmp.configDBSNSSAI`"/> - <parameter name="field3" value="sNSSAI from request"/> - <parameter name="field4" value="`$tmp.sNSSAI`"/> - </record> - <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="NSSAI exists for cucp plmninfo "/> - </record> - <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.terminateSNSSAIEntry.ToNRCellCU`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.terminateSNSSAIEntry.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellCULocalId' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].cellLocalId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cucpNFType' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].nFType'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> - <parameter name="target" value="{idGNBCUCPFunction}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> - <parameter name="target" value="{idNRCellCU}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.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.deleteSNSSAIListEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteSNSSAIListEntry.url`"/> - <parameter name="outputPath" value="tmp.deleteSNSSAIListEntry.url"/> - <parameter name="target" value="{sNssai}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="patch cellCU NSSAI parameters"/> - <parameter name="field2" value="`$tmp.nearRTRICId`"/> - <parameter name="field3" value="`$tmp.CUCPName`"/> - <parameter name="field4" value="`$tmp.cellCULocalId`"/> - <parameter name="field5" value="`$tmp.mcc`"/> - <parameter name="field6" value="`$tmp.mnc`"/> - <parameter name="field7" value="`$tmp.sNSSAI`"/> - <parameter name="field8" value="`$tmp.deleteSNSSAIListEntry.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteSNSSAIListEntry.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-cellCU-sNSSAI-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error patching cellCU PLMNInfoList. 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 NRcellCU - PLMNInfo. Aborting RPC executiopn'/> - </return> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> - </block> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.removenSSAINRCellCU`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CellCU.configdb.url"/> - <parameter name="target" value="{idNRCellCU}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfo-CellCU.configdb.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CellCU.configdb.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deletePLMNInfo-CellCU.configdb.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-CELLCU-plmninfo-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 atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - CEllCU PLMNInfo Entry from configdb"/> - </record> - </block> - </outcome> - </execute> - <block atomic='true'> - <set> - <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.payload.maxNumberofConns / $tmp.cellCUList_length`' /> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> - <parameter name='tmp.rRMPolicyDedicatedRatio_SliceProfile' 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/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyRatio for this profile is - "/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio_SliceProfile`"/> - </record> - <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.RRMPolicyRatioEntry.ToNRCellCU`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.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.RRMPolicyRatioEntry.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.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.getRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> - <parameter name="target" value="{idGNBCUCPFunction}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> - <parameter name="target" value="{idNRCellCU}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="get-rrmpolicyratio-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. 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 in Fetching RRMPolicyRatio - CellCU. Aborting RPC executiopn'/> - </return> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> - </block> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > - <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-terminateRANSlice-configrsp-context.log' /> - </execute> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyRatioList_length' /> - <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyRatioList size"/> - <parameter name="field2" value="`$tmp.rrmPolicyRatioList_length`"/> - </record> - <for index='idcu-rrm' start='0' end='`$tmp.rrmPolicyRatioList_length`'> - <block atomic='true'> - <set> - <parameter name='tmp.rrmPolicyDedicatedRatio_cellCU' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> - <parameter name='tmp.rrmPolicyDedicatedRatio_CellCU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellCU + $tmp.rRMPolicyDedicatedRatio_SliceProfile`" /> - </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' /> - <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].id'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.NRCellCURRMPolicyMembersLength' /> - <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyMembersList size"/> - <parameter name="field2" value="`$tmp.NRCellCURRMPolicyMembersLength`"/> - </record> - <for index='idcu-rrm1' start='0' end='`$tmp.NRCellCURRMPolicyMembersLength`' > - <block atomic='true'> - <switch test='`$tmp.NRCellCURRMPolicyMembersLength > 0`'> - <outcome value='true'> - <block atomic='true'> - <switch test='`$prop.ransim-mounted`'> - <outcome value='false'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellCU`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> - <parameter name="target" value="{idNearRTRIC}"/> - <parameter name="replacement" value="`$tmp.nearRTRICId`"/> - </execute> - </block> - </outcome> - <outcome value='true'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.deleteRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - </block> - </outcome> - </switch> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <set> - <parameter name='tmp.RRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm1 +'].sNSSAI'`" /> - </set> - <switch test='`$tmp.RRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> - <outcome value='success'> - <block atomic='true'> - <set> - <parameter name='tmp.RRMPolicyMember_id' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm1 +'].idx'`" /> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyMember id - "/> - <parameter name="field2" value="`$tmp.RRMPolicyMember_id`"/> - </record> - <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.removeRRMPolicyMember.ToNRCellCU`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.removeRRMPolicyMember.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.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.deleteRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - </block> - </outcome> - </switch> - </block> - </outcome> - </switch> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> - <parameter name="target" value="{idGNBCUCPFunction}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> - <parameter name="target" value="{idNRCellCU}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio.url"/> - <parameter name="target" value="{id}"/> - <parameter name="replacement" value="`$tmp.RRMPolicyRatio_id`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> - <parameter name="target" value="{idx}"/> - <parameter name="replacement" value="`$tmp.RRMPolicyMember_id`"/> - </execute> - </block> - </for> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Delete RRMPolicy URL - "/> - <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio.url`"/> - <parameter name="field3" value="RRMPolicyRatio id"/> - <parameter name="field4" value="`$tmp.RRMPolicyRatio_id`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-cellCU-RRMPolicyRatio-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Deleted - cellCU RRMpolicyRatio/RRMPolicyMember"/> - </record> - </block> - </outcome> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error Removing cellCU RRMPolicyRatio. 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 removing NRCellDU - RRMPolicyRAtio. Aborting RPC executiopn'/> - </return> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> - </block> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CURRMPolicyMembersResourceType' /> - <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].attributes.resourceType'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUPRRMPOLICY`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{gnbCUUPId}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{resourcetype}"/> - <parameter name="replacement" value="`$tmp.CURRMPolicyMembersResourceType`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-CU-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 atomic='true'></block> - </outcome> - <outcome value='success'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - gNBCU rrmpolicy Entry from configdb"/> - </record> - </outcome> - </execute> - </block> - </for> - </block> - </block> - </outcome> - </switch> - </block> - </for> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistnssailength in false in CU "/> - <parameter name="field2" value="`$tmp.sNssaiListLengthCU`"/> - </record> - </block> - </outcome> - </switch> - </block> - </for> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistlength in false "/> - <parameter name="field2" value="`$tmp.pLMNInfoList_length`"/> - </record> - </block> - </outcome> - </switch> - </block> - </for> - </block> - </for> - </block> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUUPList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUUPList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Number of CUCP List Entries "/> - <parameter name="field2" value="`$tmp.CUUPList_length`"/> - <parameter name="field3" value="for the NearRTRIC"/> - <parameter name="field4" value="`$tmp.nearRTRICId`"/> - </record> - <for index='id-cuup' start='0' end='`$tmp.CUUPList_length`'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.idGNBCUUPFunction' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].gNBCUUPId'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="idGNBCUUPFunction "/> - <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNInfoList' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="cuup_plmninfolength "/> - <parameter name="field2" value="`$tmp.pLMNInfoList`"/> - </record> - <for index='id-plmn' start='0' end='1'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.sNssaiListLength' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList['+ $id-plmn +'].sNSSAI_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="cuup_plmninfolength_nssailength "/> - <parameter name="field2" value="`$tmp.sNssaiListLength`"/> - </record> - <switch test='`$tmp.sNssaiListLength > 0`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistnssailength in true "/> - <parameter name="field2" value="`$tmp.sNssaiListLength`"/> - </record> - <for index='id-snssai' start='0' end='`$tmp.sNssaiListLength`'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.configDBSNSSAI1' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList['+ $id-plmn +'].sNSSAI['+ $id-snssai +'].sNSSAI'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> - <parameter name="field2" value="`$tmp.configDBSNSSAI1`"/> - <parameter name="field3" value="sNSSAI from Request"/> - <parameter name="field4" value="`$tmp.sNSSAI`"/> - </record> - <switch test='`$tmp.configDBSNSSAI1 == $tmp.sNSSAI`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="nssaimatch in True "/> - <parameter name="field2" value="`Proceeding for nssai deletion`"/> - </record> - <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.terminateSNSSAIEntry.ToCUUP`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.terminateSNSSAIEntry.ToCUUP.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.deletePLMNInfo-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> - <parameter name="target" value="{idGNBCUUPFunction}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.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.deletePLMNInfo-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.url"/> - <parameter name="target" value="{sNssai}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deletePLMNInfo-CUUP.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-CUUP-sNSSAI-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <outcome value='failure'> - <block atomic='true'> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - gNBCUUP PLMNInfo Entry"/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUP`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.configdb.url"/> - <parameter name="target" value="{gnbCUUPId}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfo-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfo-CUUP.configdb.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deletePLMNInfo-CUUP.configdb.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-CUUP-plmninfo-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 atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - gNBCUUP PLMNInfo Entry from configdb"/> - </record> - </block> - </outcome> - </execute> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="nssaimatch in false "/> - <parameter name="field2" value="`nssai deletion does not takes place`"/> - </record> - </block> - </outcome> - </switch> - </block> - </for> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistnssailength in false "/> - <parameter name="field2" value="`$tmp.sNssaiListLength`"/> - </record> - </block> - </outcome> - </switch> - </block> - </for> - <set> - <parameter name='tmp.maxNumberOfDRBsPerNSSAI' value='`$tmp.payload.maxNumberofConns*4`' /> - <parameter name='tmp.maxNumberOfDRBsPerCUUP' value='`$tmp.maxNumberOfDRBsPerNSSAI /$tmp.CUUPList_length`' /> - <parameter name='tmp.rRMPolicyDedicatedRatio1' value='`$tmp.maxNumberOfDRBsPerCUUP*100`' /> - <parameter name='tmp.rRMPolicyDedicatedRatio-CUUP' value='`$tmp.rRMPolicyDedicatedRatio1/$prop.cuupfunction.maxNumberOfDRBsPerCUUP`' /> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyRatio for this profile is - "/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio-CUUP`"/> - </record> - <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.RRMPolicyRatioEntry.ToGNBCUUP`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.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.RRMPolicyRatioEntry.ToGNBCUUP.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.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.getRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{idGNBCUUPFunction}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-CUUP.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="get-rrmpolicyratio-cuup-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 in retrieving RRMPolicyRatio. 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 in fetching RRMPolicyRatio. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> - </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> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyRatioList_CUUP_length' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="CUUP - RRMPolicyRatioList size"/> - <parameter name="field2" value="`$tmp.rrmPolicyRatioList_CUUP_length`"/> - </record> - <for index='idcuup-rrm' start='0' end='`$tmp.rrmPolicyRatioList_CUUP_length`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUUPRRMPolicyRatio_id' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].id'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUUPRRMPolicyMembersLength' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="CUUP - RRMPolicyMembersList size"/> - <parameter name="field2" value="`$tmp.CUUPRRMPolicyMembersLength`"/> - </record> - <for index='idcu-rrm2' start='0' end='`$tmp.CUUPRRMPolicyMembersLength`' > - <block atomic='true'> - <switch test='`$tmp.CUUPRRMPolicyMembersLength > 0`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Success" /> - <parameter name="field2" value="Tocheck if ransim mounted" /> - </record> - <switch test='`$prop.ransim-mounted`'> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="before setting url" /> - <parameter name="field2" value="ransimnot mounted" /> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToCUUP`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{idNearRTRIC}"/> - <parameter name="replacement" value="`$tmp.nearRTRICId`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Delete RRMPolicy URL after setting - "/> - <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> - </record> - </block> - </outcome> - <outcome value='true'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToCUUP.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - </block> - </outcome> - </switch> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Failure" /> - <parameter name="field2" value="Tocheck if ransim mounted" /> - </record> - <set> - <parameter name='tmp.CUUPRRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm2 +'].sNSSAI'`" /> - </set> - <switch test='`$tmp.CUUPRRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> - <outcome value='success'> - <block atomic='true'> - <set> - <parameter name='tmp.CUUPRRMPolicyMember_id' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.rRMPolicyMemberList['+ $idcu-rrm2 +'].idx'`" /> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyMember id - "/> - <parameter name="field2" value="`$tmp.CUUPRRMPolicyMember_id`"/> - </record> - <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.removeRRMPolicyMember.ToCUUP`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.removeRRMPolicyMember.CUUP.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.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.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - </block> - </outcome> - </switch> - </block> - </outcome> - </switch> - </block> - </outcome> - </switch> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Delete RRMPolicy URL first - "/> - <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{idGNBCUUPFunction}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{id}"/> - <parameter name="replacement" value="`$tmp.CUUPRRMPolicyRatio_id`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-CUUP.url"/> - <parameter name="target" value="{idx}"/> - <parameter name="replacement" value="`$tmp.CUUPRRMPolicyMember_id`"/> - </execute> - </block> - </for> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Delete RRMPolicy URL - "/> - <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="field3" value="RRMPolicyRatio id"/> - <parameter name="field4" value="`$tmp.CUUPRRMPolicyRatio_id`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio-CUUP.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-CUUP-RRMPolicyRatio-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - CUUP RRMpolicyRatio"/> - </record> - </block> - </outcome> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error removing CUUP RRMPolicyRatio. 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 removing RRMPolicyRatio. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.CUUPRRMPolicyMembersResourceType' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].attributes.resourceType'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUPRRMPOLICY`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{gnbCUUPId}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{resourcetype}"/> - <parameter name="replacement" value="`$tmp.CUUPRRMPolicyMembersResourceType`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-CUUP-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 atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - gNBCUUP rrmpolicy Entry from configdb"/> - </record> - </outcome> - </execute> - </block> - </for> - </block> - </for> - </block> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.DUList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Number of DU List Entries "/> - <parameter name="field2" value="`$tmp.DUList_length`"/> - <parameter name="field3" value="for the NearRTRIC"/> - <parameter name="field4" value="`$tmp.nearRTRICId`"/> - </record> - <for index='id-du' start='0' end='`$tmp.DUList_length`'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.GNBDUId' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].gNBDUId'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="GNBDUId "/> - <parameter name="field2" value="`$tmp.GNBDUId`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellDUList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList[' + $id-du +'].cellDUList_length'`" /> - </execute> - <for index='id-celldu' start='0' end='`$tmp.cellDUList_length`' > - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Iterating "/> - <parameter name="field2" value="`CellDU`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolengthcelldu "/> - <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/> - </record> - <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.sNssaiListLengthDU' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="DU_plmninfolength_nssailength "/> - <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> - </record> - <switch test='`$tmp.sNssaiListLengthDU > 0`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistnssailength in true in DU "/> - <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> - </record> - <for index='id-dusnssai' start='0' end='`$tmp.sNssaiListLengthDU`'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.configDBSNSSAI-DU' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI['+ $id-dusnssai +'].sNSSAI'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="sNSSAI - getNFNSSIRIC-configdb-response"/> - <parameter name="field2" value="`$tmp.configDBSNSSAI-DU`"/> - <parameter name="field3" value="sNSSAI from request"/> - <parameter name="field4" value="`$tmp.sNSSAI`"/> - </record> - <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'> - <outcome value='true'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="CellDU is applicable for the NSSAI "/> - </record> - <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.terminateSNSSAIEntry.ToNRCellDU`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.terminateSNSSAIEntry.ToNRCellDU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellDULocalId' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].cellLocalId'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="LocalId "/> - <parameter name="field2" value="`$tmp.cellDULocalId`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{idGNBDUFunction}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{idNRCellDU}"/> - <parameter name="replacement" value="`$tmp.cellDULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.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.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.deletePLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{sNssai}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="patch cellCU NSSAI parameters"/> - <parameter name="field2" value="`$tmp.nearRTRICId`"/> - <parameter name="field3" value="`$tmp.GNBDUId`"/> - <parameter name="field4" value="`$tmp.cellDULocalId`"/> - <parameter name="field5" value="`$tmp.mcc`"/> - <parameter name="field6" value="`$tmp.mnc`"/> - <parameter name="field7" value="`$tmp.sNSSAI`"/> - <parameter name="field8" value="`$tmp.deletePLMNInfoListEntry-cellDU.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deletePLMNInfoListEntry-cellDU.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-cellDU-PLMNInfoList-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <outcome value='failure'> - <block atomic='true'> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 deleting cellDU PLMNInfoList. 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 deleting NECellDU - PLMNInfo. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully deleted - cellDU PLMNInfo List"/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.removenSSAINRCellDU`"/> - <parameter name="outputPath" value="tmp.deleteplmninfo-GNBDU.configdb.url"/> - <parameter name="target" value="{idNRCellDU}"/> - <parameter name="replacement" value="`$tmp.cellDULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteplmninfo-GNBDU.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteplmninfo-GNBDU.configdb.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteplmninfo-GNBDU.configdb.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-GNBDU-plmninfo-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 atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error removing CUUP PLMNInfoList. 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 removing CUUP PLMNInfo. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - gNBDU pmmninfo Entry from configdb"/> - </record> - </outcome> - </execute> - <block atomic='true'> - <block atomic='true'> - <set> - <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`' /> - </set> - <set> - <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`' /> - </set> - <set> - <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' /> - </set> - <set> - <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' /> - </set> - <set> - <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> - </set> - <set> - <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000000`' /> - </set> - <set> - <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> - </set> - <set> - <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.cellDUList_length`' /> - </set> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU1' value='`$tmp.nrcelldu.PRBPerImpactedCell * 100`' /> - </set> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rRMPolicyDedicatedRatio.CellDU1 / $prop.nrcelldu.TotalPRBsPerCell`' /> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="rRMPolicyDedicatedRatio for CellDU "/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> - <parameter name="field3" value="tmp.nearRTRIC.trafficCapacity1 "/> - <parameter name="field4" value="`$tmp.nearRTRIC.trafficCapacity1`"/> - <parameter name="field5" value="tmp.nearRTRIC.trafficCapacity "/> - <parameter name="field6" value="`$tmp.nearRTRIC.trafficCapacity`"/> - <parameter name="field7" value="tmp.nearRTRIC.trafficCapacityBPS"/> - <parameter name="field8" value="`$tmp.nearRTRIC.trafficCapacityBPS`"/> - <parameter name="field9" value="tmp.nrcelldu.totalPRBForSNSSAI "/> - <parameter name="field10" value="`$tmp.nrcelldu.totalPRBForSNSSAI`"/> - <parameter name="field11" value="tmp.nrcelldu.PRBPerImpactedCell "/> - <parameter name="field12" value="`$tmp.nrcelldu.PRBPerImpactedCell`"/> - <parameter name="field13" value="tmp.rRMPolicyDedicatedRatio.CellDU1 "/> - <parameter name="field14" value="`$tmp.rRMPolicyDedicatedRatio.CellDU1`"/> - </record> - </block> - <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.RRMPolicyRatioEntry.ToGNBDU`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.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.RRMPolicyRatioEntry.ToGNBDU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.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.getRRMPolicyRatio-gNBDU.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> - <parameter name="target" value="{idGNBDUFunction}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> - <parameter name="target" value="{idNRCellDU}"/> - <parameter name="replacement" value="`$tmp.cellDULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-gNBDU.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="get-rrmpolicyratio-du-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 in retrieving RRMPolicyRatio. 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 in Fetching RRMPolicyRatio - CellDU. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> - </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> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyRatioDUList_length' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyRatioList size"/> - <parameter name="field2" value="`$tmp.rrmPolicyRatioDUList_length`"/> - </record> - <for index='iddu-rrm' start='0' end='`$tmp.rrmPolicyRatioDUList_length`' > - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellDURRMPolicyRatio_id' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].id'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.DURRMPolicyMembersLength' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList_length'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPOLICYmemberslength"/> - <parameter name="field2" value="`$tmp.DURRMPolicyMembersLength`"/> - </record> - <for index='iddu-rrm2' start='0' end='`$tmp.DURRMPolicyMembersLength`' > - <block atomic='true'> - <switch test='`$tmp.DURRMPolicyMembersLength > 0`'> - <outcome value='true'> - <block atomic='true'> - <switch test='`$prop.ransim-mounted`'> - <outcome value='false'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellDU`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{idNearRTRIC}"/> - <parameter name="replacement" value="`$tmp.nearRTRICId`"/> - </execute> - </block> - </outcome> - <outcome value='true'> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.removeRRMPolicyRatio.ToNRCellDU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - </block> - </outcome> - </switch> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <set> - <parameter name='tmp.cellDURRMPolicyMember_sNSSAI' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList['+ $iddu-rrm2 +'].sNSSAI'`" /> - </set> - <switch test='`$tmp.cellDURRMPolicyMember_sNSSAI==$tmp.sNSSAI`'> - <outcome value='success'> - <block atomic='true'> - <set> - <parameter name='tmp.CellDURRMPolicyMember_id' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.rRMPolicyMemberList['+ $iddu-rrm2 +'].idx'`" /> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyMember id - "/> - <parameter name="field2" value="`$tmp.CellDURRMPolicyMember_id`"/> - </record> - <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.removeRRMPolicyMember.ToNRCellDU`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.removeRRMPolicyMember.ToNRCellDU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.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.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - </block> - </outcome> - </switch> - </block> - </outcome> - </switch> - </block> - </outcome> - </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{idGNBDUFunction}"/> - <parameter name="replacement" value="`$tmp.GNBDUId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{idNRCellDU}"/> - <parameter name="replacement" value="`$tmp.cellDULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{id}"/> - <parameter name="replacement" value="`$tmp.cellDURRMPolicyRatio_id`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicyRatio-DU.url"/> - <parameter name="target" value="{idx}"/> - <parameter name="replacement" value="`$tmp.cellDURRMPolicyMember_sNSSAI`"/> - </execute> - </block> - </for> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Delete RRMPolicy URL - "/> - <parameter name="field2" value="`$tmp.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="field3" value="RRMPolicyRatio id"/> - <parameter name="field4" value="`$tmp.cellDURRMPolicyRatio_id`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.deleteRRMPolicyRatio-DU.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-cellDU-RRMPolicyRatio-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <outcome value='success'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - cellDU RRMpolicyRatio"/> - </record> - </block> - </outcome> - <outcome value='failure'> - <block atomic='true'> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$terminate-r-a-n-slice-instance-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`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-terminate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.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 removing cellDU RRMPolicyRatio. 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 removing RRMPolicyRatio for NRCellDU. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.DURRMPolicyMembersResourceType' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].attributes.resourceType'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.removenSSAICUUPRRMPOLICY`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{gnbCUUPId}"/> - <parameter name="replacement" value="`$tmp.cellDULocalId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{resourcetype}"/> - <parameter name="replacement" value="`$tmp.DURRMPolicyMembersResourceType`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="outputPath" value="tmp.deleteRRMPolicy-CUUP.configdb.url"/> - <parameter name="target" value="{sNSSAI}"/> - <parameter name="replacement" value="`$tmp.sNSSAI`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.deleteRRMPolicy-CUUP.configdb.url`"/> - <parameter name="httpMethod" value="DELETE"/> - <parameter name="responsePrefix" value="delete-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='failure'> - <block atomic='true'></block> - </outcome> - <outcome value='success'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully removed - gNBDU rrmpolicy Entry from configdb"/> - </record> - </outcome> - </execute> - </block> - </for> - </block> - </block> - </outcome> - </switch> - </block> - </for> - </block> - </outcome> - <outcome value='false'> - <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="plmninfolistnssailength in false in DU "/> - <parameter name="field2" value="`$tmp.sNssaiListLengthDU`"/> - </record> - </block> - </outcome> - </switch> - </block> - </for> - </block> - </for> - </block> - </for> - </block> - </for> - <return status='success'> - <parameter name="ack-final" value="Y" /> - <parameter name="error-code" value="200" /> - <parameter name="error-message" value="SUCCESSFUL Execution" /> - </return> - <block atomic='true'> - <set> - <parameter name="tmp.status" value="success"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$terminate-r-a-n-slice-input.common-header.request-id `"/> - <parameter name="tmp.action" value="`$tmp.action`"/> - </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.so.callbackURL`"/> - <parameter name="outputPath" value="tmp.so.callbackURL"/> - <parameter name="target" value="{requestId}"/> - <parameter name="replacement" value="`$tmp.requestID`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$payloadJson.input.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-termi-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="restapiUser" value="`$prop.restapi.so.user`" /> - <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/> - <outcome value='failure'> - <block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name="error-code" value="500" /> - <parameter name="error-message" value="Error sending SO Response" /> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/terminateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> - </block> + <switch test='`$prop.configdb-deployed`'> + <outcome value='true'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Calling instantiateRANSliceModifyAllocate-CPS "/> + </record> + <call module='ran-slice-api' rpc='terminateRANSliceInstance-configDb' mode='sync' ></call> + </block> + </outcome> + <outcome value='false'> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Calling instantiateRANSliceModifyAllocate-CPS "/> + </record> + <call module='ran-slice-api' rpc='terminateRANSliceInstance-cps' mode='sync' ></call> + </block> + </outcome> + </switch> </block> </method> </service-logic>
\ No newline at end of file |