summaryrefslogtreecommitdiffstats
path: root/platform-logic/ran-slice-api/src/main/xml
diff options
context:
space:
mode:
authorHariharan <rh20085046@wipro.com>2021-09-16 21:44:44 +0530
committerDan Timoney <dtimoney@att.com>2021-09-21 12:33:34 +0000
commit81ccfd4c4195fcbad4591b1d5ba2350a0916f385 (patch)
tree2b0a4ae6d6c9775d64d2f8478fd3b0f6cf01cc95 /platform-logic/ran-slice-api/src/main/xml
parentda2e77325edbb7c8b97f25fa19f23481c0a8c029 (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')
-rw-r--r--platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-configDb.xml2675
-rw-r--r--platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance-cps.xml2779
-rw-r--r--platform-logic/ran-slice-api/src/main/xml/ran-slice-api_terminateRANSliceInstance.xml2689
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