a80f8710650d2b7a2bc41bfefcc0d16df4fad296
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_esr-thirdparty-sdnc-discovery.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='DataChange' version='${project.version}'>\r
4     <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`">\r
7                 <outcome value='false'>\r
8                     <switch test="`$data-change-notification-input.aai-event-trigger`">\r
9                         <outcome value='Update'>\r
10                             <block>\r
11                                 <switch test="`$prop.sdncRestApi.type`">\r
12                                     <outcome value='SOTN'>\r
13                                         <block atomic="true">\r
14                                             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
15                                                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
16                                                 <parameter name='contextPrefix' value='prop' />\r
17                                             </execute>\r
18                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
19                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
20                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
21                                                 <parameter name="format" value="json"/>\r
22                                                 <parameter name="httpMethod" value="post"/>\r
23                                                 <parameter name="responsePrefix" value="token-result"/>\r
24                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
25                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
26                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
27                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
28                                                 <outcome value='success'>\r
29                                                     <set>\r
30                                                         <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
31                                                     </set>\r
32                                                 </outcome>\r
33                                                 <outcome value='failure'>\r
34                                                     <block></block>\r
35                                                 </outcome>\r
36                                             </execute>\r
37                                             <switch test="`$prop.sdncRestApi.token_id`">\r
38                                                 <outcome value=''>\r
39                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
40                                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
41                                                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
42                                                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
43                                                         <parameter name="format" value="json"/>\r
44                                                         <parameter name="httpMethod" value="get"/>\r
45                                                         <parameter name="responsePrefix" value="topology"/>\r
46                                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
47                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
48                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
49                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
50                                                         <outcome value='failure'>\r
51                                                             <return status='failure'>\r
52                                                                 <parameter name='ack-final' value='Y'/>\r
53                                                                 <parameter name="error-code" value="500" />\r
54                                                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
55                                                             </return>\r
56                                                         </outcome>\r
57                                                         <outcome value='success'>\r
58                                                             <block atomic="true">\r
59                                                                 <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
60                                                                     <block>\r
61                                                                         <set>\r
62                                                                             <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
63                                                                         </set>\r
64                                                                         <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
65                                                                     </block>\r
66                                                                 </for>\r
67                                                                 <switch test='`$topology.networks.network_length`'>\r
68                                                                     <outcome value='2'>\r
69                                                                         <switch test='`$topology.networks.network[0].network-types`'>\r
70                                                                             <outcome value='ethernet-topology'>\r
71                                                                                 <switch test='`$topology.networks.network[1].network-types`'>\r
72                                                                                     <outcome value='otn-topology'>\r
73                                                                                         <block>\r
74                                                                                             <set>\r
75                                                                                                 <parameter name='network-eth.' value='`$topology.networks.network[0].`' />\r
76                                                                                                 <parameter name='network-otn.' value='`$topology.networks.network[1].`' />\r
77                                                                                             </set>\r
78                                                                                             <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
79                                                                                         </block>\r
80                                                                                     </outcome>\r
81                                                                                     <outcome value='Other'>\r
82                                                                                         <return status='failure'>\r
83                                                                                             <parameter name='error-code' value='' />\r
84                                                                                             <parameter name='error-message' value='' />\r
85                                                                                         </return>\r
86                                                                                     </outcome>\r
87                                                                                 </switch>\r
88                                                                             </outcome>\r
89                                                                             <outcome value='otn-topology'>\r
90                                                                                 <switch test='`$topology.networks.network[1].network-types`'>\r
91                                                                                     <outcome value='ethernet-topology'>\r
92                                                                                         <block>\r
93                                                                                             <set>\r
94                                                                                                 <parameter name='network.eth' value='`$topology.networks.network[1].`' />\r
95                                                                                                 <parameter name='network.otn' value='`$topology.networks.network[0].`' />\r
96                                                                                             </set>\r
97                                                                                             <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
98                                                                                         </block>\r
99                                                                                     </outcome>\r
100                                                                                     <outcome value='Other'>\r
101                                                                                         <return status='failure'>\r
102                                                                                             <parameter name='error-code' value='' />\r
103                                                                                             <parameter name='error-message' value='' />\r
104                                                                                         </return>\r
105                                                                                     </outcome>\r
106                                                                                 </switch>\r
107                                                                             </outcome>\r
108                                                                         </switch>\r
109                                                                     </outcome>\r
110                                                                 </switch>\r
111                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
112                                                                               resource="network-resources"\r
113                                                                               pfx='tmp.aai.network-resources' local-only='false' >\r
114                                                                     <outcome value='success'>\r
115                                                                         <switch test='tmp.aai.network-resources_length'>\r
116                                                                             <outcome value='4'>\r
117                                                                                 <block atomic='true'>\r
118                                                                                     <for index='nridx' start='0' end='`$tmp.aai.network-resources.network-resource_length`' >\r
119                                                                                         <block>\r
120                                                                                             <set>\r
121                                                                                                 <parameter name='otnidx' value='0' />\r
122                                                                                             </set>\r
123                                                                                             <switch test='`$tmp.aai.network-resources.network-resource[$nridx].network-type`'>\r
124                                                                                                 <outcome value='otn-topology'>\r
125                                                                                                     <block>\r
126                                                                                                         <set>\r
127                                                                                                             <parameter name='network-resource-otn[$otnidx].' value='`$tmp.aai.network-resources.network-resource[$nridx].`' />\r
128                                                                                                         </set>\r
129                                                                                                         <set>\r
130                                                                                                             <parameter name='otnidx' value='`$otnidx + 1`' />\r
131                                                                                                         </set>\r
132                                                                                                     </block>\r
133                                                                                                 </outcome>\r
134                                                                                             </switch>\r
135                                                                                         </block>\r
136                                                                                     </for>\r
137                                                                                     <call module='DataChange' rpc='update-open-ended-links' mode='sync' ></call>\r
138                                                                                 </block>\r
139                                                                             </outcome>\r
140                                                                         </switch>\r
141                                                                     </outcome>\r
142                                                                     <outcome value='not-found'>\r
143                                                                         <return status='failure'>\r
144                                                                             <parameter name='error-code' value='' />\r
145                                                                             <parameter name='error-message' value='' />\r
146                                                                         </return>\r
147                                                                     </outcome>\r
148                                                                     <outcome value='Other'>\r
149                                                                         <return status='failure'>\r
150                                                                             <parameter name='error-code' value='' />\r
151                                                                             <parameter name='error-message' value='' />\r
152                                                                         </return>\r
153                                                                     </outcome>\r
154                                                                 </get-resource>\r
155                                                             </block>\r
156                                                         </outcome>\r
157                                                     </execute>\r
158                                                 </outcome>\r
159                                                 <outcome value='Other'>\r
160                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
161                                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
162                                                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
163                                                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
164                                                         <parameter name="format" value="json"/>\r
165                                                         <parameter name="httpMethod" value="get"/>\r
166                                                         <parameter name="responsePrefix" value="topology"/>\r
167                                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
168                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
169                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
170                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
171                                                         <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
172                                                         <outcome value='failure'>\r
173                                                             <return status='failure'>\r
174                                                                 <parameter name='ack-final' value='Y'/>\r
175                                                                 <parameter name="error-code" value="500" />\r
176                                                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
177                                                             </return>\r
178                                                         </outcome>\r
179                                                         <outcome value='success'>\r
180                                                             <block atomic="true">\r
181                                                                 <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
182                                                                     <block>\r
183                                                                         <set>\r
184                                                                             <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
185                                                                         </set>\r
186                                                                         <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
187                                                                     </block>\r
188                                                                 </for>\r
189                                                                 <switch test='`$topology.networks.network_length`'>\r
190                                                                     <outcome value='2'>\r
191                                                                         <switch test='`$topology.networks.network[0].network-types`'>\r
192                                                                             <outcome value='ethernet-topology'>\r
193                                                                                 <switch test='`$topology.networks.network[1].network-types`'>\r
194                                                                                     <outcome value='otn-topology'>\r
195                                                                                         <block>\r
196                                                                                             <set>\r
197                                                                                                 <parameter name='network-eth.' value='`$topology.networks.network[0].`' />\r
198                                                                                                 <parameter name='network-otn.' value='`$topology.networks.network[1].`' />\r
199                                                                                             </set>\r
200                                                                                             <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
201                                                                                         </block>\r
202                                                                                     </outcome>\r
203                                                                                     <outcome value='Other'>\r
204                                                                                         <return status='failure'>\r
205                                                                                             <parameter name='error-code' value='' />\r
206                                                                                             <parameter name='error-message' value='' />\r
207                                                                                         </return>\r
208                                                                                     </outcome>\r
209                                                                                 </switch>\r
210                                                                             </outcome>\r
211                                                                             <outcome value='otn-topology'>\r
212                                                                                 <switch test='`$topology.networks.network[1].network-types`'>\r
213                                                                                     <outcome value='ethernet-topology'>\r
214                                                                                         <block>\r
215                                                                                             <set>\r
216                                                                                                 <parameter name='network.eth' value='`$topology.networks.network[1].`' />\r
217                                                                                                 <parameter name='network.otn' value='`$topology.networks.network[0].`' />\r
218                                                                                             </set>\r
219                                                                                             <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
220                                                                                         </block>\r
221                                                                                     </outcome>\r
222                                                                                     <outcome value='Other'>\r
223                                                                                         <return status='failure'>\r
224                                                                                             <parameter name='error-code' value='' />\r
225                                                                                             <parameter name='error-message' value='' />\r
226                                                                                         </return>\r
227                                                                                     </outcome>\r
228                                                                                 </switch>\r
229                                                                             </outcome>\r
230                                                                         </switch>\r
231                                                                     </outcome>\r
232                                                                 </switch>\r
233                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
234                                                                               resource="network-resources"\r
235                                                                               pfx='tmp.aai.network-resources' local-only='false' >\r
236                                                                     <outcome value='success'>\r
237                                                                         <switch test='tmp.aai.network-resources_length'>\r
238                                                                             <outcome value='4'>\r
239                                                                                 <block atomic='true'>\r
240                                                                                     <for index='nridx' start='0' end='`$tmp.aai.network-resources.network-resource_length`' >\r
241                                                                                         <block>\r
242                                                                                             <set>\r
243                                                                                                 <parameter name='otnidx' value='0' />\r
244                                                                                             </set>\r
245                                                                                             <switch test='`$tmp.aai.network-resources.network-resource[$nridx].network-type`'>\r
246                                                                                                 <outcome value='otn-topology'>\r
247                                                                                                     <block>\r
248                                                                                                         <set>\r
249                                                                                                             <parameter name='network-resource-otn[$otnidx].' value='`$tmp.aai.network-resources.network-resource[$nridx].`' />\r
250                                                                                                         </set>\r
251                                                                                                         <set>\r
252                                                                                                             <parameter name='otnidx' value='`$otnidx + 1`' />\r
253                                                                                                         </set>\r
254                                                                                                     </block>\r
255                                                                                                 </outcome>\r
256                                                                                             </switch>\r
257                                                                                         </block>\r
258                                                                                     </for>\r
259                                                                                     <call module='DataChange' rpc='update-open-ended-links' mode='sync' ></call>\r
260                                                                                 </block>\r
261                                                                             </outcome>\r
262                                                                         </switch>\r
263                                                                     </outcome>\r
264                                                                     <outcome value='not-found'>\r
265                                                                         <return status='failure'>\r
266                                                                             <parameter name='error-code' value='' />\r
267                                                                             <parameter name='error-message' value='' />\r
268                                                                         </return>\r
269                                                                     </outcome>\r
270                                                                     <outcome value='Other'>\r
271                                                                         <return status='failure'>\r
272                                                                             <parameter name='error-code' value='' />\r
273                                                                             <parameter name='error-message' value='' />\r
274                                                                         </return>\r
275                                                                     </outcome>\r
276                                                                 </get-resource>\r
277                                                             </block>\r
278                                                         </outcome>\r
279                                                     </execute>\r
280                                                 </outcome>\r
281                                             </switch>\r
282                                             <set>\r
283                                                 <parameter name='input' value='ietf-subscribed-notifications:establish-subscription.input.' />\r
284                                                 <parameter name="`$input + 'encoding'`" value="encode-json" />\r
285                                             </set>\r
286                                             <execute plugin='org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode' method='establishSubscription' >\r
287                                                 <parameter name="subscriberId" value="sotn-controller" />\r
288                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`" />\r
289                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
290                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
291                                                 <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`" />\r
292                                                 <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification" />\r
293                                                 <parameter name="format" value="json" />\r
294                                                 <parameter name="httpMethod" value="post" />\r
295                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
296                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
297                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
298                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
299                                                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
300                                                 <parameter name="module" value="DataChange" />\r
301                                                 <parameter name="rpc" value="sotn-notification-handler" />\r
302                                                 <parameter name="mode" value="sync" />\r
303                                             </execute>\r
304                                         </block>\r
305                                     </outcome>\r
306                                     <outcome value='TAPI'>\r
307                                         <block atomic="true">\r
308                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
309                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/tapi/v2/topologies?topology-id-or-name=otn'`"/>\r
310                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
311                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
312                                                 <parameter name="format" value="json"/>\r
313                                                 <parameter name="httpMethod" value="get"/>\r
314                                                 <parameter name="responsePrefix" value="topologies"/>\r
315                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
316                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
317                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
318                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
319                                                 <outcome value='failure'>\r
320                                                     <return status='failure'>\r
321                                                         <parameter name='ack-final' value='Y'/>\r
322                                                         <parameter name="error-code" value="500" />\r
323                                                         <parameter name="error-message" value="Error executing get topology TAPI rest api" />\r
324                                                     </return>\r
325                                                 </outcome>\r
326                                                 <outcome value='success'>\r
327                                                     <block atomic="true">\r
328                                                         <for index='tidx' start='0' end="`$topologies.topology_length`" >\r
329                                                             <block>\r
330                                                                 <set>\r
331                                                                     <parameter name='topology.' value='`$topologies.topology[$tidx].`' />\r
332                                                                 </set>\r
333                                                                 <call module='DataChange' rpc='tapi-update-network-to-aai' mode='sync' ></call>\r
334                                                             </block>\r
335                                                         </for>\r
336                                                     </block>\r
337                                                 </outcome>\r
338                                             </execute>\r
339                                         </block>\r
340                                     </outcome>\r
341                                     <outcome value='MSA'>\r
342                                         <block atomic="true">\r
343                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
344                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/otn-topology'`"/>\r
345                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
346                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
347                                                 <parameter name="format" value="json"/>\r
348                                                 <parameter name="httpMethod" value="get"/>\r
349                                                 <parameter name="responsePrefix" value="networks"/>\r
350                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
351                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
352                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
353                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
354                                                 <outcome value='failure'>\r
355                                                     <return status='failure'>\r
356                                                         <parameter name='ack-final' value='Y'/>\r
357                                                         <parameter name="error-code" value="500" />\r
358                                                         <parameter name="error-message" value="Error executing get topology MSA rest api" />\r
359                                                     </return>\r
360                                                 </outcome>\r
361                                                 <outcome value='success'>\r
362                                                     <block atomic="true">\r
363                                                         <call module='DataChange' rpc='msa-update-network-to-aai' mode='sync' ></call>\r
364                                                     </block>\r
365                                                 </outcome>\r
366                                             </execute>\r
367                                         </block>\r
368                                     </outcome>\r
369                                     <outcome value='Other'>\r
370                                         <return status='failure'>\r
371                                             <parameter name='ack-final' value='Y'/>\r
372                                             <parameter name="error-code" value="500" />\r
373                                             <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`" />\r
374                                         </return>\r
375                                     </outcome>\r
376                                 </switch>\r
377                             </block>\r
378                         </outcome>\r
379                         <outcome value='delete'>\r
380                             <block atomic="true"></block>\r
381                         </outcome>\r
382                     </switch>\r
383                 </outcome>\r
384                 <outcome value='true'>\r
385                     <call module='DataChange' rpc='esr-thirdparty-sdnc-of-zte' mode='sync' ></call>\r
386                 </outcome>\r
387             </switch>\r
388         </block>\r
389     </method>\r
390 </service-logic>