diff options
author | 2019-08-20 12:14:54 -0500 | |
---|---|---|
committer | 2019-08-20 12:14:54 -0500 | |
commit | d6deaccf8c37b204191f214b38a771f14cc370a2 (patch) | |
tree | 4f38d081109708034133a40287432f459d71ccc4 /platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml | |
parent | 9dc7bdbbd46f2e3016617b6d0a1ad394d5771439 (diff) |
SDNR OOFPCIPOC - DG Updates for ConfigDB DMAAP
To support closed loop automation, DG's are modified to update ConfiDB
for configuration of PCI and ho flags, and publish DMAAP message
confirming configuration. Corresponding templates are also created
Issue-ID: CCSDK-1581
Signed-off-by: SandeepLinux <Sandeep.Shah@ibm.com>
Change-Id: I030401f394ebdc693eeaf514478200a4d9691c18
Diffstat (limited to 'platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml')
-rw-r--r-- | platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml | 254 |
1 files changed, 254 insertions, 0 deletions
diff --git a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml index 8faf96fc..6e386b9e 100644 --- a/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml +++ b/platform-logic/oofpcipoc-api/src/main/xml/oofpcipoc-api_generic-neighbor-configuration.xml @@ -177,6 +177,66 @@ </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> @@ -327,10 +387,204 @@ </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> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='escapeJsonString' > + <parameter name="source" value='`$tmp.oofpcipoc-dmaap-config-resp.payload`'/> + <parameter name="target" value='tmp.oofpcipoc-dmaap-config-resp.payload'/> + <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 as an Escaped string"/> + <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 inserting escape chars in 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" /> |