2 xmlns='http://www.onap.org/sdnc/svclogic'
3 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}'>
4 <method rpc='generic-neighbor-configuration' mode='sync'>
6 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
8 <parameter name="level" value="info" />
9 <parameter name="field1" value="RPC to Configure Neighbors INVOKED. Number of Neighbors to configure: "/>
10 <parameter name="field2" value="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`"/>
12 <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
13 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
14 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
15 <parameter name="level" value="info" />
16 <parameter name="field1" value="Input RPC Payload request. Neighbor #: "/>
17 <parameter name="field2" value="`$idx`"/>
18 <parameter name="field3" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
19 <parameter name="field4" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
20 <parameter name="field5" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
21 <parameter name="field6" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
22 <parameter name="field7" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
25 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
26 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties' />
27 <parameter name='contextPrefix' value='prop' />
29 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
30 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
31 <parameter name="level" value="info" />
32 <parameter name="field1" value="Properties read .. generic neighbor config template"/>
33 <parameter name="field2" value="`$prop.restapi.generic-neighbor-patch.template`"/>
34 <parameter name="field3" value="`$prop.controller.user`"/>
35 <parameter name="field4" value="`$prop.controller.pwd`"/>
36 <parameter name="field5" value="`$prop.controller.url`"/>
39 <parameter name="prop.oofpcipoc-dmaap-config-resp.timestamp" value="`$generic-neighbor-configuration-input.timeStamp`"/>
40 <parameter name="prop.oofpcipoc-dmaap-config-resp.requestID" value="`$generic-neighbor-configuration-input.requestID`"/>
41 <parameter name="prop.oofpcipoc-dmaap-config-resp.subrequestID" value="`$generic-neighbor-configuration-input.subRequestID`"/>
43 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
44 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
45 <parameter name="level" value="info" />
46 <parameter name="field1" value="DMAAP Message Header stored in properties file "/>
47 <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
48 <parameter name="field3" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
49 <parameter name="field4" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
52 <parameter name="tmp.idGNBCUCP" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[0].pnf-name`"/>
55 <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
57 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
58 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
59 <parameter name="level" value="info" />
60 <parameter name="field1" value="URL to fetch the anchors"/>
61 <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
63 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
64 <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
65 <parameter name="httpMethod" value="GET"/>
66 <parameter name="restapiUser" value="cpsuser" />
67 <parameter name="restapiPassword" value="cpsr0cks!"/>
68 <parameter name="responsePrefix" value="get-anchors-cps-response"/>
69 <parameter name='contentType' value='application/json' />
70 <parameter name='format' value='json' />
71 <parameter name='accept' value='application/json' />
72 <parameter name="convertResponse" value="true"/>
73 <outcome value='failure'>
76 <parameter name='error-code' value='500'/>
77 <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
79 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
80 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
81 <parameter name="level" value="info" />
82 <parameter name="field1" value="Failed to fetch anchors from CPS"/>
86 <outcome value='success'>
88 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
89 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
90 <parameter name="level" value="info" />
91 <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
92 <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
94 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
95 <parameter name='filename' value='/opt/opendaylight/current/data/log/generic-neighbor-config-context.log' />
101 <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
104 <parameter name='tmp.RIC.length' value="0"/>
106 <for index='anc' start='0' end='`$tmp.anchors.length`'>
107 <block atomic='true'>
108 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
109 <parameter name='outputPath' value='tmp.schemaset.name' />
110 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
112 <switch test='`$tmp.schemaset.name`'>
113 <outcome value='ran-network'>
114 <block atomic='true'>
116 <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
118 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
119 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
120 <parameter name="level" value="info" />
121 <parameter name="field1" value="Applicable RIC length"/>
122 <parameter name="field2" value="`$tmp.RIC.length`"/>
129 <for index='anc' start='0' end='`$tmp.anchors.length`'>
130 <block atomic='true'>
131 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
132 <parameter name='outputPath' value='tmp.schemaset.name' />
133 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
135 <switch test='`$tmp.schemaset.name`'>
136 <outcome value='ran-network'>
137 <block atomic='true'>
138 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
139 <parameter name='outputPath' value='tmp.anchor.name' />
140 <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
142 <block atomic='true'>
143 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
144 <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
145 <parameter name="outputPath" value="tmp.cps.getNearRTRICByidGNBCUCPFunction.url"/>
146 <parameter name="target" value="{schemaSet}"/>
147 <parameter name="replacement" value="`$tmp.anchor.name`"/>
149 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
150 <parameter name="source" value="`$tmp.cps.getNearRTRICByidGNBCUCPFunction.url`"/>
151 <parameter name="outputPath" value="tmp.cps.getNearRTRICByidGNBCUCPFunction.url"/>
152 <parameter name="target" value="{templateId}"/>
153 <parameter name="replacement" value="`$prop.tbdmt.template.get-nearrtric-by-idgnbcucpfunction`"/>
155 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
156 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
157 <parameter name="level" value="info" />
158 <parameter name="field1" value="URL for CPS TDBMT to Get NearRTRIC for idGNBCUCPFunction"/>
159 <parameter name='field2' value="`$tmp.cps.getNearRTRICByidGNBCUCPFunction.url`" />
161 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
162 <parameter name="restapiUrl" value="`$tmp.cps.getNearRTRICByidGNBCUCPFunction.url`"/>
163 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-nearrtric-by-idgnbcucpfunction.json'`" />
164 <parameter name="httpMethod" value="POST"/>
165 <parameter name="responsePrefix" value="getNFNSSIRIC-cps-response"/>
166 <parameter name='contentType' value='application/json' />
167 <parameter name='format' value='json' />
168 <parameter name='accept' value='application/json' />
169 <parameter name="convertResponse" value="true"/>
170 <outcome value='failure'>
173 <parameter name='error-code' value='500'/>
174 <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
178 <outcome value='success'>
179 <block atomic='true'>
180 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
181 <parameter name='outputPath' value='tmp.nearRTRICId' />
182 <parameter name='source' value="`'getNFNSSIRIC-cps-response.[0]'`" />
184 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
185 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
186 <parameter name="level" value="info" />
187 <parameter name="field1" value="Successfully Obtained NearRTRIC ID info from CPS"/>
188 <parameter name="field2" value="`$tmp.nearRTRICId`"/>
190 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
191 <parameter name='filename' value='/opt/opendaylight/current/data/log/generic-neighbor-config-context.log' />
202 <switch test='`$prop.ransim-mounted`'>
203 <outcome value='false'>
204 <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
205 <block atomic='true'>
207 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
208 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
209 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
210 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
211 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
212 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
214 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
215 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
216 <parameter name="level" value="info" />
217 <parameter name="field1" value="Temporary varaibles set. Neighbor #: "/>
218 <parameter name="field2" value="`$idx`"/>
219 <parameter name="field3" value="`$tmp.plmnid`"/>
220 <parameter name="field4" value="`$tmp.cid`"/>
221 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
222 <parameter name="field6" value="`$tmp.pnf-name`"/>
223 <parameter name="field7" value="`$tmp.blacklisted`"/>
225 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
226 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
227 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
228 <parameter name="target" value="{alias}"/>
229 <parameter name="replacement" value="`$tmp.alias`"/>
231 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
232 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
233 <parameter name="level" value="info" />
234 <parameter name="field1" value="Config Neighbor List URL"/>
235 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
237 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
238 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
239 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
240 <parameter name="target" value="{plmnid}"/>
241 <parameter name="replacement" value="`$tmp.plmnid`"/>
243 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
244 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
245 <parameter name="level" value="info" />
246 <parameter name="field1" value="Config Neighbor List URL"/>
247 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
249 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
250 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
251 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
252 <parameter name="target" value="{cid}"/>
253 <parameter name="replacement" value="`$tmp.cid`"/>
255 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
256 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
257 <parameter name="restapiUser" value="`$prop.controller.user`" />
258 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
259 <parameter name="httpMethod" value="GET"/>
260 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
261 <parameter name='contentType' value='application/json' />
262 <parameter name='format' value='json' />
263 <outcome value='failure'>
264 <return status='failure'>
265 <parameter name='ack-final' value='Y'/>
266 <parameter name="error-code" value="500" />
267 <parameter name="error-message" value="Error getting details about new neighbor " />
270 <outcome value='success'>
272 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
273 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
274 <parameter name="level" value="info" />
275 <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
276 <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
277 <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
278 <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
279 <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
280 <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
285 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
286 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
287 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
288 <parameter name="restapiUser" value="`$prop.controller.user`" />
289 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
290 <parameter name="httpMethod" value="PATCH"/>
291 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
292 <parameter name='contentType' value='application/yang.patch+json' />
293 <parameter name='format' value='json' />
294 <parameter name='accept' value='application/yang.patch-status+json' />
295 <outcome value='failure'>
297 <return status='failure'>
298 <parameter name='ack-final' value='Y'/>
299 <parameter name="error-code" value="500" />
300 <parameter name="error-message" value="Error adding a new neighbor" />
304 <outcome value='success'>
306 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
307 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
308 <parameter name="level" value="info" />
309 <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
314 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
315 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
316 <parameter name="restapiUser" value="`$prop.controller.user`" />
317 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
318 <parameter name="httpMethod" value="GET"/>
319 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
320 <parameter name='contentType' value='application/json' />
321 <parameter name='format' value='json' />
322 <outcome value='failure'>
323 <return status='failure'>
324 <parameter name='ack-final' value='Y'/>
325 <parameter name="error-code" value="500" />
326 <parameter name="error-message" value="Error getting details about new neighbor " />
329 <outcome value='success'>
331 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
332 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
333 <parameter name="level" value="info" />
334 <parameter name="field1" value="Details about Neighbor Post-configuration"/>
335 <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
336 <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
337 <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
338 <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
339 <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
344 <switch test='`$prop.configdb-deployed`'>
345 <outcome value='false'>
346 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
347 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
348 <parameter name="level" value="info" />
349 <parameter name="field1" value="ConfigDB Update Skipped"/>
352 <outcome value='true'>
353 <block atomic='true'>
354 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
355 <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
356 <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
357 <parameter name="target" value="{cellId}"/>
358 <parameter name="replacement" value="`$tmp.alias`"/>
360 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
361 <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
362 <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
363 <parameter name="target" value="{targetCellId}"/>
364 <parameter name="replacement" value="`$tmp.cid`"/>
366 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
367 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
368 <parameter name="level" value="info" />
369 <parameter name="field1" value="URL for configDB PCI Update"/>
370 <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
371 <parameter name='field3' value="`$tmp.alias`" />
372 <parameter name='field4' value="`$tmp.cid`" />
374 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
375 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
376 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
377 <parameter name="httpMethod" value="PATCH"/>
378 <parameter name="responsePrefix" value="oofpci-configdb-response"/>
379 <parameter name='contentType' value='application/json' />
380 <parameter name='format' value='json' />
381 <parameter name='accept' value='application/json' />
382 <outcome value='failure'>
384 <return status='failure'>
385 <parameter name='ack-final' value='Y'/>
386 <parameter name="error-code" value="500" />
387 <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
391 <outcome value='success'>
393 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
394 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
395 <parameter name="level" value="info" />
396 <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
407 <outcome value='true'>
408 <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
409 <block atomic='true'>
411 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
412 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
413 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
414 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
415 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
416 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
418 <switch test='`$tmp.blacklisted`'>
419 <outcome value='true'>
420 <block atomic='true'>
422 <parameter name='tmp.isHOAllowed' value='false' />
426 <outcome value='false'>
427 <block atomic='true'>
429 <parameter name='tmp.isHOAllowed' value='true' />
435 <parameter name="tmp.idNRCellCU" value="`$generic-neighbor-configuration-input.alias`"/>
436 <parameter name="tmp.idNRCellRelation" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
437 <parameter name="tmp.idGNBCUCPFunction" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
439 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
440 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
441 <parameter name="level" value="info" />
442 <parameter name="field1" value="Temporary varaibles set. Neighbor #: "/>
443 <parameter name="field2" value="`$idx`"/>
444 <parameter name="field3" value="`$tmp.plmnid`"/>
445 <parameter name="field4" value="`$tmp.cid`"/>
446 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
447 <parameter name="field6" value="`$tmp.pnf-name`"/>
448 <parameter name="field7" value="`$tmp.blacklisted`"/>
449 <parameter name="field8" value="`tmp.idGNBCUCPFunction`"/>
450 <parameter name="field9" value="`tmp.idNRCellCU`"/>
451 <parameter name="field10" value="`tmp.idNRCellRelation`"/>
452 <parameter name="field11" value="`$tmp.isHOAllowed`"/>
454 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
455 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use.ransim-mounted`"/>
456 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
457 <parameter name="target" value="{idNearRTRIC}"/>
458 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
460 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
461 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
462 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
463 <parameter name="target" value="{mountName}"/>
464 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
466 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
467 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
468 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
469 <parameter name="target" value="{idGNBCUCPFunction}"/>
470 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
472 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
473 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
474 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
475 <parameter name="target" value="{idNRCellCU}"/>
476 <parameter name="replacement" value="`$tmp.idNRCellCU`"/>
478 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
479 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
480 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
481 <parameter name="target" value="{idNRCellRelation}"/>
482 <parameter name="replacement" value="`$tmp.idNRCellRelation`"/>
484 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
485 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
486 <parameter name="level" value="info" />
487 <parameter name="field1" value="Config Neighbor List URL"/>
488 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
490 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
491 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
492 <parameter name="restapiUser" value="`$prop.controller.user`" />
493 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
494 <parameter name="httpMethod" value="GET"/>
495 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
496 <parameter name='contentType' value='application/json' />
497 <parameter name='format' value='json' />
498 <outcome value='failure'>
499 <return status='failure'>
500 <parameter name='ack-final' value='Y'/>
501 <parameter name="error-code" value="500" />
502 <parameter name="error-message" value="Error getting details about new neighbor " />
505 <outcome value='success'>
507 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
508 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
509 <parameter name="level" value="info" />
510 <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
511 <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
512 <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
513 <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
514 <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
515 <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
520 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
521 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
522 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
523 <parameter name="restapiUser" value="`$prop.controller.user`" />
524 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
525 <parameter name="httpMethod" value="PATCH"/>
526 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
527 <parameter name='contentType' value='application/yang.patch+json' />
528 <parameter name='format' value='json' />
529 <parameter name='accept' value='application/yang.patch-status+json' />
530 <outcome value='failure'>
532 <return status='failure'>
533 <parameter name='ack-final' value='Y'/>
534 <parameter name="error-code" value="500" />
535 <parameter name="error-message" value="Error adding a new neighbor" />
539 <outcome value='success'>
541 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
542 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
543 <parameter name="level" value="info" />
544 <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
549 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
550 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
551 <parameter name="restapiUser" value="`$prop.controller.user`" />
552 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
553 <parameter name="httpMethod" value="GET"/>
554 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
555 <parameter name='contentType' value='application/json' />
556 <parameter name='format' value='json' />
557 <outcome value='failure'>
558 <return status='failure'>
559 <parameter name='ack-final' value='Y'/>
560 <parameter name="error-code" value="500" />
561 <parameter name="error-message" value="Error getting details about new neighbor " />
564 <outcome value='success'>
566 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
567 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
568 <parameter name="level" value="info" />
569 <parameter name="field1" value="Details about Neighbor Post-configuration"/>
570 <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
571 <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
572 <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
573 <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
574 <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
579 <switch test='`$prop.configdb-deployed`'>
580 <outcome value='false'>
581 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
582 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
583 <parameter name="level" value="info" />
584 <parameter name="field1" value="ConfigDB Update Skipped"/>
587 <outcome value='true'>
588 <block atomic='true'>
589 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
590 <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
591 <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
592 <parameter name="target" value="{cellId}"/>
593 <parameter name="replacement" value="`$tmp.alias`"/>
595 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
596 <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
597 <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
598 <parameter name="target" value="{targetCellId}"/>
599 <parameter name="replacement" value="`$tmp.cid`"/>
601 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
602 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
603 <parameter name="level" value="info" />
604 <parameter name="field1" value="URL for configDB PCI Update"/>
605 <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
606 <parameter name='field3' value="`$tmp.alias`" />
607 <parameter name='field4' value="`$tmp.cid`" />
609 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
610 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
611 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
612 <parameter name="httpMethod" value="PATCH"/>
613 <parameter name="responsePrefix" value="oofpci-configdb-response"/>
614 <parameter name='contentType' value='application/json' />
615 <parameter name='format' value='json' />
616 <parameter name='accept' value='application/json' />
617 <outcome value='failure'>
619 <return status='failure'>
620 <parameter name='ack-final' value='Y'/>
621 <parameter name="error-code" value="500" />
622 <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
626 <outcome value='success'>
628 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
629 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
630 <parameter name="level" value="info" />
631 <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
643 <block atomic='true'>
644 <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
645 <parameter name='templatePath' value='oofpcipoc-dmaap-publish-modifyconfiganr-resp-payload-template.vtl' />
646 <parameter name='output' value='resp-payload' />
647 <parameter name='prefix' value='sdnr' />
648 <outcome value='success'>
649 <block atomic='true'>
650 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
651 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
652 <parameter name="level" value="info" />
653 <parameter name="field1" value="__TIMESTAMP__"/>
654 <parameter name="field2" value="Redndred sdnr payload template as a string"/>
655 <parameter name='field3' value='`$sdnr.resp-payload`' />
659 <outcome value='failure'>
661 <return status='failure'>
662 <parameter name='ack-final' value='Y'/>
663 <parameter name="error-code" value="500" />
664 <parameter name="error-message" value="Error creating SDNR response payload string. Aborting Generic neighbor configuration" />
669 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
670 <parameter name="source" value="`$sdnr.resp-payload`"/>
671 <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
672 <parameter name="target" value="\n"/>
673 <parameter name="replacement" value=""/>
674 <outcome value='success'>
675 <block atomic='true'>
676 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
677 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
678 <parameter name="level" value="info" />
679 <parameter name="field1" value="__TIMESTAMP__"/>
680 <parameter name="field2" value="Redndred template with lines removed \r"/>
681 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
685 <outcome value='failure'>
687 <return status='failure'>
688 <parameter name='ack-final' value='Y'/>
689 <parameter name="error-code" value="500" />
690 <parameter name="error-message" value="Error removing lines from SDNR response payload string. Aborting Generic neighbor configuration" />
695 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
696 <parameter name="source" value="`$tmp.oofpcipoc-dmaap-config-resp.payload`"/>
697 <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
698 <parameter name="target" value="\t"/>
699 <parameter name="replacement" value=""/>
700 <outcome value='success'>
701 <block atomic='true'>
702 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
703 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
704 <parameter name="level" value="info" />
705 <parameter name="field1" value="__TIMESTAMP__"/>
706 <parameter name="field2" value="Redndred template with tabs removed \r"/>
707 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
711 <outcome value='failure'>
713 <return status='failure'>
714 <parameter name='ack-final' value='Y'/>
715 <parameter name="error-code" value="500" />
716 <parameter name="error-message" value="Error removing tabs from SDNR response payload string. Aborting Generic neighbor configuration" />
722 <block atomic='true'>
724 <parameter name='tmp.oofpcipoc-dmaap-config-resp.rpc-name' value='`$prop.oofpcipoc-dmaap-config-resp.rpc-name.modifyconfiganr`'/>
726 <block atomic='true'>
727 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
728 <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
729 <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.timestamp"/>
730 <parameter name="target" value='"'/>
731 <parameter name="replacement" value=''/>
732 <outcome value='success'>
733 <block atomic='true'>
734 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
735 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
736 <parameter name="level" value="info" />
737 <parameter name="field1" value="Quotation removed from timestamp for DMAAP response header \r"/>
738 <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
742 <outcome value='failure'>
744 <return status='failure'>
745 <parameter name='ack-final' value='Y'/>
746 <parameter name="error-code" value="500" />
747 <parameter name="error-message" value="Error removing quotation from timestamp for DMAAP response header. Aborting Generic neighbor configuration" />
752 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
753 <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
754 <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.requestID"/>
755 <parameter name="target" value='"'/>
756 <parameter name="replacement" value=''/>
757 <outcome value='success'>
758 <block atomic='true'>
759 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
760 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
761 <parameter name="level" value="info" />
762 <parameter name="field1" value="Quotation removed from requestID for DMAAP response header \r"/>
763 <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
767 <outcome value='failure'>
769 <return status='failure'>
770 <parameter name='ack-final' value='Y'/>
771 <parameter name="error-code" value="500" />
772 <parameter name="error-message" value="Error removing quotation from requestID for DMAAP response header. Aborting Generic neighbor configuration" />
777 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
778 <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
779 <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.subrequestID"/>
780 <parameter name="target" value='"'/>
781 <parameter name="replacement" value=''/>
782 <outcome value='success'>
783 <block atomic='true'>
784 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
785 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
786 <parameter name="level" value="info" />
787 <parameter name="field1" value="Quotation removed from subRequestID for DMAAP response header \r"/>
788 <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
792 <outcome value='failure'>
794 <return status='failure'>
795 <parameter name='ack-final' value='Y'/>
796 <parameter name="error-code" value="500" />
797 <parameter name="error-message" value="Error removing quotation from timestamp for DMAAP response header. Aborting Generic neighbor configuration" />
803 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
804 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
805 <parameter name="level" value="info" />
806 <parameter name="field1" value="__TIMESTAMP__"/>
807 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
808 <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
809 <parameter name='field4' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
810 <parameter name="field5" value="Before DMAAP Event - Timestamp, RequestID, subRequestID"/>
811 <parameter name="field6" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
812 <parameter name="field7" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
813 <parameter name="field8" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
815 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
816 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
817 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
818 <parameter name='format' value='json' />
819 <parameter name='httpMethod' value='POST' />
820 <parameter name='contentType' value='application/json' />
821 <parameter name='responsePrefix' value='dmaap' />
822 <outcome value='failure'>
824 <return status='failure'>
825 <parameter name='ack-final' value='Y'/>
826 <parameter name="error-code" value="500" />
827 <parameter name="error-message" value="Error publishing DMAAP Config Response message. ConfigDB Updated; TO be rolled back...will handle next release" />
831 <outcome value='success'>
833 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
834 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
835 <parameter name="level" value="info" />
836 <parameter name="field1" value="DMAAP Config Response Message Successfully Published "/>
842 <return status='success'>
843 <parameter name="ack-final-indicator" value="Y" />
844 <parameter name="error-code" value="200" />
845 <parameter name="error-message" value="SUCCESSFUL Execution" />