SDNR OOFPCIPOC DG update
[ccsdk/distribution.git] / platform-logic / oofpcipoc-api / src / main / xml / oofpcipoc-api_generic-neighbor-configuration.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='generic-neighbor-configuration' 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/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`"/>
11             </record>
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`"/>
23                 </record>
24             </for>
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' />
28             </execute>
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`"/>
37             </record>
38             <switch test='`$prop.ransim-mounted`'>
39                 <outcome value='false'>
40                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
41                         <block atomic='true'>
42                             <set>
43                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
44                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
45                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
46                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
47                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
48                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
49                             </set>
50                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
51                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
52                                 <parameter name="level" value="info" />
53                                 <parameter name="field1" value="Temporary varaibles set. Neighbor #:  "/>
54                                 <parameter name="field2" value="`$idx`"/>
55                                 <parameter name="field3" value="`$tmp.plmnid`"/>
56                                 <parameter name="field4" value="`$tmp.cid`"/>
57                                 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
58                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
59                                 <parameter name="field7" value="`$tmp.blacklisted`"/>
60                             </record>
61                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
62                                 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
63                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
64                                 <parameter name="target" value="{alias}"/>
65                                 <parameter name="replacement" value="`$tmp.alias`"/>
66                             </execute>
67                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
68                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
69                                 <parameter name="level" value="info" />
70                                 <parameter name="field1" value="Config Neighbor List URL"/>
71                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
72                             </record>
73                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
74                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
75                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
76                                 <parameter name="target" value="{plmnid}"/>
77                                 <parameter name="replacement" value="`$tmp.plmnid`"/>
78                             </execute>
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="Config Neighbor List URL"/>
83                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
84                             </record>
85                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
86                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
87                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
88                                 <parameter name="target" value="{cid}"/>
89                                 <parameter name="replacement" value="`$tmp.cid`"/>
90                             </execute>
91                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
92                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
93                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
94                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
95                                 <parameter name="httpMethod" value="GET"/>
96                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
97                                 <parameter name='contentType' value='application/json' />
98                                 <parameter name='format' value='json' />
99                                 <outcome value='failure'>
100                                     <return status='failure'>
101                                         <parameter name='ack-final' value='Y'/>
102                                         <parameter name="error-code" value="500" />
103                                         <parameter name="error-message" value="Error getting details about new neighbor " />
104                                     </return>
105                                 </outcome>
106                                 <outcome value='success'>
107                                     <block>
108                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
109                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
110                                             <parameter name="level" value="info" />
111                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
112                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
113                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
114                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
115                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
116                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
117                                         </record>
118                                     </block>
119                                 </outcome>
120                             </execute>
121                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
122                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
123                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
124                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
125                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
126                                 <parameter name="httpMethod" value="PATCH"/>
127                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
128                                 <parameter name='contentType' value='application/yang.patch+json' />
129                                 <parameter name='format' value='json' />
130                                 <parameter name='accept' value='application/yang.patch-status+json' />
131                                 <outcome value='failure'>
132                                     <block>
133                                         <return status='failure'>
134                                             <parameter name='ack-final' value='Y'/>
135                                             <parameter name="error-code" value="500" />
136                                             <parameter name="error-message" value="Error adding a new neighbor" />
137                                         </return>
138                                     </block>
139                                 </outcome>
140                                 <outcome value='success'>
141                                     <block>
142                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
143                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
144                                             <parameter name="level" value="info" />
145                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
146                                         </record>
147                                     </block>
148                                 </outcome>
149                             </execute>
150                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
151                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
152                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
153                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
154                                 <parameter name="httpMethod" value="GET"/>
155                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
156                                 <parameter name='contentType' value='application/json' />
157                                 <parameter name='format' value='json' />
158                                 <outcome value='failure'>
159                                     <return status='failure'>
160                                         <parameter name='ack-final' value='Y'/>
161                                         <parameter name="error-code" value="500" />
162                                         <parameter name="error-message" value="Error getting details about new neighbor " />
163                                     </return>
164                                 </outcome>
165                                 <outcome value='success'>
166                                     <block>
167                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
168                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
169                                             <parameter name="level" value="info" />
170                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
171                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
172                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
173                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
174                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
175                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
176                                         </record>
177                                     </block>
178                                 </outcome>
179                             </execute>
180                         </block>
181                     </for>
182                 </outcome>
183                 <outcome value='true'>
184                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
185                         <block atomic='true'>
186                             <set>
187                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
188                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
189                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
190                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
191                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
192                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
193                             </set>
194                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
195                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
196                                 <parameter name="level" value="info" />
197                                 <parameter name="field1" value="Temporary varaibles set. Neighbor #:  "/>
198                                 <parameter name="field2" value="`$idx`"/>
199                                 <parameter name="field3" value="`$tmp.plmnid`"/>
200                                 <parameter name="field4" value="`$tmp.cid`"/>
201                                 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
202                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
203                                 <parameter name="field7" value="`$tmp.blacklisted`"/>
204                             </record>
205                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
206                                 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use.ransim-mounted`"/>
207                                 <parameter name="outputPath" value="tmp.config-neighbor-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/generic-neighbor-config.log" />
213                                 <parameter name="level" value="info" />
214                                 <parameter name="field1" value="Config Neighbor List URL"/>
215                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
216                             </record>
217                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
218                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
219                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
220                                 <parameter name="target" value="{pnf-name}"/>
221                                 <parameter name="replacement" value="`$tmp.pnf-name`"/>
222                             </execute>
223                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
224                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
225                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
226                                 <parameter name="target" value="{plmnid}"/>
227                                 <parameter name="replacement" value="`$tmp.plmnid`"/>
228                             </execute>
229                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
230                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
231                                 <parameter name="level" value="info" />
232                                 <parameter name="field1" value="Config Neighbor List URL"/>
233                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
234                             </record>
235                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
236                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
237                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
238                                 <parameter name="target" value="{cid}"/>
239                                 <parameter name="replacement" value="`$tmp.cid`"/>
240                             </execute>
241                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
242                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
243                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
244                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
245                                 <parameter name="httpMethod" value="GET"/>
246                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
247                                 <parameter name='contentType' value='application/json' />
248                                 <parameter name='format' value='json' />
249                                 <outcome value='failure'>
250                                     <return status='failure'>
251                                         <parameter name='ack-final' value='Y'/>
252                                         <parameter name="error-code" value="500" />
253                                         <parameter name="error-message" value="Error getting details about new neighbor " />
254                                     </return>
255                                 </outcome>
256                                 <outcome value='success'>
257                                     <block>
258                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
259                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
260                                             <parameter name="level" value="info" />
261                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
262                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
263                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
264                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
265                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
266                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
267                                         </record>
268                                     </block>
269                                 </outcome>
270                             </execute>
271                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
272                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
273                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
274                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
275                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
276                                 <parameter name="httpMethod" value="PATCH"/>
277                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
278                                 <parameter name='contentType' value='application/yang.patch+json' />
279                                 <parameter name='format' value='json' />
280                                 <parameter name='accept' value='application/yang.patch-status+json' />
281                                 <outcome value='failure'>
282                                     <block>
283                                         <return status='failure'>
284                                             <parameter name='ack-final' value='Y'/>
285                                             <parameter name="error-code" value="500" />
286                                             <parameter name="error-message" value="Error adding a new neighbor" />
287                                         </return>
288                                     </block>
289                                 </outcome>
290                                 <outcome value='success'>
291                                     <block>
292                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
293                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
294                                             <parameter name="level" value="info" />
295                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
296                                         </record>
297                                     </block>
298                                 </outcome>
299                             </execute>
300                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
301                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
302                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
303                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
304                                 <parameter name="httpMethod" value="GET"/>
305                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
306                                 <parameter name='contentType' value='application/json' />
307                                 <parameter name='format' value='json' />
308                                 <outcome value='failure'>
309                                     <return status='failure'>
310                                         <parameter name='ack-final' value='Y'/>
311                                         <parameter name="error-code" value="500" />
312                                         <parameter name="error-message" value="Error getting details about new neighbor " />
313                                     </return>
314                                 </outcome>
315                                 <outcome value='success'>
316                                     <block>
317                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
318                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
319                                             <parameter name="level" value="info" />
320                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
321                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
322                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
323                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
324                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
325                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
326                                         </record>
327                                     </block>
328                                 </outcome>
329                             </execute>
330                         </block>
331                     </for>
332                 </outcome>
333             </switch>
334             <return status='success'>
335                 <parameter name="ack-final-indicator" value="Y" />
336                 <parameter name="error-code" value="200" />
337                 <parameter name="error-message" value="SUCCESSFUL Execution" />
338             </return>
339         </block>
340     </method>
341 </service-logic>