+++ /dev/null
-<service-logic
- xmlns='http://www.onap.org/sdnc/svclogic'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='ran-slice-api' version='${project.version}'>
- <method rpc='instantiateRANSliceModifyAllocate' mode='sync'>
- <block atomic='true'>
- <block atomic='true'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.configdb.getNearRTRICByNSSI`"/>
- <parameter name="outputPath" value="tmp.configdb.getNearRTRICByNSSI.url"/>
- <parameter name="target" value="{ranNFNSSIId}"/>
- <parameter name="replacement" value="`$tmp.payload.RANNFNSSIId`"/>
- </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="URL for configDB to Get NearRTRIC for RANNFNSSI"/>
- <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`" />
- <parameter name='field3' value="`$tmp.payload.RANNFNSSIId`" />
- </record>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.getNearRTRICByNSSI.url`"/>
- <parameter name="httpMethod" value="GET"/>
- <parameter name="responsePrefix" value="getNFNSSIRIC-configdb-response"/>
- <parameter name='contentType' value='application/json' />
- <parameter name='format' value='json' />
- <parameter name='accept' value='application/json' />
- <parameter name="convertResponse" value="true"/>
- <outcome value='failure'>
- <block>
- <set>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/>
- </set>
- <block atomic='true'>
- <set>
- <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
- <parameter name="tmp.status" value="`$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='application/json' />
- <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 Obtained NearRT RIC info from ConfigDB"/>
- <parameter name="field2" value="`$getNFNSSIRIC-configdb-response._length`"/>
- </record>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' />
- </execute>
- </block>
- </outcome>
- </execute>
- </block>
- <for index='idy' start='0' end='`$getNFNSSIRIC-configdb-response._length`' >
- <block atomic='true'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.nearRTRICId' />
- <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].nearRTRICId'`" />
- </execute>
- <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="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.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`'>
- <block atomic='true'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.CUCPName' />
- <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].gNBCUName'`" />
- </execute>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/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.pLMNInfoList_length' />
- <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList_length '`" />
- </execute>
- <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.configDBSNSSAI' />
- <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBCUCPList['+ $idz +'].cellCUList['+ $idcu +'].pLMNInfoList['+ $id-cuplmn +'].sNSSAI.sNSSAI'`" />
- </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="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/instantiateRANSliceModifyAllocate.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/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='application/json' />
- <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>
- <block atomic='true'>
- <set>
- <parameter name='tmp.maxNumberOfConnsPercellCU' value='`$tmp.payload.maxNumberofConns / $tmp.cellCUList_length`' />
- <parameter name='tmp.rRMPolicyDedicatedRatio.CellCU1' value='`$tmp.maxNumberOfConnsPercellCU * 100`' />
- <parameter name='tmp.rRMPolicyDedicatedRatio_SliceProfile' value='`$tmp.rRMPolicyDedicatedRatio.CellCU1 / $prop.nrcellcu.maxNumberOfConnsPerCell`' />
- </set>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="RRMPolicyRatio for this profile is - "/>
- <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellCU`"/>
- </record>
- <switch test='`$prop.ransim-mounted`'>
- <outcome value='false'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.RRMPolicyRatioEntry.ToNRCellCU`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/>
- <parameter name="target" value="{idNearRTRIC}"/>
- <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
- </execute>
- </outcome>
- <outcome value='true'>
- <block atomic='true'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.RRMPolicyRatioEntry.ToNRCellCU.ransim-mounted`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/>
- <parameter name="target" value="{idNearRTRIC}"/>
- <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/>
- <parameter name="target" value="{mountName}"/>
- <parameter name="replacement" value="`$tmp.CUCPName`"/>
- </execute>
- </block>
- </outcome>
- </switch>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/>
- <parameter name="target" value="{idGNBCUCPFunction}"/>
- <parameter name="replacement" value="`$tmp.CUCPName`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.getRRMPolicyRatio.url`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio.url"/>
- <parameter name="target" value="{idNRCellCU}"/>
- <parameter name="replacement" value="`$tmp.cellCULocalId`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio.url`"/>
- <parameter name="restapiUser" value="`$prop.controller.user`" />
- <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
- <parameter name="httpMethod" value="GET"/>
- <parameter name="responsePrefix" value="get-rrmpolicyratio-response"/>
- <parameter name='contentType' value='application/json' />
- <parameter name='format' value='json' />
- <parameter name='accept' value='application/json' />
- <parameter name="convertResponse" value="true"/>
- <outcome value='failure'>
- <block atomic='true'>
- <set>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. Aborting RPC executiopn'/>
- </set>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='Error in Fetching RRMPolicyRatio - CellCU. Aborting RPC executiopn'/>
- </return>
- <block atomic='true'>
- <set>
- <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
- <parameter name="tmp.status" value="`$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='application/json' />
- <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>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.rrmPolicyRatioList_length' />
- <parameter name='source' value="`'get-rrmpolicyratio-response.attributes.RRMPolicyRatio_length '`" />
- </execute>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/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'>
- <set>
- <parameter name='tmp.rrmPolicyDedicatedRatio_cellCU' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" />
- <parameter name='tmp.rrmPolicyDedicatedRatio_CellCU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellCU + $tmp.rRMPolicyDedicatedRatio_SliceProfile`" />
- </set>
- <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>
- <set>
- <parameter name='tmp.RRMPolicyRatio_id' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+'].id'`" />
- </set>
- <set>
- <parameter name='tmp.RRMPolicyMember_id' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $idcu-rrm+ ']'.attributes.rRMPolicyMemberList_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="Updated RRMPolicyRatio for CellCU is - "/>
- <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatio_updated`"/>
- </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 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 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='application/json' />
- <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='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>
- </outcome>
- </execute>
- </block>
- </for>
- </block>
- <block atomic='true'>
- <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'>
- <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='application/json' />
- <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>
- <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.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>
- <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='application/json' />
- <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>
- <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>
- </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 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/instantiateRANSliceModifyAllocate.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'>
- <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.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='application/json' />
- <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`' />
- <parameter name='tmp.maxNumberOfDRBsPerCUUP' value='`$tmp.maxNumberOfDRBsPerNSSAI /$tmp.CUUPList_length`' />
- <parameter name='tmp.rRMPolicyDedicatedRatio1' value='`$tmp.maxNumberOfDRBsPerCUUP*100`' />
- <parameter name='tmp.rRMPolicyDedicatedRatio-CUUP' value='`$tmp.rRMPolicyDedicatedRatio1/$prop.cuupfunction.maxNumberOfDRBsPerCUUP`' />
- </set>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/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.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='application/json' />
- <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>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.rrmPolicyRatioList_CUUP_length' />
- <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length '`" />
- </execute>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="CUUP - RRMPolicyRatioList size"/>
- <parameter name="field2" value="`$tmp.tmp.rrmPolicyRatioList_CUUP_length`"/>
- </record>
- <for index='idcuup-rrm' start='0' end='`$tmp.rrmPolicyRatioList_CUUP_length`' >
- <block atomic='true'>
- <set>
- <parameter name='tmp.rrmPolicyDedicatedRatio_CUUP' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm +'].attributes.rRMPolicyDedicatedRatio'`" />
- <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="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>
- <set>
- <parameter name='tmp.RRMPolicyRatio_id' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].id'`" />
- </set>
- <set>
- <parameter name='tmp.RRMPolicyMember_id' value="`'$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+ ']'.attributes.rRMPolicyMemberList_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="Updated RRMPolicyRatio for CUUP is - "/>
- <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatio_CUUP_updated`"/>
- </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="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'>
- <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='application/json' />
- <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/instantiateRANSliceModifyAllocate.log" />
- <parameter name="level" value="info" />
- <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 nearRTRIC info in ConfigDB. Aborting RPC executiopn'/>
- </return>
- </block>
- </outcome>
- </execute>
- </block>
- </for>
- <block atomic='true'>
- <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 + '/restapi.configDB.updategNBCUUP.templatefile'`" />
- <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'>
- <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='application/json' />
- <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 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>
- </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.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/>
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/restapi.configDB.updateRRMPolicy.CUUP.templatefile'`" />
- <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'>
- <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='application/json' />
- <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 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>
- </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'`" />
- </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>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.DUpLMNInfoList_length' />
- <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList_length '`" />
- </execute>
- <for index='id-duplmn' start='0' end='`$tmp.DUpLMNInfoList_length`' >
- <block atomic='true'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.configDBSNSSAI-DU' />
- <parameter name='source' value="`'getNFNSSIRIC-configdb-response.['+ $idy +'].gNBDUList['+ $id-du +'].cellDUList['+ $id-celldu +'].pLMNInfoList['+ $id-duplmn +'].sNSSAI.sNSSAI'`" />
- </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="sNSSAI - getNFNSSIRIC-configdb-response"/>
- <parameter name="field2" value="`$tmp.configDBSNSSAI-DU`"/>
- <parameter name="field3" value="sNSSAI from request"/>
- <parameter name="field4" value="`$tmp.sNSSAI`"/>
- </record>
- <switch test='`$tmp.configDBSNSSAI-DU == $tmp.sNSSAI`'>
- <outcome value='true'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/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 +'].cellCUList['+ $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.cellCULocalId`"/>
- </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='application/json' />
- <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>
- <block atomic='true'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.uLThptPerSlice' value='`$payloadJson.input.sliceProfile.uLThptPerSlice`' />
- </set>
- <set>
- <parameter name='tmp.dLThptPerSlice' value='`$payloadJson.input.sliceProfile.dLThptPerSlice`' />
- </set>
- <set>
- <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' />
- </set>
- <set>
- <parameter name='tmp.nearRTRIC.trafficCapacity1' value='`$tmp.uLThptPerSlice + $tmp.dLThptPerSlice`' />
- </set>
- <set>
- <parameter name='tmp.nearRTRIC.trafficCapacity' value='`$tmp.nearRTRIC.trafficCapacity1 / 2`' />
- </set>
- <set>
- <parameter name='tmp.nearRTRIC.trafficCapacityBPS' value='`$tmp.nearRTRIC.trafficCapacity * 1000000`' />
- </set>
- <set>
- <parameter name='tmp.nrcelldu.totalPRBForSNSSAI' value='`$tmp.nearRTRIC.trafficCapacityBPS / 1008000`' />
- </set>
- <set>
- <parameter name='tmp.nrcelldu.PRBPerImpactedCell' value='`$tmp.nrcelldu.totalPRBForSNSSAI / $tmp.cellDUList_length`' />
- </set>
- <set>
- <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU1' value='`$tmp.nrcelldu.PRBPerImpactedCell * 100`' />
- </set>
- <set>
- <parameter name='tmp.rRMPolicyDedicatedRatio.CellDU' value='`$tmp.rRMPolicyDedicatedRatio.CellDU1 / $prop.nrcelldu.TotalPRBsPerCell`' />
- </set>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="rRMPolicyDedicatedRatio for CellDU "/>
- <parameter name="field2" value="`$tmp.rRMPolicyDedicatedRatio.CellDU`"/>
- <parameter name="field3" value="tmp.nearRTRIC.trafficCapacity1 "/>
- <parameter name="field4" value="`$tmp.nearRTRIC.trafficCapacity1`"/>
- <parameter name="field5" value="tmp.nearRTRIC.trafficCapacity "/>
- <parameter name="field6" value="`$tmp.nearRTRIC.trafficCapacity`"/>
- <parameter name="field7" value="tmp.nearRTRIC.trafficCapacityBPS"/>
- <parameter name="field8" value="`$tmp.nearRTRIC.trafficCapacityBPS`"/>
- <parameter name="field9" value="tmp.nrcelldu.totalPRBForSNSSAI "/>
- <parameter name="field10" value="`$tmp.nrcelldu.totalPRBForSNSSAI`"/>
- <parameter name="field11" value="tmp.nrcelldu.PRBPerImpactedCell "/>
- <parameter name="field12" value="`$tmp.nrcelldu.PRBPerImpactedCell`"/>
- <parameter name="field13" value="tmp.rRMPolicyDedicatedRatio.CellDU1 "/>
- <parameter name="field14" value="`$tmp.rRMPolicyDedicatedRatio.CellDU1`"/>
- </record>
- </block>
- <switch test='`$prop.ransim-mounted`'>
- <outcome value='false'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.RRMPolicyRatioEntry.ToGNBDU`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/>
- <parameter name="target" value="{idNearRTRIC}"/>
- <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
- </execute>
- </outcome>
- <outcome value='true'>
- <block atomic='true'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.RRMPolicyRatioEntry.ToGNBDU.ransim-mounted`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/>
- <parameter name="target" value="{idNearRTRIC}"/>
- <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/>
- <parameter name="target" value="{mountName}"/>
- <parameter name="replacement" value="`$tmp.GNBDUId`"/>
- </execute>
- </block>
- </outcome>
- </switch>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/>
- <parameter name="target" value="{idGNBDUFunction}"/>
- <parameter name="replacement" value="`$tmp.GNBDUId`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.getRRMPolicyRatio-gNBDU.url`"/>
- <parameter name="outputPath" value="tmp.getRRMPolicyRatio-gNBDU.url"/>
- <parameter name="target" value="{idNRCellDU}"/>
- <parameter name="replacement" value="`$tmp.cellDULocalId`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.getRRMPolicyRatio-gNBDU.url`"/>
- <parameter name="restapiUser" value="`$prop.controller.user`" />
- <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
- <parameter name="httpMethod" value="GET"/>
- <parameter name="responsePrefix" value="get-rrmpolicyratio-du-response"/>
- <parameter name='contentType' value='application/json' />
- <parameter name='format' value='json' />
- <parameter name='accept' value='application/json' />
- <parameter name="convertResponse" value="true"/>
- <outcome value='failure'>
- <block atomic='true'>
- <block atomic='true'>
- <set>
- <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
- <parameter name="tmp.status" value="`$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='application/json' />
- <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 - CellDU. Aborting RPC executiopn'/>
- </return>
- </block>
- </outcome>
- <outcome value='success'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/>
- </record>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' />
- </execute>
- </block>
- </outcome>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
- <parameter name='outputPath' value='tmp.rrmPolicyRatioDUList_length' />
- <parameter name='source' value="`'get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio_length '`" />
- </execute>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="RRMPolicyRatioList size"/>
- <parameter name="field2" value="`$tmp.rrmPolicyRatioList_length`"/>
- </record>
- <for index='iddu-rrm' start='0' end='`$tmp.rrmPolicyRatioDUList_length`' >
- <block atomic='true'>
- <set>
- <parameter name='tmp.rrmPolicyDedicatedRatio_cellDU' value="`'$get-rrmpolicyratio-response.attributes.RRMPolicyRatio['+ $iddu-rrm +'].attributes.rRMPolicyDedicatedRatio'`" />
- <parameter name='tmp.rrmPolicyDedicatedRatio_CellDU_updated' value="`$tmp.rrmPolicyDedicatedRatio_cellDU + $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>
- <set>
- <parameter name='tmp.RRMPolicyRatio_id' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+'].id'`" />
- </set>
- <set>
- <parameter name='tmp.RRMPolicyMember_id' value="`'$get-rrmpolicyratio-du-response.attributes.RRMPolicyRatio['+ $iddu-rrm+ ']'.attributes.rRMPolicyMemberList_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="Updated RRMPolicyRatio for CellCU is - "/>
- <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatio_updated`"/>
- </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='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>
- <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='application/json' />
- <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 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>
- </for>
- </block>
- <block atomic='true'>
- <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 + '/restapi.configDB.updategNBDU.templatefile'`" />
- <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'>
- <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='application/json' />
- <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 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.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-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'>
- <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='application/json' />
- <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 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>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- <return status='success'>
- <parameter name="ack-final" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="SUCCESSFUL Execution" />
- </return>
- <block atomic='true'>
- <set>
- <parameter name="tmp.status" value="`$error-code`"/>
- <parameter name="tmp.reason" value="`$error-message`"/>
- <parameter name="tmp.requestID" value="`$instantiate-r-a-n-slice-input.common-header.request-id `"/>
- <parameter name="tmp.action" value="`$instantiate-r-a-n-slice-input.action`"/>
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.so.callbackURL`"/>
- <parameter name="outputPath" value="tmp.so.callbackURL"/>
- <parameter name="target" value="{requestId}"/>
- <parameter name="replacement" value="`$tmp.requestID`"/>
- </execute>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="URL for SO Callback Response"/>
- <parameter name='field2' value="`$payloadJson.input.callbackURL`" />
- <parameter name='field3' value="`$tmp.status`" />
- <parameter name='field4' value="`$tmp.reason`" />
- <parameter name='field5' value="`$tmp.requestID`" />
- <parameter name='field6' value="`$tmp.action`" />
- </record>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
- <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
- <parameter name="httpMethod" value="POST"/>
- <parameter name="responsePrefix" value="so-callback-response"/>
- <parameter name='contentType' value='application/json' />
- <parameter name='format' value='json' />
- <parameter name='accept' value='application/json' />
- <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
- <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
- <outcome value='failure'>
- <block>
- <set>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
- </set>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error sending SO Response" />
- </return>
- </block>
- </outcome>
- <outcome value='success'>
- <block>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
- <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="SO Response Sent "/>
- </record>
- </block>
- </outcome>
- </execute>
- </block>
- </block>
- </method>
-</service-logic>
\ No newline at end of file