Merge "Add idNearRTRIC in configuration-phy-cell-id"
[ccsdk/distribution.git] / platform-logic / oofpcipoc-api / src / main / xml / oofpcipoc-api_configuration-phy-cell-id.xml
1 <service-logic
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='configuration-phy-cell-id' mode='sync'>
5         <block atomic='true'>
6             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
8                 <parameter name="level" value="info" />
9                 <parameter name="field1" value="RPC to Configure PCI INVOKED. Number of Cells to configure: "/>
10                 <parameter name="field2" value="`$configuration-phy-cell-id-input.fap-service-number-of-entries`"/>
11             </record>
12             <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
13                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
14                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
15                     <parameter name="level" value="info" />
16                     <parameter name="field1" value="Input RPC Payload request. FAP #:  "/>
17                     <parameter name="field2" value="`$idx`"/>
18                     <parameter name="field3" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
19                     <parameter name="field4" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
20                     <parameter name="field5" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
21                     <parameter name="field6" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
22                 </record>
23             </for>
24             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
25                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties' />
26                 <parameter name='contextPrefix' value='prop' />
27             </execute>
28             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
29                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
30                 <parameter name="level" value="info" />
31                 <parameter name="field1" value="Properties read .. pci patch target"/>
32                 <parameter name="field2" value="`$prop.oofpcipoc.patch.pci.target`"/>
33                 <parameter name="field3" value="`$prop.controller.user`"/>
34                 <parameter name="field4" value="`$prop.controller.pwd`"/>
35                 <parameter name="field5" value="`$prop.controller.url`"/>
36                 <parameter name="field6" value="ransim-mounted (true/false): "/>
37                 <parameter name="field7" value="`$prop.ransim-mounted`"/>
38             </record>
39             <set>
40                 <parameter name="prop.oofpcipoc-dmaap-config-resp.timestamp" value="`$configuration-phy-cell-id-input.timeStamp`"/>
41                 <parameter name="prop.oofpcipoc-dmaap-config-resp.requestID" value="`$configuration-phy-cell-id-input.requestID`"/>
42                 <parameter name="prop.oofpcipoc-dmaap-config-resp.subrequestID" value="`$configuration-phy-cell-id-input.subRequestID`"/>
43             </set>
44             <set>
45                 <parameter name="tmp.idGNBDU" value="`$configuration-phy-cell-id-input.fap-service[0].pnf-name`"/>
46             </set>
47             <set>
48                 <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
49             </set>
50             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
51                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
52                 <parameter name="level" value="info" />
53                 <parameter name="field1" value="URL to fetch the anchors"/>
54                 <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
55             </record>
56             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
57                 <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
58                 <parameter name="httpMethod" value="GET"/>
59                 <parameter name="restapiUser" value="cpsuser" />
60                 <parameter name="restapiPassword" value="cpsr0cks!"/>
61                 <parameter name="responsePrefix" value="get-anchors-cps-response"/>
62                 <parameter name='contentType' value='application/json' />
63                 <parameter name='format' value='json' />
64                 <parameter name='accept' value='application/json' />
65                 <parameter name="convertResponse" value="true"/>
66                 <outcome value='failure'>
67                     <block>
68                         <set>
69                             <parameter name='error-code' value='500'/>
70                             <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
71                         </set>
72                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
73                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
74                             <parameter name="level" value="info" />
75                             <parameter name="field1" value="Failed to fetch anchors from CPS"/>
76                         </record>
77                     </block>
78                 </outcome>
79                 <outcome value='success'>
80                     <block atomic='true'>
81                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
82                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
83                             <parameter name="level" value="info" />
84                             <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
85                             <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
86                         </record>
87                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
88                             <parameter name='filename' value='/opt/opendaylight/current/data/log/configuration-phy-cell-id-context.log' />
89                         </execute>
90                     </block>
91                 </outcome>
92             </execute>
93             <set>
94                 <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
95             </set>
96             <set>
97                 <parameter name='tmp.RIC.length' value="0"/>
98             </set>
99             <for index='anc' start='0' end='`$tmp.anchors.length`'>
100                 <block atomic='true'>
101                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
102                         <parameter name='outputPath' value='tmp.schemaset.name' />
103                         <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
104                     </execute>
105                     <switch test='`$tmp.schemaset.name`'>
106                         <outcome value='ran-network'>
107                             <block atomic='true'>
108                                 <set>
109                                     <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
110                                 </set>
111                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
112                                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
113                                     <parameter name="level" value="info" />
114                                     <parameter name="field1" value="Applicable RIC length"/>
115                                     <parameter name="field2" value="`$tmp.RIC.length`"/>
116                                 </record>
117                             </block>
118                         </outcome>
119                     </switch>
120                 </block>
121             </for>
122             <for index='anc' start='0' end='`$tmp.anchors.length`'>
123                 <block atomic='true'>
124                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
125                         <parameter name='outputPath' value='tmp.schemaset.name' />
126                         <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
127                     </execute>
128                     <switch test='`$tmp.schemaset.name`'>
129                         <outcome value='ran-network'>
130                             <block atomic='true'>
131                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
132                                     <parameter name='outputPath' value='tmp.anchor.name' />
133                                     <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
134                                 </execute>
135                                 <block atomic='true'>
136                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
137                                         <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
138                                         <parameter name="outputPath" value="tmp.cps.getNearRTRICByidGNBDUFunction.url"/>
139                                         <parameter name="target" value="{schemaSet}"/>
140                                         <parameter name="replacement" value="`$tmp.anchor.name`"/>
141                                     </execute>
142                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
143                                         <parameter name="source" value="`$tmp.cps.getNearRTRICByidGNBDUFunction.url`"/>
144                                         <parameter name="outputPath" value="tmp.cps.getNearRTRICByidGNBDUFunction.url"/>
145                                         <parameter name="target" value="{templateId}"/>
146                                         <parameter name="replacement" value="`$prop.tbdmt.template.get-nearrtric-by-idgnbdufunction`"/>
147                                     </execute>
148                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
149                                         <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
150                                         <parameter name="level" value="info" />
151                                         <parameter name="field1" value="URL for CPS TDBMT to Get NearRTRIC for idGNBDUFunction"/>
152                                         <parameter name='field2' value="`$tmp.cps.getNearRTRICByidGNBDUFunction.url`" />
153                                     </record>
154                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
155                                         <parameter name="restapiUrl" value="`$tmp.cps.getNearRTRICByidGNBDUFunction.url`"/>
156                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-nearrtric-by-idgnbdufunction.json'`" />
157                                         <parameter name="httpMethod" value="POST"/>
158                                         <parameter name="responsePrefix" value="getNFNSSIRIC-cps-response"/>
159                                         <parameter name='contentType' value='application/json' />
160                                         <parameter name='format' value='json' />
161                                         <parameter name='accept' value='application/json' />
162                                         <parameter name="convertResponse" value="true"/>
163                                         <outcome value='failure'>
164                                             <block>
165                                                 <set>
166                                                     <parameter name='error-code' value='500'/>
167                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
168                                                 </set>
169                                             </block>
170                                         </outcome>
171                                         <outcome value='success'>
172                                             <block atomic='true'>
173                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
174                                                     <parameter name='outputPath' value='tmp.nearRTRICId' />
175                                                     <parameter name='source' value="`'getNFNSSIRIC-cps-response.[0]'`" />
176                                                 </execute>
177                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
178                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
179                                                     <parameter name="level" value="info" />
180                                                     <parameter name="field1" value="Successfully Obtained NearRTRIC ID info from CPS"/>
181                                                     <parameter name="field2" value="`$tmp.nearRTRICId`"/>
182                                                 </record>
183                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
184                                                     <parameter name='filename' value='/opt/opendaylight/current/data/log/configuration-phy-cell-id-context.log' />
185                                                 </execute>
186                                             </block>
187                                         </outcome>
188                                     </execute>
189                                 </block>
190                             </block>
191                         </outcome>
192                     </switch>
193                 </block>
194             </for>
195             <switch test='`$prop.ransim-mounted`'>
196                 <outcome value='false'>
197                     <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
198                         <block atomic='true'>
199                             <set>
200                                 <parameter name="tmp.alias" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
201                                 <parameter name="tmp.cid" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
202                                 <parameter name="tmp.phy-cell-id-in-use" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
203                                 <parameter name="tmp.pnf-name" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
204                             </set>
205                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
206                                 <parameter name="source" value="`$prop.restapi.fap-service`"/>
207                                 <parameter name="outputPath" value="tmp.fap-service-url"/>
208                                 <parameter name="target" value="{alias}"/>
209                                 <parameter name="replacement" value="`$tmp.alias`"/>
210                             </execute>
211                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
212                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
213                                 <parameter name="level" value="info" />
214                                 <parameter name="field1" value="Setting variables for GET operation"/>
215                                 <parameter name="field2" value="`$tmp.fap-service-url`"/>
216                                 <parameter name="field3" value="`$tmp.alias`"/>
217                                 <parameter name="field4" value="`$tmp.cid`"/>
218                                 <parameter name="field5" value="`$tmp.phy-cell-id-in-use`"/>
219                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
220                             </record>
221                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
222                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
223                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
224                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
225                                 <parameter name="format" value="json"/>
226                                 <parameter name="httpMethod" value="GET"/>
227                                 <parameter name="responsePrefix" value="oofpcigetfapservice"/>
228                                 <parameter name='contentType' value='application/json' />
229                                 <outcome value='failure'>
230                                     <return status='failure'>
231                                         <parameter name='ack-final' value='Y'/>
232                                         <parameter name="error-code" value="500" />
233                                         <parameter name="error-message" value="Error executing Get odutopo node details rest api" />
234                                     </return>
235                                 </outcome>
236                                 <outcome value='success'>
237                                     <block>
238                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
239                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
240                                             <parameter name="level" value="info" />
241                                             <parameter name="field1" value="Initial FAP Service PCI PARMS"/>
242                                             <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
243                                             <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
244                                             <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
245                                         </record>
246                                     </block>
247                                 </outcome>
248                             </execute>
249                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
250                                 <parameter name="source" value="`$prop.restapi.x-005b9-lte`"/>
251                                 <parameter name="outputPath" value="tmp.oofpcipoc.patch.pci.url"/>
252                                 <parameter name="target" value="{alias}"/>
253                                 <parameter name="replacement" value="`$tmp.alias`"/>
254                             </execute>
255                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
256                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
257                                 <parameter name="level" value="info" />
258                                 <parameter name="field1" value="URL and Target for PCI patch URL"/>
259                                 <parameter name='field2' value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`" />
260                                 <parameter name='field3' value="`$prop.oofpcipoc.patch.pci.target`" />
261                             </record>
262                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
263                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`" />
264                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`"/>
265                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
266                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
267                                 <parameter name="httpMethod" value="PATCH"/>
268                                 <parameter name="responsePrefix" value="oofpci-patch-response"/>
269                                 <parameter name='contentType' value='application/yang.patch+json' />
270                                 <parameter name='format' value='json' />
271                                 <parameter name='accept' value='application/yang.patch-status+json' />
272                                 <outcome value='failure'>
273                                     <block>
274                                         <return status='failure'>
275                                             <parameter name='ack-final' value='Y'/>
276                                             <parameter name="error-code" value="500" />
277                                             <parameter name="error-message" value="Error executing patch rest api" />
278                                         </return>
279                                     </block>
280                                 </outcome>
281                                 <outcome value='success'>
282                                     <block>
283                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
284                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
285                                             <parameter name="level" value="info" />
286                                             <parameter name="field1" value="PUT PCI POC FAP SERVICE. Reconfigured "/>
287                                         </record>
288                                     </block>
289                                 </outcome>
290                             </execute>
291                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
292                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
293                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
294                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
295                                 <parameter name="format" value="json"/>
296                                 <parameter name="httpMethod" value="GET"/>
297                                 <parameter name="responsePrefix" value="oofpcigetfapservice"/>
298                                 <parameter name='contentType' value='application/json' />
299                                 <outcome value='failure'>
300                                     <return status='failure'>
301                                         <parameter name='ack-final' value='Y'/>
302                                         <parameter name="error-code" value="500" />
303                                         <parameter name="error-message" value="Error executing patch rest api" />
304                                     </return>
305                                 </outcome>
306                                 <outcome value='success'>
307                                     <block>
308                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
309                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
310                                             <parameter name="level" value="info" />
311                                             <parameter name="field1" value="Post Reconfig FAP Service PCI PARMS"/>
312                                             <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
313                                             <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
314                                             <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
315                                         </record>
316                                     </block>
317                                 </outcome>
318                             </execute>
319                             <switch test='`$prop.configdb-deployed`'>
320                                 <outcome value='true'>
321                                     <block atomic='true'>
322                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
323                                             <parameter name="source" value="`$prop.restapi.configdb.patch-pci-for-cell`"/>
324                                             <parameter name="outputPath" value="tmp.configdb.patch-pci-for-cell.url"/>
325                                             <parameter name="target" value="{cellId}"/>
326                                             <parameter name="replacement" value="`$tmp.cid`"/>
327                                         </execute>
328                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
329                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
330                                             <parameter name="level" value="info" />
331                                             <parameter name="field1" value="URL for configDB PCI Update"/>
332                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-pci-for-cell.url`" />
333                                             <parameter name='field3' value="`$tmp.cid`" />
334                                         </record>
335                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
336                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-pci-for-cell.json'`" />
337                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-pci-for-cell.url`"/>
338                                             <parameter name="httpMethod" value="PATCH"/>
339                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
340                                             <parameter name='contentType' value='application/json' />
341                                             <parameter name='format' value='json' />
342                                             <parameter name='accept' value='application/json' />
343                                             <outcome value='failure'>
344                                                 <block>
345                                                     <return status='failure'>
346                                                         <parameter name='ack-final' value='Y'/>
347                                                         <parameter name="error-code" value="500" />
348                                                         <parameter name="error-message" value="Error adding neighbor to configdb. Aborting notification handler" />
349                                                     </return>
350                                                 </block>
351                                             </outcome>
352                                             <outcome value='success'>
353                                                 <block>
354                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
355                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
356                                                         <parameter name="level" value="info" />
357                                                         <parameter name="field1" value="PCI Value updated in ConfigDB"/>
358                                                     </record>
359                                                 </block>
360                                             </outcome>
361                                         </execute>
362                                     </block>
363                                 </outcome>
364                             </switch>
365                         </block>
366                     </for>
367                 </outcome>
368                 <outcome value='true'>
369                     <for index='idx' start='0' end="`$configuration-phy-cell-id-input.fap-service-number-of-entries`" >
370                         <block atomic='true'>
371                             <set>
372                                 <parameter name="tmp.alias" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
373                                 <parameter name="tmp.cid" value="`$configuration-phy-cell-id-input.fap-service[$idx].cid`"/>
374                                 <parameter name="tmp.phy-cell-id-in-use" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
375                                 <parameter name="tmp.pnf-name" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
376                             </set>
377                             <set>
378                                 <parameter name="tmp.idNRCellDU" value="`$configuration-phy-cell-id-input.fap-service[$idx].alias`"/>
379                                 <parameter name="tmp.idGNBDUFunction" value="`$configuration-phy-cell-id-input.fap-service[$idx].pnf-name`"/>
380                                 <parameter name="tmp.nRPCI" value="`$configuration-phy-cell-id-input.fap-service[$idx].phy-cell-id-in-use`"/>
381                             </set>
382                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
383                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
384                                 <parameter name="level" value="info" />
385                                 <parameter name="field1" value="idNRCellDU"/>
386                                 <parameter name="field2" value="`$tmp.idNRCellDU`"/>
387                                 <parameter name="field3" value="idGNBDUFunction"/>
388                                 <parameter name="field4" value="`$tmp.idGNBDUFunction`"/>
389                                 <parameter name="field5" value="nRPCI"/>
390                                 <parameter name="field6" value="`$tmp.nRPCI`"/>
391                             </record>
392                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
393                                 <parameter name="source" value="`$prop.restapi.fap-service.ransim-mounted`"/>
394                                 <parameter name="outputPath" value="tmp.fap-service-url"/>
395                                 <parameter name="target" value="{idNearRTRIC}"/>
396                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
397                             </execute>
398                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
399                                 <parameter name="source" value="`$tmp.fap-service-url`"/>
400                                 <parameter name="outputPath" value="tmp.fap-service-url"/>
401                                 <parameter name="target" value="{mountName}"/>
402                                 <parameter name="replacement" value="`$tmp.idGNBDUFunction`"/>
403                             </execute>
404                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
405                                 <parameter name="source" value="`$tmp.fap-service-url`"/>
406                                 <parameter name="outputPath" value="tmp.fap-service-url"/>
407                                 <parameter name="target" value="{idGNBDUFunction}"/>
408                                 <parameter name="replacement" value="`$tmp.idGNBDUFunction`"/>
409                             </execute>
410                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
411                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
412                                 <parameter name="level" value="info" />
413                                 <parameter name="field1" value="Setting variables for GET operation"/>
414                                 <parameter name="field2" value="`$tmp.fap-service-url`"/>
415                                 <parameter name="field3" value="`$tmp.alias`"/>
416                                 <parameter name="field4" value="`$tmp.cid`"/>
417                                 <parameter name="field5" value="`$tmp.phy-cell-id-in-use`"/>
418                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
419                             </record>
420                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
421                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
422                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
423                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
424                                 <parameter name="format" value="json"/>
425                                 <parameter name="httpMethod" value="GET"/>
426                                 <parameter name="responsePrefix" value="oofpcigetfapservice"/>
427                                 <parameter name='contentType' value='application/json' />
428                                 <outcome value='failure'>
429                                     <return status='failure'>
430                                         <parameter name='ack-final' value='Y'/>
431                                         <parameter name="error-code" value="500" />
432                                         <parameter name="error-message" value="Error executing Get odutopo node details rest api" />
433                                     </return>
434                                 </outcome>
435                                 <outcome value='success'>
436                                     <block>
437                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
438                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
439                                             <parameter name="level" value="info" />
440                                             <parameter name="field1" value="Initial FAP Service PCI PARMS"/>
441                                             <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
442                                             <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
443                                             <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
444                                         </record>
445                                     </block>
446                                 </outcome>
447                             </execute>
448                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
449                                 <parameter name="source" value="`$prop.restapi.x-005b9-lte.ransim-mounted`"/>
450                                 <parameter name="outputPath" value="tmp.oofpcipoc.patch.pci.url"/>
451                                 <parameter name="target" value="{idNearRTRIC}"/>
452                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
453                             </execute>
454                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
455                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
456                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
457                                 <parameter name="target" value="{mountName}"/>
458                                 <parameter name="replacement" value="`$tmp.idGNBDUFunction`"/>
459                             </execute>
460                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
461                                 <parameter name="source" value="`$tmp.oofpcipoc.patch.pci.url`"/>
462                                 <parameter name="outputPath" value="tmp.oofpcipoc.patch.pci.url"/>
463                                 <parameter name="target" value="{idGNBDUFunction}"/>
464                                 <parameter name="replacement" value="`$tmp.idGNBDUFunction`"/>
465                             </execute>
466                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
467                                 <parameter name="source" value="`$tmp.oofpcipoc.patch.pci.url`"/>
468                                 <parameter name="outputPath" value="tmp.oofpcipoc.patch.pci.url"/>
469                                 <parameter name="target" value="{idNRCellDU}"/>
470                                 <parameter name="replacement" value="`$tmp.idNRCellDU`"/>
471                             </execute>
472                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
473                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
474                                 <parameter name="level" value="info" />
475                                 <parameter name="field1" value="URL and Target for PCI patch URL"/>
476                                 <parameter name='field2' value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`" />
477                                 <parameter name='field3' value="`$prop.oofpcipoc.patch.pci.target`" />
478                             </record>
479                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
480                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-pci-patch.json'`" />
481                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.oofpcipoc.patch.pci.url`"/>
482                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
483                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
484                                 <parameter name="httpMethod" value="PATCH"/>
485                                 <parameter name="responsePrefix" value="oofpci-patch-response"/>
486                                 <parameter name='contentType' value='application/yang.patch+json' />
487                                 <parameter name='format' value='json' />
488                                 <parameter name='accept' value='application/yang.patch-status+json' />
489                                 <outcome value='failure'>
490                                     <block>
491                                         <return status='failure'>
492                                             <parameter name='ack-final' value='Y'/>
493                                             <parameter name="error-code" value="500" />
494                                             <parameter name="error-message" value="Error executing patch rest api" />
495                                         </return>
496                                     </block>
497                                 </outcome>
498                                 <outcome value='success'>
499                                     <block>
500                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
501                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
502                                             <parameter name="level" value="info" />
503                                             <parameter name="field1" value="PUT PCI POC FAP SERVICE. Reconfigured "/>
504                                         </record>
505                                     </block>
506                                 </outcome>
507                             </execute>
508                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
509                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.fap-service-url`"/>
510                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
511                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
512                                 <parameter name="format" value="json"/>
513                                 <parameter name="httpMethod" value="GET"/>
514                                 <parameter name="responsePrefix" value="oofpcigetfapservice"/>
515                                 <parameter name='contentType' value='application/json' />
516                                 <outcome value='failure'>
517                                     <return status='failure'>
518                                         <parameter name='ack-final' value='Y'/>
519                                         <parameter name="error-code" value="500" />
520                                         <parameter name="error-message" value="Error executing patch rest api" />
521                                     </return>
522                                 </outcome>
523                                 <outcome value='success'>
524                                     <block>
525                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
526                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
527                                             <parameter name="level" value="info" />
528                                             <parameter name="field1" value="Post Reconfig FAP Service PCI PARMS"/>
529                                             <parameter name="field2" value="`$oofpcigetfapservice.fap-service[0].alias`"/>
530                                             <parameter name="field3" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.phy-cell-id-in-use`"/>
531                                             <parameter name="field4" value="`$oofpcigetfapservice.fap-service[0].x-0005b9-lte.pnf-name`"/>
532                                         </record>
533                                     </block>
534                                 </outcome>
535                             </execute>
536                             <switch test='`$prop.configdb-deployed`'>
537                                 <outcome value='false'>
538                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
539                                         <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
540                                         <parameter name="level" value="info" />
541                                         <parameter name="field1" value="ConfigDB Update Skipped"/>
542                                     </record>
543                                 </outcome>
544                                 <outcome value='true'>
545                                     <block atomic='true'>
546                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
547                                             <parameter name="source" value="`$prop.restapi.configdb.patch-pci-for-cell`"/>
548                                             <parameter name="outputPath" value="tmp.configdb.patch-pci-for-cell.url"/>
549                                             <parameter name="target" value="{cellId}"/>
550                                             <parameter name="replacement" value="`$tmp.cid`"/>
551                                         </execute>
552                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
553                                             <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
554                                             <parameter name="level" value="info" />
555                                             <parameter name="field1" value="URL for configDB PCI Update"/>
556                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-pci-for-cell.url`" />
557                                             <parameter name='field3' value="`$tmp.cid`" />
558                                         </record>
559                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
560                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-pci-for-cell.json'`" />
561                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-pci-for-cell.url`"/>
562                                             <parameter name="httpMethod" value="PATCH"/>
563                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
564                                             <parameter name='contentType' value='application/json' />
565                                             <parameter name='format' value='json' />
566                                             <parameter name='accept' value='application/json' />
567                                             <outcome value='failure'>
568                                                 <block>
569                                                     <return status='failure'>
570                                                         <parameter name='ack-final' value='Y'/>
571                                                         <parameter name="error-code" value="500" />
572                                                         <parameter name="error-message" value="Error updating configDB. Aborting PCI configuration" />
573                                                     </return>
574                                                 </block>
575                                             </outcome>
576                                             <outcome value='success'>
577                                                 <block>
578                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
579                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
580                                                         <parameter name="level" value="info" />
581                                                         <parameter name="field1" value="PCI Value updated in ConfigDB"/>
582                                                     </record>
583                                                 </block>
584                                             </outcome>
585                                         </execute>
586                                     </block>
587                                 </outcome>
588                             </switch>
589                         </block>
590                     </for>
591                 </outcome>
592             </switch>
593             <block atomic='true'>
594                 <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
595                     <parameter name='templatePath' value='oofpcipoc-dmaap-publish-modifyconfig-resp-payload-template.vtl' />
596                     <parameter name='output' value='resp-payload' />
597                     <parameter name='prefix' value='sdnr' />
598                     <outcome value='success'>
599                         <block atomic='true'>
600                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
601                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
602                                 <parameter name="level" value="info" />
603                                 <parameter name="field1" value="__TIMESTAMP__"/>
604                                 <parameter name="field2" value="Redndred sdnr payload template as a string"/>
605                                 <parameter name='field3' value='`$sdnr.resp-payload`' />
606                             </record>
607                         </block>
608                     </outcome>
609                     <outcome value='failure'>
610                         <block>
611                             <return status='failure'>
612                                 <parameter name='ack-final' value='Y'/>
613                                 <parameter name="error-code" value="500" />
614                                 <parameter name="error-message" value="Error creating SDNR response payload string. Aborting PCI configuration" />
615                             </return>
616                         </block>
617                     </outcome>
618                 </execute>
619                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
620                     <parameter name="source" value="`$sdnr.resp-payload`"/>
621                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
622                     <parameter name="target" value="\n"/>
623                     <parameter name="replacement" value=""/>
624                     <outcome value='success'>
625                         <block atomic='true'>
626                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
627                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
628                                 <parameter name="level" value="info" />
629                                 <parameter name="field1" value="__TIMESTAMP__"/>
630                                 <parameter name="field2" value="Redndred template with lines removed \r"/>
631                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
632                             </record>
633                         </block>
634                     </outcome>
635                     <outcome value='failure'>
636                         <block>
637                             <return status='failure'>
638                                 <parameter name='ack-final' value='Y'/>
639                                 <parameter name="error-code" value="500" />
640                                 <parameter name="error-message" value="Error removing lines from SDNR response payload string. Aborting PCI configuration" />
641                             </return>
642                         </block>
643                     </outcome>
644                 </execute>
645                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
646                     <parameter name="source" value="`$tmp.oofpcipoc-dmaap-config-resp.payload`"/>
647                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
648                     <parameter name="target" value="\t"/>
649                     <parameter name="replacement" value=""/>
650                     <outcome value='success'>
651                         <block atomic='true'>
652                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
653                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
654                                 <parameter name="level" value="info" />
655                                 <parameter name="field1" value="__TIMESTAMP__"/>
656                                 <parameter name="field2" value="Redndred template with tabs removed \r"/>
657                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
658                             </record>
659                         </block>
660                     </outcome>
661                     <outcome value='failure'>
662                         <block>
663                             <return status='failure'>
664                                 <parameter name='ack-final' value='Y'/>
665                                 <parameter name="error-code" value="500" />
666                                 <parameter name="error-message" value="Error removing tabs from SDNR response payload string. Aborting PCI configuration" />
667                             </return>
668                         </block>
669                     </outcome>
670                 </execute>
671             </block>
672             <block atomic='true'>
673                 <set>
674                     <parameter name='tmp.oofpcipoc-dmaap-config-resp.rpc-name' value='`$prop.oofpcipoc-dmaap-config-resp.rpc-name.modifyconfig`'/>
675                 </set>
676                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
677                     <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
678                     <parameter name="level" value="info" />
679                     <parameter name="field1" value="__TIMESTAMP__"/>
680                     <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
681                     <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
682                     <parameter name='field4' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
683                 </record>
684                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
685                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
686                     <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
687                     <parameter name='format' value='json' />
688                     <parameter name='httpMethod' value='POST' />
689                     <parameter name='contentType' value='application/json' />
690                     <parameter name='responsePrefix' value='dmaap' />
691                     <outcome value='failure'>
692                         <block>
693                             <return status='failure'>
694                                 <parameter name='ack-final' value='Y'/>
695                                 <parameter name="error-code" value="500" />
696                                 <parameter name="error-message" value="Error publishing DMAAP Config Response message. ConfigDB Updated; TO be rolled back...will handle next release" />
697                             </return>
698                         </block>
699                     </outcome>
700                     <outcome value='success'>
701                         <block>
702                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
703                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
704                                 <parameter name="level" value="info" />
705                                 <parameter name="field1" value="DMAAP Config Response Message Successfully Published "/>
706                             </record>
707                         </block>
708                     </outcome>
709                 </execute>
710             </block>
711             <return status='success'>
712                 <parameter name="ack-final-indicator" value="Y" />
713                 <parameter name="error-code" value="200" />
714                 <parameter name="error-message" value="SUCCESSFUL Execution" />
715             </return>
716         </block>
717     </method>
718 </service-logic>