RAN Slice DG - Bug fixes
[ccsdk/distribution.git] / platform-logic / ran-slice-api / src / main / xml / ran-slice-api_instantiateRANSliceAllocate.xml
index 12b0a02..4622825 100644 (file)
                                 </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="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>
                                             <return status='failure'>
                                     </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="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>
                                                 <return status='failure'>
                                         </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="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>
                                                     <return status='failure'>
                                         <switch test="`$tmp.gNBCUCPList.cellLocalId == $tmp.cellLocalId`">
                                             <outcome value='true'>
                                                 <block atomic='true'>
+                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'>
+                                                        <parameter name='prefixKey' value='tmp.CUCPList.response' />
+                                                        <parameter name='keyName' value='gNBCUName' />
+                                                        <parameter name='keyValue' value="`$tmp.gNBCUCPList.gNBCUName`"/>
+                                                    </execute>
+                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
+                                                        <parameter name='outputPath' value='CUCPListEntries_size' />
+                                                        <parameter name='source' value="`tmp.CUCPList.response_length`" />
+                                                    </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="CUCPList length"/>
+                                                        <parameter name="field2" value="`$CUCPListEntries_size`"/>
+                                                    </record>
                                                     <block atomic='true'>
                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
                                                             <parameter name='outputPath' value='tmp.pLMNInfoListEntries' />
                                                             <parameter name="target" value="{mnc}"/>
                                                             <parameter name="replacement" value="`$tmp.mnc`"/>
                                                         </execute>
+                                                        <set>
+                                                            <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns/$tmp.cellCUListEntries`'/>
+                                                        </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" />
                                                                         </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="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>
                                                                                     <return status='failure'>
                                                             <parameter name="target" value="{id}"/>
                                                             <parameter name="replacement" value="`$tmp.RRMPolicyRatioID.NRCellCU`"/>
                                                         </execute>
+                                                        <set>
+                                                            <parameter name='tmp.resourceID' value='`$tmp.cellLocalId`'/>
+                                                        </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" />
                                                                         </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="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>
                                                                                     <return status='failure'>
                                                                     </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="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>
                                                                                 <return status='failure'>
                                                             </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>
+                                                                <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="`$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>
+                                                                                <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/instantiateRANSlice.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 updating RRMPolicy CUCP 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 RRMPolicy CUCP info in ConfigDB. Aborting RPC executiopn'/>
+                                                                </return>
+                                                            </block>
+                                                        </outcome>
+                                                        <outcome value='success'>
+                                                            <block>
+                                                                <set>
+                                                                    <parameter name='prop.configDB.rrmPolicyID' value='`$prop.configDB.rrmPolicyID + 1`' />
+                                                                </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="Successfully Updated RRMPolicy CUCP info in ConfigDB"/>
+                                                                    <parameter name="field2" value="Incremented ConfigDB rrmPolicyID"/>
+                                                                    <parameter name="field3" value='`$prop.configDB.rrmPolicyID`' />
+                                                                </record>
+                                                            </block>
+                                                        </outcome>
+                                                    </execute>
                                                 </block>
                                             </outcome>
                                         </switch>
                                     </block>
                                 </for>
                             </for>
-                            <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>
-                                        <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='application/json' />
-                                                <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/instantiateRANSlice.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 updating RRMPolicy CUCP 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 RRMPolicy CUCP info in ConfigDB. Aborting RPC executiopn'/>
-                                        </return>
-                                    </block>
-                                </outcome>
-                                <outcome value='success'>
-                                    <block>
-                                        <set>
-                                            <parameter name='prop.configDB.rrmPolicyID' value='`$prop.configDB.rrmPolicyID + 1`' />
-                                        </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="Successfully Updated RRMPolicy CUCP info in ConfigDB"/>
-                                            <parameter name="field2" value="Incremented ConfigDB rrmPolicyID"/>
-                                            <parameter name="field3" value='`$prop.configDB.rrmPolicyID`' />
-                                        </record>
-                                    </block>
-                                </outcome>
-                            </execute>
                         </for>
                     </block>
                     <block atomic='true'>
                         </record>
                         <block atomic='true'>
                             <set>
-                                <parameter name='tmp.maxNumberOfConns' value='`$payloadJson.input.sliceProfile.maxNumberOfConns`' />
+                                <parameter name='tmp.maxNumberOfConns-CUUP' value='`$tmp.payload.maxNumberofConns/$tmp.cellCUListEntries`' />
                             </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="maxNumberOfConns.CUUP "/>
+                                <parameter name="field2" value="`$tmp.maxNumberOfConns-CUUP`"/>
+                            </record>
                             <set>
-                                <parameter name='tmp.TotalNumberOfDRBForNSSAI' value='`$tmp.maxNumberOfConns*4`' />
+                                <parameter name='tmp.TotalNumberOfDRBForNSSAI' value='`$tmp.maxNumberOfConns-CUUP*4`' />
                             </set>
                             <set>
                                 <parameter name='tmp.DRBPerCUUPForSNSSAI' value='`$tmp.TotalNumberOfDRBForNSSAI / $tmp.CUUPListEntries`' />
                                 <parameter name="field9" value="tmp.rRMPolicyDedicatedRatio.CUUP"/>
                                 <parameter name="field10" value="`$tmp.rRMPolicyDedicatedRatio.CUUP`"/>
                                 <parameter name="field11" value="tmp.maxNumberOfConns"/>
