+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Response code"/>
+ <parameter name="field2" value="`$error-code`" />
+ </record>
+ <set>
+ <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
+ <parameter name="tmp.reason" value="`$error-message`"/>
+ <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
+ <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
+ </set>
+ <switch test='`$error-code`'>
+ <outcome value='200'>
+ <set>
+ <parameter name="tmp.status" value="success"/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name="tmp.status" value="`$error-code`"/>
+ </set>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for SO Callback Response"/>
+ <parameter name='field2' value="`$tmp.so.callbackURL`" />
+ <parameter name='field3' value="`$tmp.status`" />
+ <parameter name='field4' value="`$tmp.reason`" />
+ <parameter name='field5' value="`$tmp.requestID`" />
+ <parameter name='field6' value="`$tmp.action`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
+ <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="so-callback-modify-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='*/*' />
+ <parameter name="convertResponse" value="true"/>
+ <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
+ <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error sending SO Response" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="SO Response Sent "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error in retrieving RRMPolicyRatio. Aborting RPC executiopn'/>
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error in fetching RRMPolicyRatio. Aborting RPC executiopn'/>
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully Retrieved - RRMPolicyRatio"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-instantiateRANSlice-configrsp-context.log' />
+ </execute>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='tmp.rrmPolicyRatioList_CUUP_length' value='`$get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio_length`'/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="CUUP - RRMPolicyRatioList size"/>
+ <parameter name="field2" value="`$tmp.rrmPolicyRatioList_CUUP_length`"/>
+ </record>
+ <for index='idcuup-rrm' start='0' end='`$tmp.rrmPolicyRatioList_CUUP_length`' >
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='tmp.rrmPolicyDedicatedRatio_CUUP' />
+ <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm +'].attributes.rRMPolicyDedicatedRatio'`" />
+ </execute>
+ <set>
+ <parameter name='tmp.rrmPolicyDedicatedRatio_CUUP_updated' value="`$tmp.rrmPolicyDedicatedRatio_CUUP + $tmp.rRMPolicyDedicatedRatio-CUUP`" />
+ </set>
+ <switch test='`$prop.ransim-mounted`'>
+ <outcome value='false'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.RRMPolicyRatioEntry.ToGNBCUUP`"/>
+ <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/>
+ <parameter name="target" value="{idNearRTRIC}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.RRMPolicyRatioEntry.ToGNBCUUP.ransim-mounted`"/>
+ <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/>
+ <parameter name="target" value="{idNearRTRIC}"/>
+ <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/>
+ <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/>
+ <parameter name="target" value="{mountName}"/>
+ <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/>
+ <parameter name="outputPath" value="tmp.getRRMPolicyRatio-CUUP.url"/>
+ <parameter name="target" value="{idGNBCUUPFunction}"/>
+ <parameter name="replacement" value="`$tmp.idGNBCUUPFunction`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='tmp.RRMPolicyRatio_id' />
+ <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+'].id'`" />
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+ <parameter name='outputPath' value='tmp.rrmPolicyMembers-CUUP' />
+ <parameter name='source' value="`'get-rrmpolicyratio-cuup-response.attributes.RRMPolicyRatio['+ $idcuup-rrm+ ']'.attributes.rRMPolicyMemberList_length'`" />
+ </execute>
+ <set>
+ <parameter name='tmp.RRMPolicyMember_id' value="`$tmp.rrmPolicyMembers-CUUP+1`" />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Updated RRMPolicyRatio for CUUP is - "/>
+ <parameter name="field2" value="`$tmp.rrmPolicyDedicatedRatio_CUUP_updated`"/>
+ <parameter name="field3" value="RRMPolicyRatio_id is - "/>
+ <parameter name="field4" value="`$tmp.RRMPolicyRatio_id`"/>
+ <parameter name="field5" value="RRMPolicyMember_id CUUP is - "/>
+ <parameter name="field6" value="`$tmp.RRMPolicyMember_id`"/>
+ <parameter name="field7" value="Existing RRMPolicyMembers Length"/>
+ <parameter name="field8" value="`$tmp.rrmPolicyMembers-CUUP`"/>
+ <parameter name="field9" value="Update RRMPolicyRatio URL - "/>
+ <parameter name="field10" value="`$tmp.getRRMPolicyRatio-CUUP.url`"/>
+ </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'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully Patched - cellCU RRMpolicyRatio"/>
+ </record>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Response code"/>
+ <parameter name="field2" value="`$error-code`" />
+ </record>
+ <set>
+ <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
+ <parameter name="tmp.reason" value="`$error-message`"/>
+ <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
+ <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
+ </set>
+ <switch test='`$error-code`'>
+ <outcome value='200'>
+ <set>
+ <parameter name="tmp.status" value="success"/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name="tmp.status" value="`$error-code`"/>
+ </set>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for SO Callback Response"/>
+ <parameter name='field2' value="`$tmp.so.callbackURL`" />
+ <parameter name='field3' value="`$tmp.status`" />
+ <parameter name='field4' value="`$tmp.reason`" />
+ <parameter name='field5' value="`$tmp.requestID`" />
+ <parameter name='field6' value="`$tmp.action`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
+ <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="so-callback-modify-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='*/*' />
+ <parameter name="convertResponse" value="true"/>
+ <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
+ <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error sending SO Response" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="SO Response Sent "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error patching cellCU RRMPolicyRatio. Aborting RPC executiopn'/>
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/>
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </for>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="CUUP - CPS update"/>
+ </record>
+ <set>
+ <parameter name='tmp.gNBCUUPList.gNBCUUPId' value='`$tmp.idGNBCUUPFunction`'/>
+ <parameter name='tmp.gNBCUUPList.gNBId' value='`$tmp.gNBId`'/>
+ <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="sNSSAI"/>
+ <parameter name="field2" value="`$tmp.payload.sNSSAI`"/>
+ <parameter name="field3" value="maxNumberOfConns"/>
+ <parameter name="field4" value="`$tmp.maxNumberOfConns`"/>
+ <parameter name="field5" value="gNBCUUPId"/>
+ <parameter name="field6" value="`$tmp.gNBCUUPList.gNBCUUPId`"/>
+ <parameter name="field7" value="pLMNId"/>
+ <parameter name="field8" value="`$tmp.payload.pLMNId`"/>
+ <parameter name="field9" value="gNBId"/>
+ <parameter name="field10" value="`$tmp.gNBCUUPList.gNBId`"/>
+ </record>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
+ <parameter name="outputPath" value="tmp.cps.updateCUUP.url"/>
+ <parameter name="target" value="{schemaSet}"/>
+ <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.cps.updateCUUP.url`"/>
+ <parameter name="outputPath" value="tmp.cps.updateCUUP.url"/>
+ <parameter name="target" value="{templateId}"/>
+ <parameter name="replacement" value="`$prop.tbdmt.template.put-gnbcuupfunction`"/>
+ </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 CPS TDBMT to update CUUP in CPS"/>
+ <parameter name='field2' value="`$tmp.cps.updateCUUP.url`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$tmp.cps.updateCUUP.url`"/>
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-put-gnbcuupfunction.json'`" />
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="update-gNBCUUP-cps-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/json' />
+ <parameter name="convertResponse" value="true"/>
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Response code"/>
+ <parameter name="field2" value="`$error-code`" />
+ </record>
+ <set>
+ <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
+ <parameter name="tmp.reason" value="`$error-message`"/>
+ <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
+ <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
+ </set>
+ <switch test='`$error-code`'>
+ <outcome value='200'>
+ <set>
+ <parameter name="tmp.status" value="success"/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name="tmp.status" value="`$error-code`"/>
+ </set>
+ </outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for SO Callback Response"/>
+ <parameter name='field2' value="`$tmp.so.callbackURL`" />
+ <parameter name='field3' value="`$tmp.status`" />
+ <parameter name='field4' value="`$tmp.reason`" />
+ <parameter name='field5' value="`$tmp.requestID`" />
+ <parameter name='field6' value="`$tmp.action`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
+ <parameter name="restapiUrl" value="`$tmp.so.callbackURL`"/>
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="so-callback-modify-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='*/*' />
+ <parameter name="convertResponse" value="true"/>
+ <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
+ <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error sending SO Response" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="SO Response Sent "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error in updating CUUP. Aborting RPC executiopn'/>
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error updating CUUP-PLMNInfo in ConfigDB. Aborting RPC executiopn'/>
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully updated NRCellCU pLMNinfo "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>