<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='instantiateRANSliceReconfigure-cps' mode='sync'> <block atomic='true'> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Reached instantiateRANSliceReconfigure "/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' > <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' /> <parameter name='target' value='dLThptPerSlice' /> <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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="PAYLOAD contains dLThptPerSlice...Closed loop "/> </record> <block atomic="true"> <set> <parameter name='tmp.payload.numberUpdates' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/> <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> <parameter name='tmp.payload.sNSSAI' value='`$payloadJson.input.sliceProfile.sNSSAI`'/> </set> <for index='id1' start='0' end="`$tmp.payload.numberUpdates`" > <set> <parameter name="tmp.dLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].dLThptPerSlice`"/> <parameter name="tmp.uLThptPerSlice" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].uLThptPerSlice`"/> <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id1].nearRTRICId`"/> </set> <switch test='`$tmp.nearRTRICId == 11 `'> <outcome value='true'> <set> <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric11`'/> <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric11`"/> </set> </outcome> <outcome value='false'> <set> <parameter name='tmp.policytype.url' value='`$prop.a1.policytype.url.nearrtric22`'/> <parameter name="tmp.policyinstance.url" value="`$prop.a1.policyinstance.url.nearrtric22`"/> </set> </outcome> </switch> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.policytype.url`"/> <parameter name='format' value='json' /> <parameter name='httpMethod' value='GET' /> <parameter name='contentType' value='application/json' /> <parameter name='responsePrefix' value='get-policytypes-responsse' /> <outcome value='success'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.policytypelength' /> <parameter name='source' value="`'get-policytypes-responsse._length'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="policy types length "/> <parameter name="field2" value="`$tmp.policytypelength`"/> </record> <switch test='`$tmp.policytypelength > 0`'> <outcome value='true'> <block atomic='true'> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="policy type already exists "/> <parameter name="field2" value="SUCCESSFULL"/> </record> </block> </outcome> <outcome value='false'> <block atomic='true'> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="creating new policy "/> <parameter name="field2" value="SUCCESSFULL"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policytype.json'`" /> <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/> <parameter name='format' value='json' /> <parameter name='httpMethod' value='POST' /> <parameter name='contentType' value='application/json' /> <parameter name='responsePrefix' value='dmaap' /> <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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Create policytype "/> <parameter name="field2" value="Succesfull"/> </record> </block> </outcome> </execute> </block> </outcome> </switch> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/A1policyinstance.json'`" /> <parameter name="restapiUrl" value="https://10.31.4.11:30226/events/A1-P"/> <parameter name='format' value='json' /> <parameter name='httpMethod' value='POST' /> <parameter name='contentType' value='application/json' /> <parameter name='responsePrefix' value='dmaap-res' /> <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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Create policyinstance "/> <parameter name="field2" value="Succesfull"/> </record> </block> </outcome> </execute> </block> </outcome> <outcome value='failure'> <block atomic='true'> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="req error "/> <parameter name="field2" value="Failure"/> </record> </block> </outcome> </execute> </block> <block atomic='true'> <switch test='`$prop.ransim-mounted`'> <outcome value='false'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC`"/> <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.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.restapi.addSliceProfile.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/> <parameter name="target" value="{sliceProfileId}"/> <parameter name="replacement" value="`$tmp.sliceProfileId`"/> </execute> </block> </outcome> <outcome value='true'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.addSliceProfile.ToNearRTRIC.ransim-mounted`"/> <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.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.restapi.addSliceProfile.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/> <parameter name="target" value="{sliceProfileId}"/> <parameter name="replacement" value="`$tmp.sliceProfileId`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addSliceProfile.ToNearRTRIC.url"/> <parameter name="target" value="{mountName}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> </block> </outcome> </switch> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Patch SliceProfile ToNearRTRIC url for closed loop:"/> <parameter name="field2" value="`$tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/> </record> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Setting variables for PATCH SliceProfile ToNearRTRIC - closed loop"/> <parameter name="field2" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/> <parameter name="field3" value="`$tmp.dLThptPerSlice`"/> <parameter name="field4" value="`$tmp.uLThptPerSlice`"/> <parameter name="field5" value="`$tmp.nearRTRICId`"/> <parameter name="field6" value="`$tmp.sliceProfileId`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-patch.json'`" /> <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addSliceProfile.ToNearRTRIC.url`"/> <parameter name="restapiUser" value="`$prop.controller.user`" /> <parameter name="restapiPassword" value="`$prop.controller.pwd`"/> <parameter name="httpMethod" value="PATCH"/> <parameter name="responsePrefix" value="nearRTRIC-slice-patch-response"/> <parameter name='contentType' value='application/yang.patch+json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/yang.patch-status+json' /> <outcome value='failure'> <block> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/> </set> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Patching slice profile parms for close loop. Exiting close loop operation'/> </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`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully PATCHED NearRTRIC for close loop operation"/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedloop-nearRTRIC-context.log' /> </execute> </block> </outcome> </execute> </block> <block atomic='true'> <set> <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL to fetch the anchors"/> <parameter name="field2" value="`$tmp.getAnchors.URL`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/> <parameter name="httpMethod" value="GET"/> <parameter name="restapiUser" value="cpsuser" /> <parameter name="restapiPassword" value="cpsr0cks!"/> <parameter name="responsePrefix" value="get-anchors-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> <block> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Failed to fetch anchors from CPS"/> </record> </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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained anchors from CPS"/> <parameter name="field2" value="`$get-anchors-cps-response._length`"/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' /> </execute> </block> </outcome> </execute> <set> <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/> </set> <set> <parameter name='tmp.RIC.length' value="0"/> </set> <for index='anc' start='0' end='`$tmp.anchors.length`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.schemaset.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> </execute> <switch test='`$tmp.schemaset.name`'> <outcome value='ran-inventory'> <block atomic='true'> <set> <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Applicable RIC length"/> <parameter name="field2" value="`$tmp.RIC.length`"/> </record> </block> </outcome> </switch> </block> </for> <for index='anc' start='0' end='`$tmp.anchors.length`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.schemaset.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> </execute> <switch test='`$tmp.schemaset.name`'> <outcome value='ran-inventory'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.anchor.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" /> </execute> <block atomic='true'> <set> <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`" /> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="sliceprofileid from input"/> <parameter name="field2" value="`$tmp.sliceprofileid`"/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/> <parameter name="target" value="{schemaSet}"/> <parameter name="replacement" value="`$tmp.schemaset.name`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/> <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/> <parameter name="target" value="{templateId}"/> <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mcc`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/> <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" /> <parameter name="httpMethod" value="POST"/> <parameter name="responsePrefix" value="getplmnmccid-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> <block> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="UNSuccessfully Obtained MCC info from CPS"/> <parameter name="field2" value="`$cps-get-plmnid.json`"/> </record> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> <block 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`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.plmn.mcc' /> <parameter name='source' value="`'getplmnmccid-cps-response.[0]'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained MCC info from CPS"/> <parameter name="field2" value="`$getplmnmccid-cps-response.httpResponse`"/> </record> </block> </outcome> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/> <parameter name="target" value="{schemaSet}"/> <parameter name="replacement" value="`$tmp.schemaset.name`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.cps.getPLMNMNCID.url`"/> <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/> <parameter name="target" value="{templateId}"/> <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mnc`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/> <parameter name='field2' value="`$tmp.cps.getPLMNMNCID.url`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.cps.getPLMNMNCID.url`"/> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" /> <parameter name="httpMethod" value="POST"/> <parameter name="responsePrefix" value="getplmnmncid-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='success'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.plmn.mnc' /> <parameter name='source' value="`'getplmnmncid-cps-response.[0]'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained MNC info from Cps"/> <parameter name="field2" value="`$getplmnmncid-cps-response.httpResponse`"/> </record> </block> </outcome> <outcome value='failure'> <block> <block atomic='true'> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for SO Callback Response"/> <parameter name='field2' value="`$tmp.so.callbackURL`" /> <parameter name='field3' value="`$tmp.status`" /> <parameter name='field4' value="`$tmp.reason`" /> <parameter name='field5' value="`$tmp.requestID`" /> <parameter name='field6' value="`$tmp.action`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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 Getting Info from CPS. Aborting RPC executiopn'/> </set> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> </execute> <set> <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/> <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="mcc,mnc values..."/> <parameter name="field2" value="`$tmp.mcc`"/> <parameter name="field3" value="`$tmp.mnc`"/> </record> </block> </block> </outcome> </switch> </block> </for> </block> <block atomic="true"> <switch test='`$prop.ransim-mounted`'> <outcome value='false'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/> <parameter name="target" value="{idNearRTRIC}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> </block> </outcome> <outcome value='true'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.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.restapi.addnSSAIEntry.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/> <parameter name="target" value="{mountName}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> </block> </outcome> </switch> <set> <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL to fetch the anchors"/> <parameter name="field2" value="`$tmp.getAnchors.URL`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/> <parameter name="httpMethod" value="GET"/> <parameter name="restapiUser" value="cpsuser" /> <parameter name="restapiPassword" value="cpsr0cks!"/> <parameter name="responsePrefix" value="get-anchors-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> <block> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Failed to fetch anchors from CPS"/> </record> </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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained anchors from CPS"/> <parameter name="field2" value="`$get-anchors-cps-response._length`"/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' /> </execute> </block> </outcome> </execute> <set> <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/> </set> <for index='anc' start='0' end='`$tmp.anchors.length`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.schemaset.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> </execute> <switch test='`$tmp.schemaset.name`'> <outcome value='ran-network'> <block atomic='true'> <set> <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Applicable RIC length"/> <parameter name="field2" value="`$tmp.RIC.length`"/> </record> </block> </outcome> </switch> </block> </for> <for index='anc' start='0' end='`$tmp.anchors.length`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.schemaset.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> </execute> <switch test='`$tmp.schemaset.name`'> <outcome value='ran-network'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.anchor.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" /> </execute> <block atomic='true'> <set> <parameter name='tmp.mcc' value='`$tmp.mcc`' /> <parameter name='tmp.mnc' value='`$tmp.mnc`' /> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Inputs"/> <parameter name="field2" value="`$tmp.nearRTRICId`"/> <parameter name="field3" value="`$tmp.mcc`"/> <parameter name="field4" value="`$tmp.mnc`"/> <parameter name="field5" value="`$tmp.payload.sNSSAI`"/> <parameter name="field6" value="`$tmp.dLThptPerSlice`"/> <parameter name="field7" value="`$tmp.uLThptPerSlice`"/> </record> <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.patchdLThptPerSlice.url"/> <parameter name="target" value="{schemaSet}"/> <parameter name="replacement" value="`$tmp.schemaset.name`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.cps.patchdLThptPerSlice.url`"/> <parameter name="outputPath" value="tmp.cps.patchdLThptPerSlice.url"/> <parameter name="target" value="{templateId}"/> <parameter name="replacement" value="`$prop.tbdmt.template.patch-dLThptPerSlice`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for CPS TDBMT to patch dLThptPerSlice"/> <parameter name='field2' value="`$tmp.cps.patchdLThptPerSlice.url`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.cps.patchdLThptPerSlice.url`"/> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-patch-dLThptPerSlice.json'`" /> <parameter name="httpMethod" value="POST"/> <parameter name="responsePrefix" value="patchdLThptPerSlice-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> <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`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Failed to fetch data from CPS"/> <parameter name="field2" value="`$cps-patch-dLThptPerSlice.json`"/> </record> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> <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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully patched dLThptPerSlice"/> <parameter name="field2" value="`$patchdLThptPerSlice-cps-response.httpResponse`"/> </record> </block> </outcome> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> <parameter name="outputPath" value="tmp.cps.patchuLThptPerSlice.url"/> <parameter name="target" value="{schemaSet}"/> <parameter name="replacement" value="`$tmp.schemaset.name`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.cps.patchuLThptPerSlice.url`"/> <parameter name="outputPath" value="tmp.cps.patchuLThptPerSlice.url"/> <parameter name="target" value="{templateId}"/> <parameter name="replacement" value="`$prop.tbdmt.template.patch-uLThptPerSlice`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for CPS TDBMT to patch uLThptPerSlice"/> <parameter name='field2' value="`$tmp.cps.patchuLThptPerSlice.url`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.cps.patchuLThptPerSlice.url`"/> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-patch-uLThptPerSlice.json'`" /> <parameter name="httpMethod" value="POST"/> <parameter name="responsePrefix" value="patchuLThptPerSlice-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> <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`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="UNSuccessfully Obtained MCC info from CPS"/> <parameter name="field2" value="`$cps-get-plmnid.json`"/> </record> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> <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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully patched dLThptPerSlice"/> <parameter name="field2" value="`$patchdLThptPerSlice-cps-response.httpResponse`"/> </record> </block> </outcome> </execute> </block> </block> </outcome> </switch> </block> </for> </block> </for> </block> </block> </outcome> <outcome value='false'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' > <parameter name='source' value='`$instantiate-r-a-n-slice-input.payload`' /> <parameter name='target' value='maxNumberofConns' /> <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/intelligentSlicing.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="PAYLOAD contains maxNumberofConns...Inntelligent Slicing "/> </record> <set> <parameter name='tmp.payload.dataPoints' value='`$payloadJson.input.additionalproperties.resourceConfig.data_length`'/> <parameter name="tmp.payload.sNSSAI" value="`$payloadJson.input.additionalproperties.resourceConfig.snssai`"/> <parameter name="tmp.sliceProfileId" value="`$payloadJson.input.sliceProfile.sliceProfileId`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Data length "/> <parameter name="field2" value="`$tmp.payload.dataPoints`"/> </record> <block atomic="true"> <block atomic='true'> <set> <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL to fetch the anchors"/> <parameter name="field2" value="`$tmp.getAnchors.URL`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/> <parameter name="httpMethod" value="GET"/> <parameter name="restapiUser" value="cpsuser" /> <parameter name="restapiPassword" value="cpsr0cks!"/> <parameter name="responsePrefix" value="get-anchors-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> <block> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Failed to fetch anchors from CPS"/> </record> </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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained anchors from CPS"/> <parameter name="field2" value="`$get-anchors-cps-response._length`"/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' > <parameter name='filename' value='/opt/opendaylight/current/data/log/ranSlice-closedLoop-context.log' /> </execute> </block> </outcome> </execute> <set> <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/> </set> <set> <parameter name='tmp.RIC.length' value="0"/> </set> <for index='anc' start='0' end='`$tmp.anchors.length`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.schemaset.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> </execute> <switch test='`$tmp.schemaset.name`'> <outcome value='ran-inventory'> <block atomic='true'> <set> <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Applicable RIC length"/> <parameter name="field2" value="`$tmp.RIC.length`"/> </record> </block> </outcome> </switch> </block> </for> <for index='anc' start='0' end='`$tmp.anchors.length`'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.schemaset.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" /> </execute> <switch test='`$tmp.schemaset.name`'> <outcome value='ran-inventory'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.anchor.name' /> <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" /> </execute> <block atomic='true'> <set> <parameter name='tmp.sliceprofileid' value="`$payloadJson.input.sliceProfile.sliceProfileId`" /> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="sliceprofileid from input"/> <parameter name="field2" value="`$tmp.sliceprofileid`"/> </record> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/> <parameter name="target" value="{schemaSet}"/> <parameter name="replacement" value="`$tmp.schemaset.name`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.cps.getPLMNID.url`"/> <parameter name="outputPath" value="tmp.cps.getPLMNID.url"/> <parameter name="target" value="{templateId}"/> <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mcc`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/> <parameter name='field2' value="`$tmp.cps.getPLMNID.url`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.cps.getPLMNID.url`"/> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" /> <parameter name="httpMethod" value="POST"/> <parameter name="responsePrefix" value="getplmnmccid-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='failure'> <block> <set> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="UNSuccessfully Obtained MCC info from CPS"/> <parameter name="field2" value="`$cps-get-plmnid.json`"/> </record> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> <block 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`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.plmn.mcc' /> <parameter name='source' value="`'getplmnmccid-cps-response.[0]'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained MCC info from CPS"/> <parameter name="field2" value="`$getplmnmccid-cps-response.httpResponse`"/> </record> </block> </outcome> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/> <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/> <parameter name="target" value="{schemaSet}"/> <parameter name="replacement" value="`$tmp.schemaset.name`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.cps.getPLMNMNCID.url`"/> <parameter name="outputPath" value="tmp.cps.getPLMNMNCID.url"/> <parameter name="target" value="{templateId}"/> <parameter name="replacement" value="`$prop.tbdmt.template.get-plmnid-mnc`"/> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for CPS TDBMT to Get plmnid from sliceprofile"/> <parameter name='field2' value="`$tmp.cps.getPLMNMNCID.url`" /> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="restapiUrl" value="`$tmp.cps.getPLMNMNCID.url`"/> <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-plmnid.json'`" /> <parameter name="httpMethod" value="POST"/> <parameter name="responsePrefix" value="getplmnmncid-cps-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='application/json' /> <parameter name="convertResponse" value="true"/> <outcome value='success'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.plmn.mnc' /> <parameter name='source' value="`'getplmnmncid-cps-response.[0]'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully Obtained MNC info from Cps"/> <parameter name="field2" value="`$getplmnmncid-cps-response.httpResponse`"/> </record> </block> </outcome> <outcome value='failure'> <block> <block atomic='true'> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for SO Callback Response"/> <parameter name='field2' value="`$tmp.so.callbackURL`" /> <parameter name='field3' value="`$tmp.status`" /> <parameter name='field4' value="`$tmp.reason`" /> <parameter name='field5' value="`$tmp.requestID`" /> <parameter name='field6' value="`$tmp.action`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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 Getting Info from CPS. Aborting RPC executiopn'/> </set> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> </execute> <set> <parameter name='tmp.mcc' value='`$tmp.plmn.mcc`'/> <parameter name='tmp.mnc' value='`$tmp.plmn.mnc`'/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="mcc,mnc values..."/> <parameter name="field2" value="`$tmp.mcc`"/> <parameter name="field3" value="`$tmp.mnc`"/> </record> </block> </block> </outcome> </switch> </block> </for> </block> <for index='id-is' start='0' end="`$tmp.payload.dataPoints`" > <block atomic="true"> <set> <parameter name="tmp.nearRTRICId" value="`$payloadJson.input.additionalproperties.resourceConfig.data[$id-is].nearRTRICId`"/> </set> <switch test='`$prop.ransim-mounted`'> <outcome value='false'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/> <parameter name="target" value="{idNearRTRIC}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> </block> </outcome> <outcome value='true'> <block atomic='true'> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$prop.restapi.addnSSAIEntry.ToNearRTRIC.ransim-mounted`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.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.restapi.addnSSAIEntry.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/> <parameter name="target" value="{mountName}"/> <parameter name="replacement" value="`$tmp.nearRTRICId`"/> </execute> </block> </outcome> </switch> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > <parameter name="source" value="`$tmp.restapi.addnSSAIEntry.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.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.restapi.addnSSAIEntry.ToNearRTRIC.url`"/> <parameter name="outputPath" value="tmp.restapi.addnSSAIEntry.ToNearRTRIC.url"/> <parameter name="target" value="{mnc}"/> <parameter name="replacement" value="`$tmp.mnc`"/> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.CUCellListEntries' /> <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList_length'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="CUCEll List length "/> <parameter name="field2" value="`$tmp.CUCellListEntries`"/> </record> <for index='id2' start='0' end="`$tmp.CUCellListEntries`" > <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.cellLocalId' /> <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].cellLocalId'`" /> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'> <parameter name="source" value="`$tmp.cellLocalId`" /> <parameter name="target" value="-maxNumberofConns"/> <parameter name="outputPath" value="tmp.cellLocalId" /> </execute> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'> <parameter name='outputPath' value='tmp.predictedMaxNumberofConns' /> <parameter name='source' value="`'payloadJson.input.additionalproperties.resourceConfig.data['+$id-is+'].cellCUList['+$id2+'].configData.predictedMaxNumberofConns'`" /> </execute> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/intelligentSlicing.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="cellLocalId"/> <parameter name="field2" value="`$tmp.cellLocalId`"/> </record> <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-closed-loop-nearRTRIC-config-patch.json'`" /> <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.restapi.addnSSAIEntry.ToNearRTRIC.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-nearRTRIC-config-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/closedLoop.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="Successfully patched NearRTRIC configuration"/> </record> </block> </outcome> <outcome value='failure'> <block> <block atomic='true'> <set> <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/> <parameter name="tmp.status" value="`$error-code`"/> <parameter name="tmp.reason" value="`$error-message`"/> <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/> <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/> </set> <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder"> <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="URL for SO Callback Response"/> <parameter name='field2' value="`$tmp.so.callbackURL`" /> <parameter name='field3' value="`$tmp.status`" /> <parameter name='field4' value="`$tmp.reason`" /> <parameter name='field5' value="`$tmp.requestID`" /> <parameter name='field6' value="`$tmp.action`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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-response"/> <parameter name='contentType' value='application/json' /> <parameter name='format' value='json' /> <parameter name='accept' value='*/*' /> <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/so-callback-response.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 Getting Info from ConfigDB. Aborting RPC executiopn'/> </set> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name='error-code' value='500'/> <parameter name='error-message' value='Error Getting Info from ConfigDB. Aborting RPC executiopn'/> </return> </block> </outcome> </execute> </block> </for> </block> </for> </block> </block> </outcome> </execute> </outcome> </execute> <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`" /> <parameter name='field7' value="`$tmp.CUCPList`" /> <parameter name='field8' value="`$tmp.CUUPList`" /> <parameter name='field9' value="`$tmp.DUList`" /> </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='*/*' /> <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/so-callback-response.log" /> <parameter name="level" value="info" /> <parameter name="field1" value="SO Response Sent "/> </record> </block> </outcome> </execute> </block> <return status='success'> <parameter name="ack-final" value="N" /> <parameter name="error-code" value="200" /> <parameter name="error-message" value="SUCCESSFUL Execution" /> </return> </block> </method> </service-logic>