-                                <parameter name="field12" value="`$tmp.maxNumberOfConns`"/>
+                                <parameter name="field12" value="`$tmp.maxNumberOfConns-CUUP`"/>
                             </record>
                         </block>
                         <for index='id2' start='0' end='`$tmp.CUUPListEntries `' >
                                     <parameter name="target" value="{mnc}"/>
                                     <parameter name="replacement" value="`$tmp.mnc`"/>
                                 </execute>
+                                <set>
+                                    <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns/$tmp.cellCUListEntries`'/>
+                                </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" />
                                                 </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="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>
                                                             <return status='failure'>
                                         </block>
                                     </outcome>
                                 </execute>
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'>
+                                    <parameter name='prefixKey' value='tmp.CUUPList.response' />
+                                    <parameter name='keyName' value='gNBCUUPId' />
+                                    <parameter name='keyValue' value="`$tmp.gNBCUUPList.gNBCUUPId`"/>
+                                </execute>
                             </block>
                             <block atomic='true'>
                                 <switch test='`$prop.ransim-mounted`'>
                                     <parameter name="target" value="{id}"/>
                                     <parameter name="replacement" value="`$tmp.RRMPolicyRatioID.GNBCUUPFunction`"/>
                                 </execute>
+                                <set>
+                                    <parameter name='tmp.resourceID' value='`$tmp.gNBCUUPList.gNBCUUPId`'/>
+                                </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" />
                                                 </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="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>
                                                             <return status='failure'>
                                             </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="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>
                                                         <return status='failure'>
                                             </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="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>
                                                         <return status='failure'>
                                                                     <parameter name="target" value="{mnc}"/>
                                                                     <parameter name="replacement" value="`$tmp.mnc`"/>
                                                                 </execute>
+                                                                <set>
+                                                                    <parameter name='tmp.uLThptPerSlice' value='`$tmp.payload.uLThptPerSlice/$tmp.cellDUListEntries`'/>
+                                                                    <parameter name='tmp.dLThptPerSlice' value='`$tmp.payload.dLThptPerSlice/$tmp.cellDUListEntries`'/>
+                                                                </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" />
                                                                                 </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="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>
                                                                                             <return status='failure'>
                                                                         </block>
                                                                     </outcome>
                                                                 </execute>
+                                                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setPropertiesForList'>
+                                                                    <parameter name='prefixKey' value='tmp.DUList.response' />
+                                                                    <parameter name='keyName' value='gNBDUId' />
+                                                                    <parameter name='keyValue' value="`$tmp.gNBDUList.gNBDUId`"/>
+                                                                </execute>
                                                             </block>
                                                             <block atomic='true'>
                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                         </block>
                                                                     </outcome>
                                                                 </execute>
+                                                                <set>
+                                                                    <parameter name='tmp.resourceID-DU' value='`$tmp.cellLocalId`'/>
+                                                                </set>
                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
                                                                     <parameter name="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRRMPolicy`"/>
                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRRMPolicy-DU.json'`" />
                                                                                 </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="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>
                                                                                             <return status='failure'>
                         </for>
                     </block>
                 </for>
-            </block>
-            <block atomic='true'>
                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
-                    <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
+                    <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSlice.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`" />
+                    <parameter name="field1" value="Update inventory in ConfigDB"/>
                 </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="restapiUrl" value="`$prop.configdb.url + $prop.restapi.configdb.updateRANSliceInventory`"/>
+                    <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-configDB-updateRANSliceInventory.json'`" />
+                    <parameter name="httpMethod" value="PUT"/>
+                    <parameter name="responsePrefix" value="update-inventory-configdb-response"/>
                     <parameter name='contentType' value='application/json' />
                     <parameter name='format' value='json' />
                     <parameter name='accept' value='application/json' />
-                    <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
-                    <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
+                    <parameter name="convertResponse" value="true"/>
                     <outcome value='failure'>
                         <block>
                             <set>
                                 <parameter name='error-code' value='500'/>
-                                <parameter name='error-message' value='Error sending SO response. Aborting RPC executiopn'/>
+                                <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 sending SO Response" />
+                                <parameter name='error-code' value='500'/>
+                                <parameter name='error-message' value='Error updating inventory 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`" />
+                                    <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='application/json' />
+                                    <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/instantiateRANSlice.log" />
+                                                <parameter name="level" value="info" />
+                                                <parameter name="field1" value="SO Response Sent "/>
+                                            </record>
+                                        </block>
+                                    </outcome>
+                                </execute>
+                            </block>
                         </block>
                     </outcome>
                     <outcome value='success'>
                             <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="SO Response Sent "/>
+                                <parameter name="field1" value="Successfully Updated inventory in ConfigDB"/>
                             </record>
                         </block>
                     </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="`$prop.restapi.so.user`" />
+                        <parameter name='field8' value="`$prop.restapi.so.password`" />
+                        <parameter name='field9' value="`$tmp.DUList.response_length`" />
+                        <parameter name='field10' value="`$tmp.CUCPList.response`" />
+                        <parameter name='field11' value="`$tmp.CUUPList.response`" />
+                        <parameter name='field12' value="`$tmp.DUList.response`" />
+                    </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/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>
-            <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>
\ No newline at end of file