<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='oofpcipoc-api' version='0.4.2-SNAPSHOT'>
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='oofpcipoc-api' version='${project.version}'>
<method rpc='generic-neighbor-configuration' mode='sync'>
<block atomic='true'>
<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
<parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
<parameter name="level" value="info" />
<parameter name="field1" value="RPC to Configure Neighbors INVOKED. Number of Neighbors to configure: "/>
- <parameter name="field2" value="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`"/>
+ <parameter name="field2" value="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`"/>
</record>
- <for index='idx' start='0' end="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`" >
+ <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
<parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
<parameter name="level" value="info" />
</record>
</for>
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
- <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
+ <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
<parameter name="field4" value="`$prop.controller.pwd`"/>
<parameter name="field5" value="`$prop.controller.url`"/>
</record>
+ <set>
+ <parameter name="prop.oofpcipoc-dmaap-config-resp.timestamp" value="`$generic-neighbor-configuration-input.timeStamp`"/>
+ <parameter name="prop.oofpcipoc-dmaap-config-resp.requestID" value="`$generic-neighbor-configuration-input.requestID`"/>
+ <parameter name="prop.oofpcipoc-dmaap-config-resp.subrequestID" value="`$generic-neighbor-configuration-input.subRequestID`"/>
+ </set>
<switch test='`$prop.ransim-mounted`'>
<outcome value='false'>
- <for index='idx' start='0' end="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`" >
+ <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
<block atomic='true'>
<set>
<parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
<parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
<parameter name="level" value="info" />
- <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
+ <parameter name="field1" value="Details about Neighbor Post-configuration"/>
<parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
<parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
<parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
</block>
</outcome>
</execute>
+ <switch test='`$prop.configdb-deployed`'>
+ <outcome value='false'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="ConfigDB Update Skipped"/>
+ </record>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
+ <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
+ <parameter name="target" value="{cellId}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
+ <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
+ <parameter name="target" value="{targetCellId}"/>
+ <parameter name="replacement" value="`$tmp.cid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for configDB PCI Update"/>
+ <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
+ <parameter name='field3' value="`$tmp.alias`" />
+ <parameter name='field4' value="`$tmp.cid`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
+ <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
+ <parameter name="httpMethod" value="PATCH"/>
+ <parameter name="responsePrefix" value="oofpci-configdb-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 updating configDB. Aborting Nbr HO configuration" />
+ </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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
</block>
</for>
</outcome>
<outcome value='true'>
- <for index='idx' start='0' end="`$generic-neighbor-configuration-input.number-of-neighbor-cell-entries`" >
+ <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
<block atomic='true'>
<set>
<parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
<parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
<parameter name="level" value="info" />
- <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
+ <parameter name="field1" value="Details about Neighbor Post-configuration"/>
<parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
<parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
<parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
</block>
</outcome>
</execute>
+ <switch test='`$prop.configdb-deployed`'>
+ <outcome value='false'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="ConfigDB Update Skipped"/>
+ </record>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
+ <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
+ <parameter name="target" value="{cellId}"/>
+ <parameter name="replacement" value="`$tmp.alias`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
+ <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
+ <parameter name="target" value="{targetCellId}"/>
+ <parameter name="replacement" value="`$tmp.cid`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for configDB PCI Update"/>
+ <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
+ <parameter name='field3' value="`$tmp.alias`" />
+ <parameter name='field4' value="`$tmp.cid`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
+ <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
+ <parameter name="httpMethod" value="PATCH"/>
+ <parameter name="responsePrefix" value="oofpci-configdb-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 updating configDB. Aborting Nbr HO configuration" />
+ </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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
</block>
</for>
</outcome>
</switch>
+ <block atomic='true'>
+ <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
+ <parameter name='templatePath' value='oofpcipoc-dmaap-publish-modifyconfiganr-resp-payload-template.vtl' />
+ <parameter name='output' value='resp-payload' />
+ <parameter name='prefix' value='sdnr' />
+ <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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Redndred sdnr payload template as a string"/>
+ <parameter name='field3' value='`$sdnr.resp-payload`' />
+ </record>
+ </block>
+ </outcome>
+ <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 creating SDNR response payload string. Aborting PCI configuration" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
+ <parameter name="source" value="`$sdnr.resp-payload`"/>
+ <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
+ <parameter name="target" value="\n"/>
+ <parameter name="replacement" value=""/>
+ <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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Redndred template with lines removed \r"/>
+ <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
+ </record>
+ </block>
+ </outcome>
+ <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 removing lines from SDNR response payload string. Aborting PCI configuration" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
+ <parameter name="source" value="`$tmp.oofpcipoc-dmaap-config-resp.payload`"/>
+ <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
+ <parameter name="target" value="\t"/>
+ <parameter name="replacement" value=""/>
+ <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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="Redndred template with tabs removed \r"/>
+ <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
+ </record>
+ </block>
+ </outcome>
+ <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 removing tabs from SDNR response payload string. Aborting PCI configuration" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.oofpcipoc-dmaap-config-resp.rpc-name' value='`$prop.oofpcipoc-dmaap-config-resp.rpc-name.modifyconfiganr`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
+ <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='contentType' value='application/json' />
+ <parameter name='responsePrefix' value='dmaap' />
+ <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 publishing DMAAP Config Response message. ConfigDB Updated; TO be rolled back...will handle next release" />
+ </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/generic-neighbor-config.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="DMAAP Config Response Message Successfully Published "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
<return status='success'>
<parameter name="ack-final-indicator" value="Y" />
<parameter name="error-code" value="200" />