f6c1c6f85d3ed7c6887f2f940274aa93216c1d1f
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / trans_slicing / GENERIC-RESOURCE-API_tsli-vnf-topology-operation-get-otn-tunnel-path-from-oof.xml
1 <service-logic\r
2         xmlns='http://www.onap.org/sdnc/svclogic'\r
3         xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='tsli-vnf-topology-operation-get-otn-tunnel-path-from-oof' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
7                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`" />\r
8                 <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url + '?ethsrvType=' + $prop.ethsrvType`" />\r
9                 <parameter name="restapiUser" value="`$prop.oof.user`" />\r
10                 <parameter name="restapiPassword" value="`$prop.oof.password`" />\r
11                 <parameter name="format" value="json"/>\r
12                 <parameter name="httpMethod" value="post"/>\r
13                 <parameter name="responsePrefix" value="otn-oof"/>\r
14                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
15                 <parameter name="trustStorePassword" value="adminadmin"/>\r
16                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
17                 <parameter name="keyStorePassword" value="adminadmin"/>\r
18                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
19                 <outcome value='failure'>\r
20                     <return status='failure'>\r
21                         <parameter name='ack-final' value='Y'/>\r
22                         <parameter name="error-code" value="500" />\r
23                         <parameter name="error-message" value="Error executing OOF api" />\r
24                     </return>\r
25                 </outcome>\r
26                 <outcome value='success'>\r
27                     <block></block>\r
28                 </outcome>\r
29             </execute>\r
30             <for index='vidx' start='0' end='`$otn-oof.solutions_length`' >\r
31                 <block atomic="true">\r
32                     <set>\r
33                         <parameter name='otn-oof.link-name' value='' />\r
34                         <parameter name='tmp.aai.cross-link' value='' />\r
35                         <parameter name='tmp.aai.cross-link.' value='' />\r
36                         <parameter name='tmp.aai.cross-link.link-role' value='' />\r
37                     </set>\r
38                     <set>\r
39                         <parameter name='otn-oof.link-name' value='`$otn-oof.solutions[$vidx].link`' />\r
40                         <parameter name='otn-oof.start-node' value='`$otn-oof.solutions[$vidx].start_node`' />\r
41                         <parameter name='otn-oof.end-node' value='`$otn-oof.solutions[$vidx].end_node`' />\r
42                     </set>\r
43                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
44                                   resource="logical-link"\r
45                                   key="logical-link.link-name = $otn-oof.link-name"\r
46                                   pfx='tmp.aai.cross-link' local-only='false' >\r
47                         <!--AND depth = '0'"-->\r
48                         <outcome value='success'>\r
49                             <block>\r
50                                 <switch test='`$tmp.aai.cross-link.link-role`'>\r
51                                     <outcome value='cross-domain'>\r
52                                         <block atomic="true">\r
53                                             <for index='lridx' start='0' end='`$tmp.aai.cross-link.relationship-list.relationship_length`' >\r
54                                                 <switch test='`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`'>\r
55                                                     <outcome value='p-interface'>\r
56                                                         <block>\r
57                                                             <switch test='`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value == $otn-oof.start-node`'>\r
58                                                                 <outcome value='true'>\r
59                                                                     <block atomic="true">\r
60                                                                         <set>\r
61                                                                             <parameter name='tmp.cross-link.src-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`" />\r
62                                                                             <parameter name='tmp.src-pnf-name' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`" />\r
63                                                                         </set>\r
64                                                                     </block>\r
65                                                                 </outcome>\r
66                                                             </switch>\r
67                                                             <switch test='`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value == $otn-oof.end-node`'>\r
68                                                                 <outcome value='true'>\r
69                                                                     <block atomic="true">\r
70                                                                         <set>\r
71                                                                             <parameter name='tmp.cross-link.dst-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`" />\r
72                                                                             <parameter name='tmp.dst-pnf-name' value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`" />\r
73                                                                         </set>\r
74                                                                     </block>\r
75                                                                 </outcome>\r
76                                                             </switch>\r
77                                                         </block>\r
78                                                     </outcome>\r
79                                                 </switch>\r
80                                             </for>\r
81                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
82                                                           resource="p-interface"\r
83                                                           key="pnf.pnf-name = $tmp.src-pnf-name\r
84                     AND p-interface.interface-name = $tmp.cross-link.src-ltpId"\r
85                                                           pfx='tmp.aai.src-tp' local-only='false' >\r
86                                                 <!--AND depth = '0'"-->\r
87                                                 <outcome value='success'>\r
88                                                     <block>\r
89                                                         <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.src-tp.relationship-list.relationship_length`' >\r
90                                                             <switch test='`$tmp.aai.src-tp.relationship-list.relationship[$vidx].related-to`'>\r
91                                                                 <outcome value='tunnel-termination-point'>\r
92                                                                     <block atomic="true">\r
93                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
94                                                                             <parameter name="original_string" value='`$tmp.aai.src-tp`'/>\r
95                                                                             <!--<parameter name="regex" value="[^-]+$"/>-->\r
96                                                                             <parameter name="regex" value="[-]+"/>\r
97                                                                             <parameter name="ctx_memory_result_key" value="param-prefix-src-tp"/>\r
98                                                                             <outcome value='success'>\r
99                                                                                 <block atomic="true">\r
100                                                                                     <set>\r
101                                                                                         <parameter name='domain-A.ltpId' value='`$param-prefix-src-tp[$param-prefix-src-tp_length -1]`' />\r
102                                                                                     </set>\r
103                                                                                 </block>\r
104                                                                             </outcome>\r
105                                                                             <outcome value='failure'>\r
106                                                                                 <return status='failure'>\r
107                                                                                     <parameter name='error-code' value='' />\r
108                                                                                     <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
109                                                                                 </return>\r
110                                                                             </outcome>\r
111                                                                         </execute>\r
112                                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
113                                                                                       resource="pnf"\r
114                                                                                       key="pnf.pnf-name = $tmp.src-pnf-name"\r
115                                                                                       pfx='tmp.aai.src-pnf' local-only='false' >\r
116                                                                             <!--AND depth = '0'"-->\r
117                                                                             <outcome value='success'>\r
118                                                                                 <block>\r
119                                                                                     <set>\r
120                                                                                         <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
121                                                                                         <parameter name='domain-A.tpn' value='1' />\r
122                                                                                     </set>\r
123                                                                                     <for silentFailure='true' index='pvidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
124                                                                                         <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].related-to`'>\r
125                                                                                             <outcome value='network-resource'>\r
126                                                                                                 <block atomic="true">\r
127                                                                                                     <set>\r
128                                                                                                         <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$pvidx].relationship-data[0].relationship-value`" />\r
129                                                                                                     </set>\r
130                                                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
131                                                                                                                   resource="network-resource"\r
132                                                                                                                   key="network-resource.network-id = $tmp.domain-A.network-id\r
133                 AND depth = '0'"\r
134                                                                                                                   pfx='tmp.aai.src-network-resource' local-only='false' >\r
135                                                                                                         <outcome value='success'>\r
136                                                                                                             <set>\r
137                                                                                                                 <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
138                                                                                                                 <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
139                                                                                                                 <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
140                                                                                                                 <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
141                                                                                                                 <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
142                                                                                                             </set>\r
143                                                                                                         </outcome>\r
144                                                                                                     </get-resource>\r
145                                                                                                     <break/>\r
146                                                                                                 </block>\r
147                                                                                             </outcome>\r
148                                                                                         </switch>\r
149                                                                                     </for>\r
150                                                                                 </block>\r
151                                                                             </outcome>\r
152                                                                             <outcome value='not-found'>\r
153                                                                                 <return status='failure'>\r
154                                                                                     <parameter name='ack-final' value='Y'/>\r
155                                                                                     <parameter name="error-code" value="500" />\r
156                                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
157                                                                                 </return>\r
158                                                                             </outcome>\r
159                                                                             <outcome value='Other'>\r
160                                                                                 <return status='failure'>\r
161                                                                                     <parameter name='ack-final' value='Y'/>\r
162                                                                                     <parameter name="error-code" value="500" />\r
163                                                                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
164                                                                                 </return>\r
165                                                                             </outcome>\r
166                                                                         </get-resource>\r
167                                                                         <set>\r
168                                                                             <parameter name='tmp.domain-A.ttp-id' value="`$tmp.aai.src-tp.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
169                                                                         </set>\r
170                                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
171                                                                                       resource="tunnel-termination-point"\r
172                                                                                       key="tunnel-termination-point.ttp-id = $tmp.domain-A.ttp-id\r
173                 AND depth = '0'"\r
174                                                                                       pfx='tmp.aai.src-ttp' local-only='false' >\r
175                                                                             <outcome value='success'>\r
176                                                                                 <block atomic="true">\r
177                                                                                     <set>\r
178                                                                                         <parameter name='domain-A.tunnel-tp-id' value="`$tmp.aai.src-ttp.tunnel-tp-id`" />\r
179                                                                                     </set>\r
180                                                                                 </block>\r
181                                                                             </outcome>\r
182                                                                         </get-resource>\r
183                                                                         <break/>\r
184                                                                     </block>\r
185                                                                 </outcome>\r
186                                                             </switch>\r
187                                                         </for>\r
188                                                     </block>\r
189                                                 </outcome>\r
190                                                 <outcome value='not-found'>\r
191                                                     <return status='failure'>\r
192                                                         <parameter name='ack-final' value='Y'/>\r
193                                                         <parameter name="error-code" value="500" />\r
194                                                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
195                                                     </return>\r
196                                                 </outcome>\r
197                                                 <outcome value='Other'>\r
198                                                     <return status='failure'>\r
199                                                         <parameter name='ack-final' value='Y'/>\r
200                                                         <parameter name="error-code" value="500" />\r
201                                                         <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
202                                                     </return>\r
203                                                 </outcome>\r
204                                             </get-resource>\r
205                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
206                                                           resource="p-interface"\r
207                                                           key="pnf.pnf-name = $tmp.dst-pnf-name\r
208                     AND p-interface.interface-name = $tmp.cross-link.dst-ltpId"\r
209                                                           pfx='tmp.aai.dst-tp' local-only='false' >\r
210                                                 <!--AND depth = '0'"-->\r
211                                                 <outcome value='success'>\r
212                                                     <block>\r
213                                                         <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.dst-tp.relationship-list.relationship_length`' >\r
214                                                             <switch test='`$tmp.aai.dst-tp.relationship-list.relationship[$vidx].related-to`'>\r
215                                                                 <outcome value='tunnel-termination-point'>\r
216                                                                     <block atomic="true">\r
217                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
218                                                                             <parameter name="original_string" value='`$tmp.aai.dst-tp`'/>\r
219                                                                             <!--<parameter name="regex" value="[^-]+$"/>-->\r
220                                                                             <parameter name="regex" value="[-]+"/>\r
221                                                                             <parameter name="ctx_memory_result_key" value="param-prefix-dst-tp"/>\r
222                                                                             <outcome value='success'>\r
223                                                                                 <block atomic="true">\r
224                                                                                     <set>\r
225                                                                                         <parameter name='domain-B.ltpId' value='`$param-prefix-dst-tp[$param-prefix-dst-tp_length -1]`' />\r
226                                                                                     </set>\r
227                                                                                 </block>\r
228                                                                             </outcome>\r
229                                                                             <outcome value='failure'>\r
230                                                                                 <return status='failure'>\r
231                                                                                     <parameter name='error-code' value='' />\r
232                                                                                     <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
233                                                                                 </return>\r
234                                                                             </outcome>\r
235                                                                         </execute>\r
236                                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
237                                                                                       resource="pnf"\r
238                                                                                       key="pnf.pnf-name = $tmp.dst-pnf-name"\r
239                                                                                       pfx='tmp.aai.dst-pnf' local-only='false' >\r
240                                                                             <!--AND depth = '0'"-->\r
241                                                                             <outcome value='success'>\r
242                                                                                 <block>\r
243                                                                                     <set>\r
244                                                                                         <parameter name='domain-B.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
245                                                                                         <parameter name='domain-B.tpn' value='1' />\r
246                                                                                     </set>\r
247                                                                                     <for silentFailure='true' index='mvidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
248                                                                                         <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].related-to`'>\r
249                                                                                             <outcome value='network-resource'>\r
250                                                                                                 <block atomic="true">\r
251                                                                                                     <set>\r
252                                                                                                         <parameter name='tmp.domain-B.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$mvidx].relationship-data[0].relationship-value`" />\r
253                                                                                                     </set>\r
254                                                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
255                                                                                                                   resource="network-resource"\r
256                                                                                                                   key="network-resource.network-id = $tmp.domain-B.network-id\r
257                 AND depth = '0'"\r
258                                                                                                                   pfx='tmp.aai.dst-network-resource' local-only='false' >\r
259                                                                                                         <outcome value='success'>\r
260                                                                                                             <set>\r
261                                                                                                                 <parameter name='domain-B.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
262                                                                                                                 <parameter name='domain-B.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
263                                                                                                                 <parameter name='domain-B.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
264                                                                                                                 <parameter name='domain-B.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
265                                                                                                                 <parameter name='domain-B.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
266                                                                                                             </set>\r
267                                                                                                         </outcome>\r
268                                                                                                     </get-resource>\r
269                                                                                                     <break/>\r
270                                                                                                 </block>\r
271                                                                                             </outcome>\r
272                                                                                         </switch>\r
273                                                                                     </for>\r
274                                                                                 </block>\r
275                                                                             </outcome>\r
276                                                                             <outcome value='not-found'>\r
277                                                                                 <return status='failure'>\r
278                                                                                     <parameter name='ack-final' value='Y'/>\r
279                                                                                     <parameter name="error-code" value="500" />\r
280                                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
281                                                                                 </return>\r
282                                                                             </outcome>\r
283                                                                             <outcome value='Other'>\r
284                                                                                 <return status='failure'>\r
285                                                                                     <parameter name='ack-final' value='Y'/>\r
286                                                                                     <parameter name="error-code" value="500" />\r
287                                                                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
288                                                                                 </return>\r
289                                                                             </outcome>\r
290                                                                         </get-resource>\r
291                                                                         <set>\r
292                                                                             <parameter name='tmp.domain-B.ttp-id' value="`$tmp.aai.dst-tp.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
293                                                                         </set>\r
294                                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
295                                                                                       resource="tunnel-termination-point"\r
296                                                                                       key="tunnel-termination-point.ttp-id = $tmp.domain-B.ttp-id\r
297                 AND depth = '0'"\r
298                                                                                       pfx='tmp.aai.dst-ttp' local-only='false' >\r
299                                                                             <outcome value='success'>\r
300                                                                                 <block atomic="true">\r
301                                                                                     <set>\r
302                                                                                         <parameter name='domain-B.tunnel-tp-id' value="`$tmp.aai.dst-ttp.tunnel-tp-id`" />\r
303                                                                                     </set>\r
304                                                                                 </block>\r
305                                                                             </outcome>\r
306                                                                         </get-resource>\r
307                                                                         <break/>\r
308                                                                     </block>\r
309                                                                 </outcome>\r
310                                                             </switch>\r
311                                                         </for>\r
312                                                     </block>\r
313                                                 </outcome>\r
314                                                 <outcome value='not-found'>\r
315                                                     <return status='failure'>\r
316                                                         <parameter name='ack-final' value='Y'/>\r
317                                                         <parameter name="error-code" value="500" />\r
318                                                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
319                                                     </return>\r
320                                                 </outcome>\r
321                                                 <outcome value='Other'>\r
322                                                     <return status='failure'>\r
323                                                         <parameter name='ack-final' value='Y'/>\r
324                                                         <parameter name="error-code" value="500" />\r
325                                                         <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
326                                                     </return>\r
327                                                 </outcome>\r
328                                             </get-resource>\r
329                                             <break/>\r
330                                         </block>\r
331                                     </outcome>\r
332                                 </switch>\r
333                             </block>\r
334                         </outcome>\r
335                         <outcome value='not-found'>\r
336                             <return status='failure'>\r
337                                 <parameter name='ack-final' value='Y'/>\r
338                                 <parameter name="error-code" value="500" />\r
339                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
340                             </return>\r
341                         </outcome>\r
342                         <outcome value='Other'>\r
343                             <return status='failure'>\r
344                                 <parameter name='ack-final' value='Y'/>\r
345                                 <parameter name="error-code" value="500" />\r
346                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
347                             </return>\r
348                         </outcome>\r
349                     </get-resource>\r
350                 </block>\r
351             </for>\r
352         </block>\r
353     </method>\r
354 </service-logic>