diff options
Diffstat (limited to 'platform-logic/ran-slice-api/src/main/xml')
5 files changed, 2855 insertions, 2594 deletions
diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_activateRANSliceInstance.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_activateRANSliceInstance.xml index e85db3d3..47e91575 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_activateRANSliceInstance.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_activateRANSliceInstance.xml @@ -192,17 +192,17 @@ <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='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> - </execute> + <block atomic="true"> + <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> + </block> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> <parameter name="level" value="info" /> @@ -262,8 +262,234 @@ <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.snssaiList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+$id-cuplmn+'].sNSSAI_length'`" /> + </execute> + <for index='id-cunssai' start='0' end='`$tmp.snssaiList_length`' > + <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-cunssai+'].sNSSAI'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.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/activateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CellCU 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.patchPLMNInfoListEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.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.patchPLMNInfoListEntry.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PATCH"/> + <parameter name="responsePrefix" value="activate-cellCU-PLMNInfoList-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+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="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$activate-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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-activate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <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/activateRANSlice.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/activateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + </switch> + </block> + </for> + </block> + </for> + </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/activateRANSlice.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/activateRANSlice.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> + <for index='id-plmn' start='0' end='`$tmp.pLMNInfoList`'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.snssaiListup_length' /> + <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/activateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="CUUP - snssaiList_length"/> + <parameter name="field2" value="`$tmp.snssaiListup_length`"/> + </record> + <for index='id-cuupnssai' start='0' end='`$tmp.snssaiListup_length`' > + <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.sNSSAI'`" /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUUPList['+ $id-cuup +'].pLMNInfoList['+ $id-plmn +'].sNSSAI['+$id-cuupnssai+'].sNSSAI'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> @@ -274,18 +500,20 @@ <parameter name="field4" value="`$tmp.sNSSAI`"/> </record> <switch test='`$tmp.configDBSNSSAI == $tmp.sNSSAI`'> + <outcome value='false'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="sNSSAI doesn't match"/> + </record> + </outcome> <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/activateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="CellCU 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.patchPLMNInfoListEntry.ToNRCellCU`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> <parameter name="target" value="{idNearRTRIC}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> @@ -293,66 +521,51 @@ <outcome value='true'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> <parameter name="target" value="{mountName}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> </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.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> - <parameter name="target" value="{idGNBCUCPFunction}"/> - <parameter name="replacement" value="`$tmp.CUCPName`"/> + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> - <parameter name="target" value="{idNRCellCU}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> <parameter name="target" value="{mnc}"/> <parameter name="replacement" value="`$tmp.mnc`"/> </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.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.patchPLMNInfoListEntry.url`"/> - </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/> <parameter name="restapiUser" value="`$prop.controller.user`" /> <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="activate-cellCU-PLMNInfoList-response"/> + <parameter name="responsePrefix" value="activate-gNBCUUP-PLMNInfoList-response"/> <parameter name='contentType' value='application/yang.patch+json' /> <parameter name='accept' value='application/yang.patch-status+json'/> <parameter name='format' value='json' /> @@ -360,12 +573,12 @@ <block atomic='true'> <set> <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error patching cellCU PLMNInfoList. Aborting RPC executiopn'/> + <parameter name='error-message' value='Error patching 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 updating NRcellCU - PLMNInfo. Aborting RPC executiopn'/> + <parameter name='error-message' value='Error patching CUUP PLMNInfo. Aborting RPC executiopn'/> </return> <block atomic='true'> <set> @@ -421,7 +634,7 @@ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/> + <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/> </record> </block> </outcome> @@ -438,197 +651,6 @@ </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/activateRANSlice.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/activateRANSlice.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> - <for index='id-plmn' start='0' end='`$tmp.pLMNInfoList`'> - <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 +'].gNBCUUPList['+ $idz +'].pLMNInfoList['+ $id-plmn +'].sNSSAI.sNSSAI'`" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.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='false'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="sNSSAI doesn't match"/> - </record> - </outcome> - <outcome value='true'> - <block atomic='true'> - <switch test='`$prop.ransim-mounted`'> - <outcome value='false'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="activate-gNBCUUP-PLMNInfoList-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+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 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 patching CUUP PLMNInfo. Aborting RPC executiopn'/> - </return> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$activate-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="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-activate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/activateRANSlice.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/activateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/> - </record> - </block> - </outcome> - </execute> - </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.DUList_length' /> <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBDUList_length'`" /> </execute> @@ -668,163 +690,173 @@ </execute> <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' > <block atomic='true'> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="DUpLMNInfoList_length"/> - <parameter name="field2" value="`$tmp.DUpLMNInfoList_length`"/> - </record> <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.sNSSAI'`" /> + <parameter name='outputPath' value='tmp.snssaiListdu_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+$id-duplmn+'].sNSSAI_length'`" /> </execute> - <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'> - <outcome value='true'> - <block atomic='true'> - <switch test='`$prop.ransim-mounted`'> - <outcome value='false'> + <for index='id-dunssai' start='0' end='`$tmp.snssaiListdu_length`' > + <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-dunssai+'].sNSSAI'`" /> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.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'> + <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.patchPLMNInfoListEntry.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU`"/> + <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/> <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{idNearRTRIC}"/> - <parameter name="replacement" value="`$tmp.nearRTRICId`"/> + <parameter name="target" value="{idGNBDUFunction}"/> + <parameter name="replacement" value="`$tmp.GNBDUId`"/> </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.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="patch cellDU 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.patchPLMNInfoListEntry-cellDU.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="activate-cellDU-PLMNInfoList-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+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="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$activate-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="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-activate-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/activateRANSlice.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 patching 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 updating 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/activateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - cellDU PLMNInfo List"/> - </record> - </block> - </outcome> - </execute> - </block> - </outcome> - </switch> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/activateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="patch cellDU 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.patchPLMNInfoListEntry-cellDU.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-status.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PATCH"/> + <parameter name="responsePrefix" value="activate-cellDU-PLMNInfoList-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+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="`$error-code`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$activate-r-a-n-slice-instance-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$activate-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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-activate-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='*/*' /> + <parameter name="convertResponse" value="true"/> + <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/activateRANSlice.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 patching 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 updating 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/activateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Patched - cellDU PLMNInfo List"/> + </record> + </block> + </outcome> + </execute> + </block> + </outcome> + </switch> + </block> + </for> </block> </for> </block> diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml index 87c9c461..88338538 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSlice.xml @@ -116,21 +116,20 @@ <outcome value='allocate'> <block atomic="true"> <set> - <parameter name='tmp.payload.trackingArea' value='`$payloadJson.input.sliceProfile.coverageAreaList[0]`'/> <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/> <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/> <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/> - <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaList_length`'/> + <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaTAList_length`'/> <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/> <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/> <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/> <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/> <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/> <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/> + <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.snssaiList[0]`'/> <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/> <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/> - <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/> + <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.plmnIdList[0]`'/> </set> <set> <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> @@ -151,17 +150,15 @@ </outcome> <outcome value='Other'> <block atomic="true"> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.payload.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.payload.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.payload.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> </block> </outcome> </switch> @@ -177,21 +174,20 @@ <outcome value='modify-allocate'> <block atomic="true"> <set> - <parameter name='tmp.payload.trackingArea' value='`$payloadJson.input.sliceProfile.coverageAreaList[0]`'/> <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/> <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/> <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/> - <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaList_length`'/> + <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaTAList_length`'/> <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/> <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/> <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/> <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/> <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/> <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/> + <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.snssaiList[0]`'/> <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/> <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/> - <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/> + <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.plmnIdList[0]`'/> </set> <set> <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> @@ -212,17 +208,15 @@ </outcome> <outcome value='Other'> <block atomic="true"> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.payload.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.payload.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.payload.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> </block> </outcome> </switch> @@ -238,21 +232,20 @@ <outcome value='modify-deallocate'> <block atomic="true"> <set> - <parameter name='tmp.payload.trackingArea' value='`$payloadJson.input.sliceProfile.coverageAreaList[0]`'/> <parameter name='tmp.payload.callbackURL' value='`$payloadJson.input.callbackURL`'/> <parameter name='tmp.payload.RANNFNSSIId' value='`$payloadJson.input.RANNFNSSIId`'/> <parameter name='tmp.payload.RANNSSIId' value='`$payloadJson.input.RANNSSIId`'/> - <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaList_length`'/> + <parameter name='tmp.payload.coverageAreaList_length' value='`$payloadJson.input.sliceProfile.coverageAreaTAList_length`'/> <parameter name='tmp.payload.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`'/> <parameter name='tmp.payload.latency' value='`$payloadJson.input.sliceProfile.latency`'/> <parameter name='tmp.payload.maxNumberofConns' value='`$payloadJson.input.sliceProfile.maxNumberofConns`'/> <parameter name='tmp.payload.maxNumberofUEs' value='`$payloadJson.input.sliceProfile.maxNumberofUEs`'/> <parameter name='tmp.payload.resourceSharingLevel' value='`$payloadJson.input.sliceProfile.resourceSharingLevel`'/> <parameter name='tmp.payload.sliceProfileId' value='`$payloadJson.input.sliceProfile.sliceProfileId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/> + <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.snssaiList[0]`'/> <parameter name='tmp.payload.uEMobilityLevel' value='`$payloadJson.input.sliceProfile.uEMobilityLevel`'/> <parameter name='tmp.payload.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`'/> - <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.pLMNIdList[0]`'/> + <parameter name='tmp.payload.pLMNId' value='`$payloadJson.input.sliceProfile.plmnIdList[0]`'/> </set> <set> <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $payloadJson.input.sliceProfile.coverageAreaList[0]`" /> @@ -273,17 +266,15 @@ </outcome> <outcome value='Other'> <block atomic="true"> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.payload.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.payload.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> + <parameter name="original_string" value="`$tmp.payload.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> </block> </outcome> </switch> diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml index ede8708d..bd16b093 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceAllocate.xml @@ -4,7 +4,7 @@ <method rpc='instantiateRANSliceAllocate' mode='sync'> <block atomic='true'> <set> - <parameter name='tmp.trackingAreaListEntries' value="`$payloadJson.input.sliceProfile.coverageAreaList_length`"/> + <parameter name='tmp.trackingAreaListEntries' value="`$payloadJson.input.sliceProfile.coverageAreaTAList_length`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> @@ -16,7 +16,7 @@ <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.payload.trackingArea' /> - <parameter name='source' value="`'payloadJson.input.sliceProfile.coverageAreaList[' + $ta + ']'`"/> + <parameter name='source' value="`'payloadJson.input.sliceProfile.coverageAreaTAList[' + $ta + ']'`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> @@ -243,6 +243,15 @@ </execute> </block> </block> + <set> + <parameter name='tmp.RRMPolicyRatioID.NearRTRIC' value="`'NearRTRIC-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBDUFunction' value="`'GNBDUFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.NRCellDU' value="`'NRCellDU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBCUUPFunction' value="`'GNBCUUPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.GNBCUCPFunction' value="`'GNBCUCPFunction-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='tmp.RRMPolicyRatioID.NRCellCU' value="`'NRCellCU-' + $payloadJson.input.sliceProfile.sliceProfileId + '-' + $tmp.payload.trackingArea`" /> + <parameter name='prop.ranNetwork.RRMPolicyRatioMemberID' value='`$prop.ranNetwork.RRMPolicyRatioMemberID + 1`' /> + </set> <for index='id1' start='0' end="`$getRIC-configdb-response._length`" > <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.nearRTRICId' /> @@ -252,10 +261,9 @@ <parameter name='outputPath' value='tmp.gNBId' /> <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBId'`" /> </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.ranNFNSSIListEntry' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].ranNFNSSIList[0]'`" /> - </execute> + <set> + <parameter name='tmp.ranNFNSSIListEntry' value='`$tmp.payload.RANNFNSSIId`'/> + </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> <parameter name="level" value="info" /> @@ -839,7 +847,7 @@ <parameter name="field2" value="`$prop.controller.url + $tmp.addRRMPolicyRatio.ToNRCellCU.url`"/> <parameter name="field3" value="`$tmp.mcc`"/> <parameter name="field4" value="`$tmp.mnc`"/> - <parameter name="field5" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field5" value="`$tmp.payload.sNSSAI`"/> <parameter name="field6" value="`$tmp.uLThptPerSlice`"/> <parameter name="field7" value="`$tmp.dLThptPerSlice`"/> </record> @@ -1697,7 +1705,7 @@ <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> </set> <set> - <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000000`' /> + <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000`' /> </set> <set> <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> @@ -1757,10 +1765,9 @@ <parameter name='outputPath' value='tmp.nFType' /> <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].nFType'`" /> </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.pLMNId' /> - <parameter name='source' value="`'getRIC-configdb-response.[' + $id1 + '].gNBDUList[' + $id2 + '].pLMNId'`" /> - </execute> + <set> + <parameter name="tmp.pLMNId" value="`$tmp.payload.pLMNId`"/> + </set> </block> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> @@ -2413,8 +2420,25 @@ </block> </for> <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> <set> - <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/> <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/> diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceModifyAllocate.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceModifyAllocate.xml index e3e7955a..82d590c8 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceModifyAllocate.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceModifyAllocate.xml @@ -4,15 +4,6 @@ <method rpc='instantiateRANSliceModifyAllocate' mode='sync'> <block atomic='true'> <block atomic='true'> - <set> - <parameter name='tmp.payload.globalCustomerId' value='`$payloadJson.input.globalCustomerId`'/> - </set> - <set> - <parameter name='tmp.serviceType' value='`$payloadJson.input.serviceType`'/> - </set> - <set> - <parameter name='tmp.sNSSAI' value='`$tmp.payload.sNSSAI`'/> - </set> <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"/> @@ -41,13 +32,30 @@ <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </set> <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> <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" /> @@ -67,6 +75,8 @@ <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'> @@ -104,180 +114,20 @@ </outcome> </execute> </block> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getplmn`"/> - <parameter name="outputPath" value="tmp.configdb.getPLMNId.url"/> - <parameter name="target" value="{sliceProfileId}"/> - <parameter name="replacement" value="`$tmp.payload.sliceProfileId`"/> - </execute> - <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="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"/> - <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 Obtained PLMNId info from ConfigDB"/> - <parameter name="field2" value="`$getPLMN-configdb-response`"/> - </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> - <outcome value='failure'> - <block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - </execute> - <set> - <parameter name='tmp.pLMNId' value='`$getPLMN-configdb-response.plmnId`'/> - </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.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> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.aai.fetchSliceProfile`"/> - <parameter name="outputPath" value="tmp.aai.fetchSliceProfile.url"/> - <parameter name="target" value="{global-customer-id}"/> - <parameter name="replacement" value="`$tmp.payload.globalCustomerId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.aai.fetchSliceProfile.url`"/> - <parameter name="outputPath" value="tmp.aai.fetchSliceProfile.url"/> - <parameter name="target" value="{service-type}"/> - <parameter name="replacement" value="`$tmp.serviceType`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.aai.fetchSliceProfile.url`"/> - <parameter name="outputPath" value="tmp.aai.fetchSliceProfile.url"/> - <parameter name="target" value="{service-instance-id}"/> - <parameter name="replacement" value="`$tmp.payload.RANNFNSSIId`"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.aai.fetchSliceProfile.url`"/> - <parameter name="outputPath" value="tmp.aai.fetchSliceProfile.url"/> - <parameter name="target" value="{profile-id}"/> - <parameter name="replacement" value="`$tmp.payload.sliceProfileId`"/> - </execute> - <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="Get coverageAreaTAList URL: "/> - <parameter name="field2" value="`$tmp.aai.fetchSliceProfile.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.org.onap.ccsdk.sli.adaptors.aai.uri + $tmp.aai.fetchSliceProfile.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="get-coverageAreaTAList-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='success'> - <block 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 coverageAreaTAList"/> - <parameter name="field2" value="`$get-coverageAreaTAList-response.coverage-area-TA-list`"/> - </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> - <set> - <parameter name='tmp.aai.coverageAreaTAList' value="`$get-coverageAreaTAList-response.coverage-area-TA-list`"/> - </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.aai.coverageAreaTAList`"/> - <parameter name="outputPath" value="tmp.aai.coverageAreaTAList"/> - <parameter name="target" value="["/> - <parameter name="replacement" value=""/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.aai.coverageAreaTAList`"/> - <parameter name="outputPath" value="tmp.aai.coverageAreaTAList"/> - <parameter name="target" value="]"/> - <parameter name="replacement" value=""/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'> - <parameter name="original_string" value="`$tmp.aai.coverageAreaTAList`" /> - <parameter name="regex" value=","/> - <parameter name="ctx_memory_result_key" value="tmp.coverageAreaTAList"/> - </execute> - <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> - <outcome value='failure'> - <block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error Getting Info from AAI. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - </execute> - <set> - <parameter name='tmp.trackingAreaListEntries' value="`$tmp.coverageAreaTAList_length`"/> - </set> - <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="Tracking Area size"/> - <parameter name="field2" value="`$tmp.trackingAreaListEntries`"/> - </record> - </block> + <set> + <parameter name='tmp.trackingAreaListEntries' value="`$payloadJson.input.sliceProfile.coverageAreaTAList_length`"/> + </set> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Tracking Area size"/> + <parameter name="field2" value="`$tmp.trackingAreaListEntries`"/> + </record> <for index='ta' start='0' end='`$tmp.trackingAreaListEntries`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.payload.trackingArea' /> - <parameter name='source' value="`'tmp.coverageAreaTAList['+ $ta+']'`" /> + <parameter name='source' value="`'payloadJson.input.sliceProfile.coverageAreaTAList['+ $ta+']'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> @@ -346,29 +196,8 @@ </outcome> </execute> </block> - </block> - </for> - <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> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.gNBId' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy + '].gNBId'`" /> - </execute> <set> - <parameter name='tmp.ranNFNSSIListEntry' value="`$payloadJson.input.RANNFNSSIId`"/> - <parameter name='tmp.payload.pLMNId' value="`$tmp.pLMNId`"/> - </set> - <set> - <parameter name='tmp.nearRTRIC.uLThptPerSlice1' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> - <parameter name='tmp.nearRTRIC.uLThptPerSlice' value='`$tmp.nearRTRIC.uLThptPerSlice1 / $getNFNSSIRIC-configdb-response._length`' /> - <parameter name='tmp.nearRTRIC.dLThptPerSlice1' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> - <parameter name='tmp.nearRTRIC.dLThptPerSlice' value='`$tmp.nearRTRIC.dLThptPerSlice1 / $getNFNSSIRIC-configdb-response._length`' /> - <parameter name='tmp.nearRTRIC.maxNumberOfConns1' value='`$payloadJson.input.sliceProfile.maxNumberofConns * 1.1`' /> - <parameter name='tmp.nearRTRIC.maxNumberOfConns' value='`$tmp.nearRTRIC.maxNumberOfConns1 / $getNFNSSIRIC-configdb-response._length`' /> + <parameter name='tmp.RICEntries' value="`$getNFNSSIRIC-configdb-response._length`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> @@ -388,401 +217,312 @@ <parameter name="field13" value="NSSAI"/> <parameter name="field14" value="`$tmp.payload.sNSSAI`"/> </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updatenearRTRIC`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updatenearRTRIC.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="modify-allocate-nearRTRIC-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <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 Updated NearRT RIC info in ConfigDB"/> - </record> - </block> - </outcome> - </execute> - </block> - <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.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/instantiateRANSliceModifyAllocate.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`'> + <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.CUCPName' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].gNBCUName'`" /> + <parameter name='outputPath' value='tmp.nearRTRICId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].nearRTRICId'`" /> </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.gNBId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy + '].gNBId'`" /> + </execute> + <set> + <parameter name='tmp.ranNFNSSIListEntry' value="`$payloadJson.input.RANNFNSSIId`"/> + </set> + <set> + <parameter name='tmp.nearRTRIC.uLThptPerSlice1' value='`$payloadJson.input.sliceProfile.uLThptPerSlice * 1.1`' /> + <parameter name='tmp.nearRTRIC.uLThptPerSlice' value='`$tmp.nearRTRIC.uLThptPerSlice1 / $getNFNSSIRIC-configdb-response._length`' /> + <parameter name='tmp.nearRTRIC.dLThptPerSlice1' value='`$payloadJson.input.sliceProfile.dLThptPerSlice * 1.1`' /> + <parameter name='tmp.nearRTRIC.dLThptPerSlice' value='`$tmp.nearRTRIC.dLThptPerSlice1 / $getNFNSSIRIC-configdb-response._length`' /> + <parameter name='tmp.nearRTRIC.maxNumberOfConns1' value='`$payloadJson.input.sliceProfile.maxNumberofConns * 1.1`' /> + <parameter name='tmp.nearRTRIC.maxNumberOfConns' value='`$tmp.nearRTRIC.maxNumberOfConns1 / $getNFNSSIRIC-configdb-response._length`' /> + </set> <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="CUCPName "/> - <parameter name="field2" value="`$tmp.CUCPName`"/> + <parameter name="field1" value="Calculated uLThptPerSlice for nearRTRIC "/> + <parameter name="field2" value="`$tmp.nearRTRIC.uLThptPerSlice`"/> + <parameter name="field3" value="dLThptPerSlice for nearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRIC.dLThptPerSlice`"/> + <parameter name="field5" value="maxNumberOfConn for nearRTRIC"/> + <parameter name="field6" value="`$tmp.nearRTRIC.maxNumberOfConns`"/> + <parameter name="field7" value="nearRTRICId"/> + <parameter name="field8" value="`$tmp.nearRTRICId`"/> + <parameter name="field9" value="gNBId"/> + <parameter name="field10" value="`$tmp.gNBId`"/> + <parameter name="field11" value="RANNFNSSI"/> + <parameter name="field12" value="`$tmp.ranNFNSSIListEntry`"/> + <parameter name="field13" value="NSSAI"/> + <parameter name="field14" value="`$tmp.payload.sNSSAI`"/> </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updatenearRTRIC`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updatenearRTRIC.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="modify-allocate-nearRTRIC-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <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 Updated NearRT RIC info in ConfigDB"/> + </record> + </block> + </outcome> + </execute> + </block> + <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellCUList_length' /> - <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList[' + $idz +'].cellCUList_length'`" /> + <parameter name='outputPath' value='tmp.CUCPList_length' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.[' + $idy +'].gNBCUCPList_length'`" /> </execute> - <for index='idcu' start='0' end='`$tmp.cellCUList_length`' > + <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="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'> - <for index='id-ta' start='0' end='`$getListofCells-configdb-response._length`' > + <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/instantiateRANSliceModifyAllocate.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.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.cellCU2' /> - <parameter name='source' value="`'getListofCells-configdb-response.[' + $id-ta + ']'`" /> - </execute> - <switch test='`$tmp.cellCULocalId == $tmp.cellCU2`'> - <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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="`$tmp.cellCULocalId`"/> - <parameter name="field2" value="CellCU 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.patchPLMNInfoListEntry.ToNRCellCU`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.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.patchPLMNInfoListEntry.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-NRCellCU.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="patch-cellCU-PLMNInfoList-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+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="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.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/instantiateRANSliceModifyAllocate.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.SliPluginUtils' method='setPropertiesForList'> - <parameter name='prefixKey' value='tmp.CUCPList.response' /> - <parameter name='keyName' value='gNBCUName' /> - <parameter name='keyValue' value="`$tmp.CUCPName`"/> - </execute> - <block atomic='true'> - <set> - <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.payload.maxNumberofConns / $tmp.cellCUList_length`' /> - </set> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> - </set> - <set> - <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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="RRMPolicyRatio temp1 - "/> - <parameter name="field2" value="`$tmp.maxNumberOfConnsPercellCU`"/> - <parameter name="field3" value="RRMPolicyRatio temp2 - "/> - <parameter name="field4" value="`$tmp.rRMPolicyDedicatedRatio.CellCU1`"/> - <parameter name="field5" value="RRMPolicyRatio for this profile is - "/> - <parameter name="field6" 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'> + <for index='id-ta' start='0' end='`$getListofCells-configdb-response._length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.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.cellCU2' /> + <parameter name='source' value="`'getListofCells-configdb-response.[' + $id-ta + ']'`" /> + </execute> + <switch test='`$tmp.cellCULocalId == $tmp.cellCU2`'> + <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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="`$tmp.cellCULocalId`"/> + <parameter name="field2" value="CellCU 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.RRMPolicyRatioEntry.ToNRCellCU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/> + <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellCU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.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.patchPLMNInfoListEntry.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.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.patchPLMNInfoListEntry.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-NRCellCU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PATCH"/> + <parameter name="responsePrefix" value="patch-cellCU-PLMNInfoList-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+json'/> + <parameter name='format' value='json' /> + <outcome value='failure'> <block atomic='true'> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <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'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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/so-callback-response.log" /> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="Successfully Patched - cellCU PLMNInfo List"/> </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.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/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> - <set> - <parameter name='tmp.rrmPolicyRatioList_length' value='`$get-rrmpolicyratio-response.attributes.RRMPolicyRatio_length`'/> - </set> - <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="RRMPolicyRatioList size"/> - <parameter name="field2" value="`$tmp.rrmPolicyRatioList_length`"/> - </record> - <for index='idcu-rrm' start='0' end='`$tmp.rrmPolicyRatioList_length`' > + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> + <parameter name='prefixKey' value='tmp.CUCPList.response' /> + <parameter name='keyName' value='gNBCUName' /> + <parameter name='keyValue' value="`$tmp.CUCPName`"/> + </execute> <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyDedicatedRatiocellCU_old' /> - <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> - </execute> <set> - <parameter name='tmp.rrmPolicyDedicatedRatio_CellCU_new' value='`$tmp.rrmPolicyDedicatedRatiocellCU_old + $tmp.rRMPolicyDedicatedRatio_SliceProfile`' /> + <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.payload.maxNumberofConns / $tmp.cellCUList_length`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' /> + </set> + <set> + <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/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="Existing RRMPolicyRatio for CellCU is - "/> - <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatiocellCU_old`"/> - <parameter name="field3" value="Updated RRMPolicyRatio for CellCU is - "/> - <parameter name="field4" value="`$tmp.rrmPolicyDedicatedRatio_CellCU_new`"/> + <parameter name="field1" value="RRMPolicyRatio temp1 - "/> + <parameter name="field2" value="`$tmp.maxNumberOfConnsPercellCU`"/> + <parameter name="field3" value="RRMPolicyRatio temp2 - "/> + <parameter name="field4" value="`$tmp.rRMPolicyDedicatedRatio.CellCU1`"/> + <parameter name="field5" value="RRMPolicyRatio for this profile is - "/> + <parameter name="field6" value="`$tmp.rRMPolicyDedicatedRatio_SliceProfile`"/> </record> <switch test='`$prop.ransim-mounted`'> <outcome value='false'> @@ -822,65 +562,52 @@ <parameter name="target" value="{idNRCellCU}"/> <parameter name="replacement" value="`$tmp.cellCULocalId`"/> </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyMembers' /> - <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" /> - </execute> - <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> - <set> - <parameter name='tmp.RRMPolicyMember_id' value='`$tmp.rrmPolicyMembers+1`'/> - </set> - <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="RRMPolicyRatio_id is - "/> - <parameter name="field2" value="`$tmp.RRMPolicyRatio_id`"/> - <parameter name="field3" value="RRMPolicyMember_id - "/> - <parameter name="field4" value="`$tmp.RRMPolicyMember_id`"/> - <parameter name="field5" value="RRMPolicyRatio update URL is - "/> - <parameter name="field6" value="`$tmp.getRRMPolicyRatio.url`"/> - </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-RRMPolicyRatio-NRCellCU.json'`" /> <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="PATCH"/> - <parameter name="responsePrefix" value="patch-cellCU-RRMPolicyRatio-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+json'/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - cellCU RRMpolicyRatio"/> - </record> - </block> - </outcome> + <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 patching cellCU RRMPolicyRatio. Aborting RPC executiopn'/> + <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 updating NRCellDU - RRMPolicyRAtio. Aborting RPC executiopn'/> + <parameter name='error-message' value='Error in Fetching RRMPolicyRatio - CellCU. Aborting RPC executiopn'/> </return> <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> <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" /> @@ -900,6 +627,8 @@ <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'> @@ -922,245 +651,497 @@ </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/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> - </block> - </for> - </block> - <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="Config DB update"/> - </record> - <set> - <parameter name='tmp.cellLocalId' value='`$tmp.cellCULocalId`'/> - <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> - <parameter name='tmp.gNBCUCPList.gNBCUName' value='`$tmp.CUCPName`'/> - <parameter name='tmp.gNBCUCPList.gNBId' value='`$tmp.gNBId`'/> - <parameter name='tmp.gNBCUCPList.nFType' value='RRC Connected Users'/> - </set> - <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="cellLocalId"/> - <parameter name="field2" value="`$tmp.cellLocalId`"/> - <parameter name="field3" value="pLMNId"/> - <parameter name="field4" value="`$tmp.payload.pLMNId`"/> - <parameter name="field5" value="maxNumberOfConns"/> - <parameter name="field6" value="`$tmp.maxNumberOfConns`"/> - <parameter name="field7" value="gNBCUName"/> - <parameter name="field8" value="`$tmp.gNBCUCPList.gNBCUName`"/> - <parameter name="field9" value="gNBId"/> - <parameter name="field10" value="`$tmp.gNBCUCPList.gNBId`"/> - <parameter name="field11" value="nFType"/> - <parameter name="field12" value="`$tmp.gNBCUCPList.nFType`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBCUCP`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBCUCP.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-gNBCUCP-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in updating Config DB - NRCellCU. 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 in ConfigDB. Aborting RPC executiopn'/> - </return> + <set> + <parameter name='tmp.rrmPolicyRatioList_length' value='`$get-rrmpolicyratio-response.attributes.RRMPolicyRatio_length`'/> + </set> + <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="RRMPolicyRatioList size"/> + <parameter name="field2" value="`$tmp.rrmPolicyRatioList_length`"/> + </record> + <for index='idcu-rrm' start='0' end='`$tmp.rrmPolicyRatioList_length`' > <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyDedicatedRatiocellCU_old' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> + </execute> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <parameter name='tmp.rrmPolicyDedicatedRatio_CellCU_new' value='`$tmp.rrmPolicyDedicatedRatiocellCU_old + $tmp.rRMPolicyDedicatedRatio_SliceProfile`' /> </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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="Existing RRMPolicyRatio for CellCU is - "/> + <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatiocellCU_old`"/> + <parameter name="field3" value="Updated RRMPolicyRatio for CellCU is - "/> + <parameter name="field4" value="`$tmp.rrmPolicyDedicatedRatio_CellCU_new`"/> </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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> + <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.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.rrmPolicyMembers' /> + <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" /> + </execute> + <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> + <set> + <parameter name='tmp.RRMPolicyMember_id' value='`$tmp.rrmPolicyMembers+1`'/> + </set> + <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="RRMPolicyRatio_id is - "/> + <parameter name="field2" value="`$tmp.RRMPolicyRatio_id`"/> + <parameter name="field3" value="RRMPolicyMember_id - "/> + <parameter name="field4" value="`$tmp.RRMPolicyMember_id`"/> + <parameter name="field5" value="RRMPolicyRatio update URL is - "/> + <parameter name="field6" value="`$tmp.getRRMPolicyRatio.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-RRMPolicyRatio-NRCellCU.json'`" /> + <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="PATCH"/> + <parameter name="responsePrefix" value="patch-cellCU-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+json'/> + <parameter name='format' value='json' /> <outcome value='success'> - <block> + <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="SO Response Sent "/> + <parameter name="field1" value="Successfully Patched - cellCU RRMpolicyRatio"/> </record> </block> </outcome> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error patching 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 updating NRCellDU - RRMPolicyRAtio. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> </execute> </block> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getRRMPolicyRatio`"/> - <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> - <parameter name="target" value="{resourceType}"/> - <parameter name="replacement" value="RRC Connected Users"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> - <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> - <parameter name="target" value="{resourceId}"/> - <parameter name="replacement" value="`$tmp.cellCULocalId`"/> - </execute> - <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="get RRMPolicyby Resource URL"/> - <parameter name="field2" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getRRMPolicyRatio-existing.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getrrmpolicyratioinfo-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error 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> - </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> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU' value='`$tmp.rrmPolicyDedicatedRatio_CellCU_new`'/> - <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$tmp.sNSSAI`'/> - <parameter name='prop.configDB.rrmPolicyID' value='`$getrrmpolicyratioinfo-configdb-response.rrmPolicyID`'/> - <parameter name='tmp.resourceID' value='`$tmp.cellCULocalId`'/> - </set> - <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="rRMPolicyDedicatedRatio"/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellCU`"/> - <parameter name="field3" value="pLMNId"/> - <parameter name="field4" value="`$tmp.payload.pLMNId`"/> - <parameter name="field5" value="sNSSAI"/> - <parameter name="field6" value="`$tmp.sNSSAI`"/> - <parameter name="field7" value="rrmPolicyID"/> - <parameter name="field8" value="`$prop.configDB.rrmPolicyID`"/> - <parameter name="field9" value="resourceID"/> - <parameter name="field10" value="`$tmp.resourceID`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-CUCP.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-gNBCUCP-rrmpolicy-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in updating RRMPolicyRatio - NRCellCU. 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-RRMPolicyRatio in ConfigDB. Aborting RPC executiopn'/> - </return> + </for> + </block> + <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="Config DB update"/> + </record> + <set> + <parameter name='tmp.cellLocalId' value='`$tmp.cellCULocalId`'/> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> + <parameter name='tmp.gNBCUCPList.gNBCUName' value='`$tmp.CUCPName`'/> + <parameter name='tmp.gNBCUCPList.gNBId' value='`$tmp.gNBId`'/> + <parameter name='tmp.gNBCUCPList.nFType' value='RRC Connected Users'/> + </set> + <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="cellLocalId"/> + <parameter name="field2" value="`$tmp.cellLocalId`"/> + <parameter name="field3" value="pLMNId"/> + <parameter name="field4" value="`$tmp.payload.pLMNId`"/> + <parameter name="field5" value="maxNumberOfConns"/> + <parameter name="field6" value="`$tmp.maxNumberOfConns`"/> + <parameter name="field7" value="gNBCUName"/> + <parameter name="field8" value="`$tmp.gNBCUCPList.gNBCUName`"/> + <parameter name="field9" value="gNBId"/> + <parameter name="field10" value="`$tmp.gNBCUCPList.gNBId`"/> + <parameter name="field11" value="nFType"/> + <parameter name="field12" value="`$tmp.gNBCUCPList.nFType`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBCUCP`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBCUCP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUCP-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error in updating Config DB - NRCellCU. 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 in ConfigDB. Aborting RPC executiopn'/> + </return> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getRRMPolicyRatio`"/> + <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> + <parameter name="target" value="{resourceType}"/> + <parameter name="replacement" value="RRC Connected Users"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> + <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> + <parameter name="target" value="{resourceId}"/> + <parameter name="replacement" value="`$tmp.cellCULocalId`"/> + </execute> + <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="get RRMPolicyby Resource URL"/> + <parameter name="field2" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getRRMPolicyRatio-existing.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getrrmpolicyratioinfo-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error 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> + </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> + <set> + <parameter name='tmp.rrmPolicyRatioConfigDB_length' value='`$getrrmpolicyratioinfo-configdb-response._length`'/> + </set> + <for index='idcu-rrm1' start='0' end='`$tmp.rrmPolicyRatioConfigDB_length`' > <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='prop.configDB.rrmPolicyID' /> + <parameter name='source' value="`'getrrmpolicyratioinfo-configdb-response.['+$idcu-rrm1+'].rrmPolicyID'`" /> + </execute> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU' value='`$tmp.rrmPolicyDedicatedRatio_CellCU_new`'/> + <parameter name='tmp.resourceID' value='`$tmp.cellCULocalId`'/> </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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio"/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellCU`"/> + <parameter name="field3" value="pLMNId"/> + <parameter name="field4" value="`$tmp.payload.pLMNId`"/> + <parameter name="field5" value="sNSSAI"/> + <parameter name="field6" value="`$tmp.payload.sNSSAI`"/> + <parameter name="field7" value="rrmPolicyID"/> + <parameter name="field8" value="`$prop.configDB.rrmPolicyID`"/> + <parameter name="field9" value="resourceID"/> + <parameter name="field10" value="`$tmp.resourceID`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-CUCP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUCP-rrmpolicy-configdb-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> + <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> - <block> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error in updating RRMPolicyRatio - NRCellCU. 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" /> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating NRCellCU-RRMPolicyRatio in ConfigDB. Aborting RPC executiopn'/> </return> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> </block> </outcome> <outcome value='success'> @@ -1168,356 +1149,55 @@ <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="SO Response Sent "/> + <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU RRMPolicyRatio "/> </record> </block> </outcome> </execute> </block> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU RRMPolicyRatio "/> - </record> - </block> - </outcome> - </execute> - </block> - </block> - </outcome> - </switch> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> </block> </for> </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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Number of CUUP 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'`" /> + <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/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="idGNBCUUPFunction "/> - <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/> + <parameter name="field1" value="Number of CUUP List Entries "/> + <parameter name="field2" value="`$tmp.CUUPList_length`"/> + <parameter name="field3" value="for the NearRTRIC"/> + <parameter name="field4" value="`$tmp.nearRTRICId`"/> </record> - <block atomic='true'> - <switch test='`$prop.ransim-mounted`'> - <outcome value='false'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-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.patchPLMNInfoList-CUUP.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="patch CUUP NSSAI parameters"/> - <parameter name="field2" value="`$tmp.nearRTRICId`"/> - <parameter name="field3" value="`$tmp.idGNBCUUPFunction`"/> - <parameter name="field4" value="`$tmp.mcc`"/> - <parameter name="field5" value="`$tmp.mnc`"/> - <parameter name="field6" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-NRCellCU.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="patch-gNBCUUP-PLMNInfoList-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+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="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.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 patching 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 patching 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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/> - </record> - </block> - </outcome> - </execute> - <set> - <parameter name='tmp.maxNumberOfDRBsPerNSSAI' value='`$tmp.payload.maxNumberofConns*4`' /> - </set> - <set> - <parameter name='tmp.maxNumberOfDRBsPerCUUP' value='`$tmp.maxNumberOfDRBsPerNSSAI /$tmp.CUUPList_length`' /> - </set> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio1' value='`$tmp.maxNumberOfDRBsPerCUUP*100`' /> - </set> - <set> - <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/instantiateRANSliceModifyAllocate.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.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> - <parameter name='prefixKey' value='tmp.CUUPList.response' /> - <parameter name='keyName' value='gNBCUUPId' /> - <parameter name='keyValue' 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="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.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/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> - <set> - <parameter name='tmp.rrmPolicyRatioList_CUUP_length' value='`$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length`'/> - </set> - <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="CUUP - RRMPolicyRatioList size"/> - <parameter name="field2" value="`$tmp.rrmPolicyRatioList_CUUP_length`"/> - </record> - <for index='idcuup-rrm' start='0' end='`$tmp.rrmPolicyRatioList_CUUP_length`' > + <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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="idGNBCUUPFunction "/> + <parameter name="field2" value="`$tmp.idGNBCUUPFunction`"/> + </record> <block atomic='true'> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyDedicatedRatio_CUUP' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> - </execute> - <set> - <parameter name='tmp.rrmPolicyDedicatedRatio_CUUP_updated' value="`$tmp.rrmPolicyDedicatedRatio_CUUP + $tmp.rRMPolicyDedicatedRatio-CUUP`" /> - </set> <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="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> <parameter name="target" value="{idNearRTRIC}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> @@ -1525,14 +1205,14 @@ <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="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToGNBCUUP.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-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="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> <parameter name="target" value="{mountName}"/> <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> </execute> @@ -1540,65 +1220,224 @@ </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="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> <parameter name="target" value="{idGNBCUUPFunction}"/> <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].id'`" /> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> + <parameter name="target" value="{mcc}"/> + <parameter name="replacement" value="`$tmp.mcc`"/> </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.rrmPolicyMembers-CUUP' /> - <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" /> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoList-CUUP.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> </execute> - <set> - <parameter name='tmp.RRMPolicyMember_id' value="`$tmp.rrmPolicyMembers-CUUP+1`" /> - </set> <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="Updated RRMPolicyRatio for CUUP is - "/> - <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatio_CUUP_updated`"/> - <parameter name="field3" value="RRMPolicyRatio_id is - "/> - <parameter name="field4" value="`$tmp.RRMPolicyRatio_id`"/> - <parameter name="field5" value="RRMPolicyMember_id CUUP is - "/> - <parameter name="field6" value="`$tmp.RRMPolicyMember_id`"/> - <parameter name="field7" value="Existing RRMPolicyMembers Length"/> - <parameter name="field8" value="`$tmp.rrmPolicyMembers-CUUP`"/> - <parameter name="field9" value="Update RRMPolicyRatio URL - "/> - <parameter name="field10" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="field1" value="patch CUUP NSSAI parameters"/> + <parameter name="field2" value="`$tmp.nearRTRICId`"/> + <parameter name="field3" value="`$tmp.idGNBCUUPFunction`"/> + <parameter name="field4" value="`$tmp.mcc`"/> + <parameter name="field5" value="`$tmp.mnc`"/> + <parameter name="field6" value="`$tmp.patchPLMNInfoList-CUUP.url`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-RRMPolicyRatio-NRCellCU.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-CUUP.url`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-NRCellCU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoList-CUUP.url`"/> <parameter name="restapiUser" value="`$prop.controller.user`" /> <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="patch-CUUP-RRMPolicyRatio-response"/> + <parameter name="responsePrefix" value="patch-gNBCUUP-PLMNInfoList-response"/> <parameter name='contentType' value='application/yang.patch+json' /> <parameter name='accept' value='application/yang.patch-status+json'/> <parameter name='format' value='json' /> + <outcome value='failure'> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 patching 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 patching 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/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - cellCU RRMpolicyRatio"/> + <parameter name="field1" value="Successfully Patched - gNBCUUP PLMNInfo List"/> </record> </block> </outcome> + </execute> + <set> + <parameter name='tmp.maxNumberOfDRBsPerNSSAI' value='`$tmp.payload.maxNumberofConns*4`' /> + </set> + <set> + <parameter name='tmp.maxNumberOfDRBsPerCUUP' value='`$tmp.maxNumberOfDRBsPerNSSAI /$tmp.CUUPList_length`' /> + </set> + <set> + <parameter name='tmp.rRMPolicyDedicatedRatio1' value='`$tmp.maxNumberOfDRBsPerCUUP*100`' /> + </set> + <set> + <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/instantiateRANSliceModifyAllocate.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.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> + <parameter name='prefixKey' value='tmp.CUUPList.response' /> + <parameter name='keyName' value='gNBCUUPId' /> + <parameter name='keyValue' 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'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> <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" /> @@ -1618,6 +1457,8 @@ <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'> @@ -1640,240 +1481,490 @@ </block> <set> <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error patching cellCU RRMPolicyRatio. Aborting RPC executiopn'/> + <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 updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> + <parameter name='error-message' value='Error in fetching RRMPolicyRatio. Aborting RPC executiopn'/> </return> </block> </outcome> - </execute> - </block> - </for> - <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="Config DB update"/> - </record> - <set> - <parameter name='tmp.gNBCUUPList.gNBCUUPId' value='`$tmp.idGNBCUUPFunction`'/> - <parameter name='tmp.gNBCUUPList.gNBId' value='`$tmp.gNBId`'/> - <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> - <parameter name='payloadJson.input.sliceProfile.sNSSAI' value='`$tmp.sNSSAI`'/> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> - </set> - <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="sNSSAI"/> - <parameter name="field2" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> - <parameter name="field3" value="maxNumberOfConns"/> - <parameter name="field4" value="`$tmp.maxNumberOfConns`"/> - <parameter name="field5" value="gNBCUUPId"/> - <parameter name="field6" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> - <parameter name="field7" value="pLMNId"/> - <parameter name="field8" value="`$tmp.payload.pLMNId`"/> - <parameter name="field9" value="gNBId"/> - <parameter name="field10" value="`$tmp.gNBCUUPList.gNBId`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBCUUP`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBCUUP.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-gNBCUUP-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> + <outcome value='success'> <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> - </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> + <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> + <set> + <parameter name='tmp.rrmPolicyRatioList_CUUP_length' value='`$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length`'/> + </set> + <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="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.rrmPolicyDedicatedRatio_CUUP' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> + </execute> <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in updating Config DB - CUUP. Aborting RPC executiopn'/> + <parameter name='tmp.rrmPolicyDedicatedRatio_CUUP_updated' value="`$tmp.rrmPolicyDedicatedRatio_CUUP + $tmp.rRMPolicyDedicatedRatio-CUUP`" /> </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error updating CUUP-PLMNInfo in ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getRRMPolicyRatio`"/> - <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> - <parameter name="target" value="{resourceType}"/> - <parameter name="replacement" value="DRB"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> - <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> - <parameter name="target" value="{resourceId}"/> - <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> - </execute> - <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="get RRMPolicyby Resource URL"/> - <parameter name="field2" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getRRMPolicyRatio-existing.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getrrmpolicyratioinfo-cuup-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <outcome value='failure'> - <block atomic='true'> + <switch test='`$prop.ransim-mounted`'> + <outcome value='false'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.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.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RRMPolicyRatio_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.rrmPolicyMembers-CUUP' /> + <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" /> + </execute> <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. Aborting RPC executiopn'/> + <parameter name='tmp.RRMPolicyMember_id' value="`$tmp.rrmPolicyMembers-CUUP+1`" /> </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> - </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"/> + <parameter name="field1" value="Updated RRMPolicyRatio for CUUP is - "/> + <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatio_CUUP_updated`"/> + <parameter name="field3" value="RRMPolicyRatio_id is - "/> + <parameter name="field4" value="`$tmp.RRMPolicyRatio_id`"/> + <parameter name="field5" value="RRMPolicyMember_id CUUP is - "/> + <parameter name="field6" value="`$tmp.RRMPolicyMember_id`"/> + <parameter name="field7" value="Existing RRMPolicyMembers Length"/> + <parameter name="field8" value="`$tmp.rrmPolicyMembers-CUUP`"/> + <parameter name="field9" value="Update RRMPolicyRatio URL - "/> + <parameter name="field10" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/> </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 plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-RRMPolicyRatio-NRCellCU.json'`" /> + <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="PATCH"/> + <parameter name="responsePrefix" value="patch-CUUP-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Patched - cellCU RRMpolicyRatio"/> + </record> + </block> + </outcome> + <outcome value='failure'> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 patching 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 updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> </execute> </block> - </outcome> - </execute> - <set> - <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP' value='`$tmp.rrmPolicyDedicatedRatio_CUUP_updated`'/> - <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$tmp.sNSSAI`'/> - <parameter name='prop.configDB.rrmPolicyID' value='`$getrrmpolicyratioinfo-cuup-configdb-response.rrmPolicyID`'/> - <parameter name='tmp.resourceID' value='`$tmp.idGNBCUUPFunction`'/> - </set> - <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="rRMPolicyDedicatedRatio"/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CUUP`"/> - <parameter name="field3" value="pLMNId"/> - <parameter name="field4" value="`$tmp.payload.pLMNId`"/> - <parameter name="field5" value="sNSSAI"/> - <parameter name="field6" value="`$tmp.sNSSAI`"/> - <parameter name="field7" value="rrmPolicyID"/> - <parameter name="field8" value="`$prop.configDB.rrmPolicyID`"/> - <parameter name="field9" value="resourceID"/> - <parameter name="field10" value="`$tmp.resourceID`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-CUUP.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-gNBCUUP-rrmpolicy-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> + </for> + <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="Config DB update"/> + </record> + <set> + <parameter name='tmp.gNBCUUPList.gNBCUUPId' value='`$tmp.idGNBCUUPFunction`'/> + <parameter name='tmp.gNBCUUPList.gNBId' value='`$tmp.gNBId`'/> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> + </set> + <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="sNSSAI"/> + <parameter name="field2" value="`$payloadJson.input.sliceProfile.sNSSAI`"/> + <parameter name="field3" value="maxNumberOfConns"/> + <parameter name="field4" value="`$tmp.maxNumberOfConns`"/> + <parameter name="field5" value="gNBCUUPId"/> + <parameter name="field6" value="`$tmp.gNBCUUPList.gNBCUUPId`"/> + <parameter name="field7" value="pLMNId"/> + <parameter name="field8" value="`$tmp.payload.pLMNId`"/> + <parameter name="field9" value="gNBId"/> + <parameter name="field10" value="`$tmp.gNBCUUPList.gNBId`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBCUUP`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBCUUP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUUP-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block atomic='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="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 updating Config DB - CUUP. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating CUUP-PLMNInfo in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getRRMPolicyRatio`"/> + <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> + <parameter name="target" value="{resourceType}"/> + <parameter name="replacement" value="DRB"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> + <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> + <parameter name="target" value="{resourceId}"/> + <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/> + </execute> + <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="get RRMPolicyby Resource URL"/> + <parameter name="field2" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getRRMPolicyRatio-existing.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getrrmpolicyratioinfo-cuup-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error 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> + </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> + <set> + <parameter name='tmp.rrmPolicyRatio_configdb_length' value='`$getrrmpolicyratioinfo-cuup-configdb-response._length`'/> + </set> + <for index='idcuup-rrm1' start='0' end='`$tmp.rrmPolicyRatio_configdb_length`' > <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='prop.configDB.rrmPolicyID' /> + <parameter name='source' value="`'getrrmpolicyratioinfo-cuup-configdb-response.['+$idcuup-rrm1+'].rrmPolicyID'`" /> + </execute> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <parameter name='tmp.rRMPolicyDedicatedRatio.CUUP' value='`$tmp.rrmPolicyDedicatedRatio_CUUP_updated`'/> + <parameter name='tmp.resourceID' value='`$tmp.idGNBCUUPFunction`'/> </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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio"/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CUUP`"/> + <parameter name="field3" value="pLMNId"/> + <parameter name="field4" value="`$tmp.payload.pLMNId`"/> + <parameter name="field5" value="sNSSAI"/> + <parameter name="field6" value="`$tmp.sNSSAI`"/> + <parameter name="field7" value="rrmPolicyID"/> + <parameter name="field8" value="`$prop.configDB.rrmPolicyID`"/> + <parameter name="field9" value="resourceID"/> + <parameter name="field10" value="`$tmp.resourceID`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-CUUP.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBCUUP-rrmpolicy-configdb-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> + <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> - <block> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 updating RRMPolicyRatio - CUUP. 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" /> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating CUUP-RRMPolicyRatio in ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> @@ -1882,439 +1973,293 @@ <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="SO Response Sent "/> + <parameter name="field1" value="Successfully updated ConfigDB - CUUP RRMPolicyRatio "/> </record> </block> </outcome> </execute> </block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in updating RRMPolicyRatio - CUUP. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error updating CUUP-RRMPolicyRatio in ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully updated ConfigDB - CUUP RRMPolicyRatio "/> - </record> - </block> - </outcome> - </execute> + </for> + </block> + </block> </block> - </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/instantiateRANSliceModifyAllocate.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'`" /> + <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/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="GNBDUId "/> - <parameter name="field2" value="`$tmp.GNBDUId`"/> + <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> - <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`' > + <for index='id-du' start='0' end='`$tmp.DUList_length`'> <block atomic='true'> - <for index='id-ta' start='0' end='`$getListofCells-configdb-response._length`' > + <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/instantiateRANSliceModifyAllocate.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'> - <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 +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].cellLocalId'`" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.cellCU2' /> - <parameter name='source' value="`'getListofCells-configdb-response.[' + $id-ta + ']'`" /> - </execute> - <switch test='`$tmp.cellCULocalId == $tmp.cellCU2`'> - <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/instantiateRANSliceModifyAllocate.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.patchPLMNInfoListEntry.ToNRCellDU`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/> - <parameter name="target" value="{mnc}"/> - <parameter name="replacement" value="`$tmp.mnc`"/> - </execute> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.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.patchPLMNInfoListEntry-cellDU.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-NRCellCU.json'`" /> - <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/> - <parameter name="restapiUser" value="`$prop.controller.user`" /> - <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> - <parameter name="httpMethod" value="PATCH"/> - <parameter name="responsePrefix" value="patch-cellDU-PLMNInfoList-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+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="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.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 patching 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 updating 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 Patched - cellDU PLMNInfo List"/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> - <parameter name='prefixKey' value='tmp.DUList.response' /> - <parameter name='keyName' value='gNBDUId' /> - <parameter name='keyValue' value="`$tmp.GNBDUId`"/> - </execute> - <block atomic='true'> + <for index='id-ta' start='0' end='`$getListofCells-configdb-response._length`' > + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCULocalId' /> + <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].cellLocalId'`" /> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.cellCU2' /> + <parameter name='source' value="`'getListofCells-configdb-response.[' + $id-ta + ']'`" /> + </execute> + <switch test='`$tmp.cellCULocalId == $tmp.cellCU2`'> + <outcome value='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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.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`"/> + <parameter name="field1" value="CellDU is applicable for the NSSAI "/> </record> - </block> - <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="Calculated RRMPolicyRatio"/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> - </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.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'> + <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.ransim-mounted`"/> - <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/> + <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.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> - <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="idNRCellDU"/> - <parameter name="field2" value="`$tmp.cellDULocalId`"/> - </record> - <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'> + </outcome> + <outcome value='true'> + <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.patchPLMNInfoListEntry.ToNRCellDU.ransim-mounted`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-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.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="outputPath" value="tmp.patchPLMNInfoListEntry-cellDU.url"/> + <parameter name="target" value="{mnc}"/> + <parameter name="replacement" value="`$tmp.mnc`"/> + </execute> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.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.patchPLMNInfoListEntry-cellDU.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-sNSSAI-NRCellCU.json'`" /> + <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.patchPLMNInfoListEntry-cellDU.url`"/> + <parameter name="restapiUser" value="`$prop.controller.user`" /> + <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> + <parameter name="httpMethod" value="PATCH"/> + <parameter name="responsePrefix" value="patch-cellDU-PLMNInfoList-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+json'/> + <parameter name='format' value='json' /> + <outcome value='failure'> <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error patching 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 updating 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/so-callback-response.log" /> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="Successfully Patched - cellDU PLMNInfo List"/> </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'> + <parameter name='prefixKey' value='tmp.DUList.response' /> + <parameter name='keyName' value='gNBDUId' /> + <parameter name='keyValue' value="`$tmp.GNBDUId`"/> + </execute> + <block atomic='true'> + <block atomic='true'> <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. Aborting RPC executiopn'/> + <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' /> + </set> + <set> + <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' /> + </set> + <set> + <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.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> - <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="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/> + <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> - <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> - <set> - <parameter name='tmp.rrmPolicyRatioDUList_length' value='`$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio_length`'/> - </set> - <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="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.rrmPolicyDedicatedRatio_cellDU-old' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> - </execute> - <set> - <parameter name='tmp.rrmPolicyDedicatedRatio_CellDU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellDU-old + $tmp.rRMPolicyDedicatedRatio.CellDU`" /> - </set> + <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="Calculated RRMPolicyRatio"/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> + </record> <switch test='`$prop.ransim-mounted`'> <outcome value='false'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > @@ -2341,10 +2286,6 @@ </block> </outcome> </switch> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].id'`" /> - </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"/> @@ -2357,52 +2298,49 @@ <parameter name="target" value="{idNRCellDU}"/> <parameter name="replacement" value="`$tmp.cellDULocalId`"/> </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> - <parameter name='outputPath' value='tmp.RRMPolicyMembersDU_Length' /> - <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" /> - </execute> - <set> - <parameter name='tmp.RRMPolicyMember_id' value="`$tmp.RRMPolicyMembersDU_Length+1`" /> - </set> <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="RRMPolicyRatioid - "/> - <parameter name="field2" value="`$tmp.RRMPolicyRatio_id`"/> - <parameter name="field3" value="RRMPolicyMemberid- "/> - <parameter name="field4" value="`$tmp.RRMPolicyMember_id`"/> - <parameter name="field5" value="Updated RRMPolicyRatio for CellDU is - "/> - <parameter name="field6" value="`$tmp.rrmPolicyDedicatedRatio_CellDU_updated`"/> + <parameter name="field1" value="idNRCellDU"/> + <parameter name="field2" value="`$tmp.cellDULocalId`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-RRMPolicyRatio-NRCellCU.json'`" /> <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="PATCH"/> - <parameter name="responsePrefix" value="patch-cellDU-RRMPolicyRatio-response"/> - <parameter name='contentType' value='application/yang.patch+json' /> - <parameter name='accept' value='application/yang.patch-status+json'/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="get-rrmpolicyratio-du-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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Patched - cellDU RRMpolicyRatio"/> - </record> - </block> - </outcome> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> <outcome value='failure'> <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> <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" /> @@ -2422,6 +2360,8 @@ <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'> @@ -2444,282 +2384,518 @@ </block> <set> <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error patching cellDU RRMPolicyRatio. Aborting RPC executiopn'/> + <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 updating RRMPolicyRatio for NRCellDU. Aborting RPC executiopn'/> + <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> - </block> - </for> - </block> - <block atomic='true'> - <set> - <parameter name='tmp.cellLocalId' value='`$tmp.cellDULocalId`'/> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> - <parameter name='tmp.dLThptPerSlice' value='`$tmp.payload.dLThptPerSlice`'/> - <parameter name='tmp.uLThptPerSlice' value='`$tmp.payload.uLThptPerSlice`'/> - <parameter name='tmp.payload.sNSSAI' value='`$tmp.sNSSAI`'/> - <parameter name='tmp.gNBId' value='`$tmp.gNBId`'/> - <parameter name='tmp.gNBDUList.gNBDUId' value='`$tmp.GNBDUId`'/> - </set> - <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="cellLocalId"/> - <parameter name="field2" value="`$tmp.cellLocalId`"/> - <parameter name="field3" value="pLMNId"/> - <parameter name="field4" value="`$tmp.pLMNId`"/> - <parameter name="field5" value="maxNumberOfConns"/> - <parameter name="field6" value="`$tmp.maxNumberOfConns`"/> - <parameter name="field7" value="GNBDUId"/> - <parameter name="field8" value="`$tmp.gNBDUList.gNBDUId`"/> - <parameter name="field9" value="gNBId"/> - <parameter name="field10" value="`$tmp.gNBId`"/> - <parameter name="field11" value="dLThptPerSlice"/> - <parameter name="field12" value="`$tmp.dLThptPerSlice`"/> - <parameter name="field13" value="uLThptPerSlice"/> - <parameter name="field14" value="`$tmp.uLThptPerSlice`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBDU`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBDU.json -'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-gNBDU-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block atomic='true'> + <set> + <parameter name='tmp.rrmPolicyRatioDUList_length' value='`$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio_length`'/> + </set> + <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="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.rrmPolicyDedicatedRatio_cellDU-old' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" /> + </execute> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <parameter name='tmp.rrmPolicyDedicatedRatio_CellDU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellDU-old + $tmp.rRMPolicyDedicatedRatio.CellDU`" /> + </set> + <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.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].id'`" /> + </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="{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.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='tmp.RRMPolicyMembersDU_Length' /> + <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" /> + </execute> + <set> + <parameter name='tmp.RRMPolicyMember_id' value="`$tmp.RRMPolicyMembersDU_Length+1`" /> </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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="RRMPolicyRatioid - "/> + <parameter name="field2" value="`$tmp.RRMPolicyRatio_id`"/> + <parameter name="field3" value="RRMPolicyMemberid- "/> + <parameter name="field4" value="`$tmp.RRMPolicyMember_id`"/> + <parameter name="field5" value="Updated RRMPolicyRatio for CellDU is - "/> + <parameter name="field6" value="`$tmp.rrmPolicyDedicatedRatio_CellDU_updated`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-patch-RRMPolicyRatio-NRCellCU.json'`" /> + <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="PATCH"/> + <parameter name="responsePrefix" value="patch-cellDU-RRMPolicyRatio-response"/> + <parameter name='contentType' value='application/yang.patch+json' /> + <parameter name='accept' value='application/yang.patch-status+json'/> <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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> + <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="SO Response Sent "/> + <parameter name="field1" value="Successfully Patched - cellDU RRMpolicyRatio"/> </record> </block> </outcome> + <outcome value='failure'> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 patching 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 updating RRMPolicyRatio for NRCellDU. Aborting RPC executiopn'/> + </return> + </block> + </outcome> </execute> </block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in updating Config DB - NRCellDU. 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 NRCellDU-PLMNInfo in ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/> - </record> - </block> - </outcome> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$prop.restapi.configdb.getRRMPolicyRatio`"/> - <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> - <parameter name="target" value="{resourceType}"/> - <parameter name="replacement" value="PRB"/> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > - <parameter name="source" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> - <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> - <parameter name="target" value="{resourceId}"/> - <parameter name="replacement" value="`$tmp.cellDULocalId`"/> - </execute> - <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="get RRMPolicyby Resource URL"/> - <parameter name="field2" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getRRMPolicyRatio-existing.url`"/> - <parameter name="httpMethod" value="GET"/> - <parameter name="responsePrefix" value="getrrmpolicyratioinfoDU-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <outcome value='failure'> - <block atomic='true'> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error 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> - </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> - <set> - <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$tmp.sNSSAI`'/> - <parameter name='prop.configDB.rrmPolicyID' value='`$getrrmpolicyratioinfoDU-configdb-response.rrmPolicyID`'/> - <parameter name='tmp.resourceID' value='`$tmp.cellDULocalId`'/> - <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rrmPolicyDedicatedRatio_CellDU_updated`'/> - </set> - <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="rRMPolicyDedicatedRatio"/> - <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> - <parameter name="field3" value="pLMNId"/> - <parameter name="field4" value="`$tmp.payload.pLMNId`"/> - <parameter name="field5" value="sNSSAI"/> - <parameter name="field6" value="`$tmp.sNSSAI`"/> - <parameter name="field7" value="rrmPolicyID"/> - <parameter name="field8" value="`$prop.configDB.rrmPolicyID`"/> - <parameter name="field9" value="resourceID"/> - <parameter name="field10" value="`$tmp.resourceID`"/> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-DU.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-gNBDU-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'> + </for> + </block> + <block atomic='true'> + <set> + <parameter name='tmp.cellLocalId' value='`$tmp.cellDULocalId`'/> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/> + <parameter name='tmp.dLThptPerSlice' value='`$tmp.payload.dLThptPerSlice`'/> + <parameter name='tmp.uLThptPerSlice' value='`$tmp.payload.uLThptPerSlice`'/> + <parameter name='tmp.gNBId' value='`$tmp.gNBId`'/> + <parameter name='tmp.gNBDUList.gNBDUId' value='`$tmp.GNBDUId`'/> + <parameter name='tmp.pLMNId' value='`$tmp.payload.pLMNId`'/> + </set> + <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="cellLocalId"/> + <parameter name="field2" value="`$tmp.cellLocalId`"/> + <parameter name="field3" value="pLMNId"/> + <parameter name="field4" value="`$tmp.pLMNId`"/> + <parameter name="field5" value="maxNumberOfConns"/> + <parameter name="field6" value="`$tmp.maxNumberOfConns`"/> + <parameter name="field7" value="GNBDUId"/> + <parameter name="field8" value="`$tmp.gNBDUList.gNBDUId`"/> + <parameter name="field9" value="gNBId"/> + <parameter name="field10" value="`$tmp.gNBId`"/> + <parameter name="field11" value="dLThptPerSlice"/> + <parameter name="field12" value="`$tmp.dLThptPerSlice`"/> + <parameter name="field13" value="uLThptPerSlice"/> + <parameter name="field14" value="`$tmp.uLThptPerSlice`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updategNBDU`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updategNBDU.json +'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBDU-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 updating Config DB - NRCellDU. 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 NRCellDU-PLMNInfo in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully updated ConfigDB - NRCellCU pLMNinfo "/> + </record> + </block> + </outcome> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$prop.restapi.configdb.getRRMPolicyRatio`"/> + <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> + <parameter name="target" value="{resourceType}"/> + <parameter name="replacement" value="PRB"/> + </execute> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> + <parameter name="outputPath" value="tmp.configdb.getRRMPolicyRatio-existing.url"/> + <parameter name="target" value="{resourceId}"/> + <parameter name="replacement" value="`$tmp.cellDULocalId`"/> + </execute> + <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="get RRMPolicyby Resource URL"/> + <parameter name="field2" value="`$tmp.configdb.getRRMPolicyRatio-existing.url`"/> + </record> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getRRMPolicyRatio-existing.url`"/> + <parameter name="httpMethod" value="GET"/> + <parameter name="responsePrefix" value="getrrmpolicyratioinfoDU-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <outcome value='failure'> + <block atomic='true'> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error 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> + </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> + <set> + <parameter name='tmp.rrmPolicyRatioDUList_length' value='`$getrrmpolicyratioinfoDU-configdb-response._length`'/> + </set> + <for index='iddu-rrm1' start='0' end='`$tmp.rrmPolicyRatioDUList_length`' > <block atomic='true'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> + <parameter name='outputPath' value='prop.configDB.rrmPolicyID' /> + <parameter name='source' value="`'getrrmpolicyratioinfoDU-configdb-response.['+$iddu-rrm1+'].rrmPolicyID'`" /> + </execute> <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + <parameter name='tmp.resourceID' value='`$tmp.cellDULocalId`'/> + <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rrmPolicyDedicatedRatio_CellDU_updated`'/> </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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> + <parameter name="field1" value="rRMPolicyDedicatedRatio"/> + <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/> + <parameter name="field3" value="pLMNId"/> + <parameter name="field4" value="`$tmp.payload.pLMNId`"/> + <parameter name="field5" value="sNSSAI"/> + <parameter name="field6" value="`$tmp.sNSSAI`"/> + <parameter name="field7" value="rrmPolicyID"/> + <parameter name="field8" value="`$prop.configDB.rrmPolicyID`"/> + <parameter name="field9" value="resourceID"/> + <parameter name="field10" value="`$tmp.resourceID`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-DU.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-gNBDU-rrmpolicy-configdb-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> + <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> - <block> + <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/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.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 updating RRMPolicyRatio - NRCellDU. 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" /> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating NRCellDU-RRMPolicyRatio in ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> <outcome value='success'> - <block> + <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="SO Response Sent "/> + <parameter name="field1" value="Successfully updated ConfigDB - NRCellDU RRMPolicyRatio "/> </record> </block> </outcome> </execute> </block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error in updating RRMPolicyRatio - NRCellDU. 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 NRCellDU-RRMPolicyRatio in ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully updated ConfigDB - NRCellDU RRMPolicyRatio "/> - </record> - </block> - </outcome> - </execute> - </block> - </block> - </outcome> - </switch> + </for> + </block> + </block> + </outcome> + </switch> + </block> + </for> </block> </for> </block> @@ -2727,106 +2903,142 @@ </block> </for> </block> - <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="Update inventory in ConfigDB"/> - </record> - <set> - <parameter name='tmp.dLThptPerSlice' value='`$tmp.payload.dLThptPerSlice`'/> - <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> - <parameter name='tmp.payload.sNSSAI' value='`$tmp.sNSSAI`'/> - <parameter name='tmp.uLThptPerSlice' value='`$tmp.payload.uLThptPerSlice`'/> - <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberOfConns`'/> - </set> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRANSliceInventory`"/> - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRANSliceInventory.json'`" /> - <parameter name="httpMethod" value="PUT"/> - <parameter name="responsePrefix" value="update-inventory-configdb-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='application/json' /> - <parameter name="convertResponse" value="true"/> - <outcome value='failure'> - <block> - <set> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> - </set> - <return status='failure'> - <parameter name='ack-final' value='Y'/> - <parameter name='error-code' value='500'/> - <parameter name='error-message' value='Error updating inventory in ConfigDB. Aborting RPC executiopn'/> - </return> - </block> - </outcome> - <outcome value='success'> - <block> - <block atomic='true'> - <set> - <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> - <parameter name="tmp.status" value="`$error-code`"/> - <parameter name="tmp.reason" value="`$error-message`"/> - <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> - <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> - </set> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="URL for SO Callback Response"/> - <parameter name='field2' value="`$tmp.so.callbackURL`" /> - <parameter name='field3' value="`$tmp.status`" /> - <parameter name='field4' value="`$tmp.reason`" /> - <parameter name='field5' value="`$tmp.requestID`" /> - <parameter name='field6' value="`$tmp.action`" /> - </record> - <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > - <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> - <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/> - <parameter name="httpMethod" value="POST"/> - <parameter name="responsePrefix" value="so-callback-modify-response"/> - <parameter name='contentType' value='application/json' /> - <parameter name='format' value='json' /> - <parameter name='accept' value='*/*' /> - <parameter name="convertResponse" value="true"/> - <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/instantiateRANSliceModifyAllocate.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="SO Response Sent "/> - </record> - </block> - </outcome> - </execute> - </block> - <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> - <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> - <parameter name="level" value="info" /> - <parameter name="field1" value="Successfully Updated inventory in ConfigDB"/> - </record> - </block> - </outcome> - </execute> </for> <return status='success'> <parameter name="ack-final" value="Y" /> <parameter name="error-code" value="200" /> <parameter name="error-message" value="SUCCESSFUL Execution" /> </return> + <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="Update inventory in ConfigDB"/> + </record> + <set> + <parameter name='tmp.dLThptPerSlice' value='`$tmp.payload.dLThptPerSlice`'/> + <parameter name='tmp.payload.pLMNId' value='`$tmp.pLMNId`'/> + <parameter name='tmp.payload.sNSSAI' value='`$tmp.sNSSAI`'/> + <parameter name='tmp.uLThptPerSlice' value='`$tmp.payload.uLThptPerSlice`'/> + <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberOfConns`'/> + </set> + <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > + <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRANSliceInventory`"/> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRANSliceInventory.json'`" /> + <parameter name="httpMethod" value="PUT"/> + <parameter name="responsePrefix" value="update-inventory-configdb-response"/> + <parameter name='contentType' value='application/json' /> + <parameter name='format' value='json' /> + <parameter name='accept' value='application/json' /> + <parameter name="convertResponse" value="true"/> + <outcome value='failure'> + <block> + <set> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/> + </set> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value='Error updating inventory in ConfigDB. Aborting RPC executiopn'/> + </return> + </block> + </outcome> + <outcome value='success'> + <block> + <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <set> + <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> + <parameter name="tmp.reason" value="`$error-message`"/> + <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> + <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> + </set> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> + <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="`$tmp.so.callbackURL`"/> + <parameter name="httpMethod" value="POST"/> + <parameter name="responsePrefix" value="so-callback-modify-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/instantiateRANSliceModifyAllocate.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="SO Response Sent "/> + </record> + </block> + </outcome> + </execute> + </block> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Successfully Updated inventory in ConfigDB"/> + </record> + </block> + </outcome> + </execute> <block atomic='true'> + <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> + <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> + <parameter name="level" value="info" /> + <parameter name="field1" value="Response code"/> + <parameter name="field2" value="`$error-code`" /> + </record> + <switch test='`$error-code`'> + <outcome value='200'> + <set> + <parameter name="tmp.status" value="success"/> + </set> + </outcome> + <outcome value='Other'> + <set> + <parameter name="tmp.status" value="`$error-code`"/> + </set> + </outcome> + </switch> <set> - <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/> <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/> @@ -2838,7 +3050,7 @@ <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="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for SO Callback Response"/> <parameter name='field2' value="`$payloadJson.input.callbackURL`" /> @@ -2846,6 +3058,8 @@ <parameter name='field4' value="`$tmp.reason`" /> <parameter name='field5' value="`$tmp.requestID`" /> <parameter name='field6' value="`$tmp.action`" /> + <parameter name='field7' value="`$prop.restapi.so.user`" /> + <parameter name='field8' value="`$prop.restapi.so.password`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" /> diff --git a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml index adb24742..55283c1f 100644 --- a/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml +++ b/platform-logic/ran-slice-api/src/main/xml/ran-slice-api_instantiateRANSliceReconfigure.xml @@ -273,17 +273,17 @@ <set> <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/> </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> - </execute> + <block atomic="true"> + <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> + </block> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> @@ -554,17 +554,17 @@ <set> <parameter name='tmp.pLMNId' value='`$getPLMN-CL-configdb-response.plmnId`'/> </set> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mcc"/> - <parameter name="begin-index" value="0" /> - <parameter name="end-index" value="3" /> - </execute> - <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'> - <parameter name="string" value="`$tmp.pLMNId`" /> - <parameter name="result" value="tmp.mnc"/> - <parameter name="begin-index" value="4" /> - </execute> + <block atomic="true"> + <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> + </block> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> |