81e8bd2062ec664ad0f327f385b110c0ffdea463
[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 >= 2`'>\r
68                                                                     <outcome value='true'>\r
69                                                                         <for index='netidx' start='0' end='`$topology.networks.network_length`' >\r
70                                                                             <block>\r
71                                                                                 <set>\r
72                                                                                     <parameter name='network.' value='' />\r
73                                                                                 </set>\r
74                                                                                 <set>\r
75                                                                                     <parameter name='network.' value='`$topology.networks.network[$netidx].`' />\r
76                                                                                 </set>\r
77                                                                                 <switch test='`$network.te-topology-id`'>\r
78                                                                                     <outcome value='11'>\r
79                                                                                         <block>\r
80                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
81                                                                                                 <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
82                                                                                                 <parameter name="field1" value="__TIMESTAMP__" />\r
83                                                                                                 <parameter name="field2" value="networks_length" />\r
84                                                                                                 <parameter name="field3" value="`$topology.networks.network_length`" />\r
85                                                                                                 <parameter name="field4" value="network-type-is" />\r
86                                                                                                 <parameter name="field5" value="OTN" />\r
87                                                                                             </record>\r
88                                                                                             <set>\r
89                                                                                                 <parameter name='network-otn.' value='`$topology.networks.network[$netidx].`' />\r
90                                                                                             </set>\r
91                                                                                         </block>\r
92                                                                                     </outcome>\r
93                                                                                     <outcome value='33'>\r
94                                                                                         <block>\r
95                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
96                                                                                                 <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
97                                                                                                 <parameter name="field1" value="__TIMESTAMP__" />\r
98                                                                                                 <parameter name="field2" value="networks_length" />\r
99                                                                                                 <parameter name="field3" value="`$topology.networks.network_length`" />\r
100                                                                                                 <parameter name="field4" value="network-type-is" />\r
101                                                                                                 <parameter name="field5" value="ETH" />\r
102                                                                                             </record>\r
103                                                                                             <set>\r
104                                                                                                 <parameter name='network-eth.' value='`$topology.networks.network[$netidx].`' />\r
105                                                                                             </set>\r
106                                                                                         </block>\r
107                                                                                     </outcome>\r
108                                                                                 </switch>\r
109                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
110                                                                                     <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
111                                                                                     <parameter name="field6" value="network-otn-is" />\r
112                                                                                     <parameter name="field7" value="`$network-otn.te-topology-id`" />\r
113                                                                                     <parameter name="field8" value="network-eth-is" />\r
114                                                                                     <parameter name="field9" value="`$network-eth.te-topology-id`" />\r
115                                                                                 </record>\r
116                                                                                 <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
117                                                                             </block>\r
118                                                                         </for>\r
119                                                                     </outcome>\r
120                                                                     <outcome value='false'>\r
121                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
122                                                                             <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
123                                                                             <parameter name="field1" value="__TIMESTAMP__" />\r
124                                                                             <parameter name="field2" value="networks_length" />\r
125                                                                             <parameter name="field3" value="`$topology.networks.network_length`" />\r
126                                                                         </record>\r
127                                                                     </outcome>\r
128                                                                 </switch>\r
129                                                             </block>\r
130                                                         </outcome>\r
131                                                     </execute>\r
132                                                 </outcome>\r
133                                                 <outcome value='Other'>\r
134                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
135                                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
136                                                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
137                                                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
138                                                         <parameter name="format" value="json"/>\r
139                                                         <parameter name="httpMethod" value="get"/>\r
140                                                         <parameter name="responsePrefix" value="topology"/>\r
141                                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
142                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
143                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
144                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
145                                                         <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
146                                                         <outcome value='failure'>\r
147                                                             <return status='failure'>\r
148                                                                 <parameter name='ack-final' value='Y'/>\r
149                                                                 <parameter name="error-code" value="500" />\r
150                                                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
151                                                             </return>\r
152                                                         </outcome>\r
153                                                         <outcome value='success'>\r
154                                                             <block atomic="true">\r
155                                                                 <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
156                                                                     <block>\r
157                                                                         <set>\r
158                                                                             <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
159                                                                         </set>\r
160                                                                         <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
161                                                                     </block>\r
162                                                                 </for>\r
163                                                                 <switch test='`$topology.networks.network_length >= 2`'>\r
164                                                                     <outcome value='true'>\r
165                                                                         <for index='netidx' start='0' end='`$topology.networks.network_length`' >\r
166                                                                             <block>\r
167                                                                                 <set>\r
168                                                                                     <parameter name='network.' value='' />\r
169                                                                                 </set>\r
170                                                                                 <set>\r
171                                                                                     <parameter name='network.' value='`$topology.networks.network[$netidx].`' />\r
172                                                                                 </set>\r
173                                                                                 <switch test='`$network.te-topology-id`'>\r
174                                                                                     <outcome value='11'>\r
175                                                                                         <block>\r
176                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
177                                                                                                 <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
178                                                                                                 <parameter name="field1" value="__TIMESTAMP__" />\r
179                                                                                                 <parameter name="field2" value="networks_length" />\r
180                                                                                                 <parameter name="field3" value="`$topology.networks.network_length`" />\r
181                                                                                                 <parameter name="field4" value="network-type-is" />\r
182                                                                                                 <parameter name="field5" value="OTN" />\r
183                                                                                             </record>\r
184                                                                                             <set>\r
185                                                                                                 <parameter name='network-otn.' value='`$topology.networks.network[$netidx].`' />\r
186                                                                                             </set>\r
187                                                                                         </block>\r
188                                                                                     </outcome>\r
189                                                                                     <outcome value='33'>\r
190                                                                                         <block>\r
191                                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
192                                                                                                 <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
193                                                                                                 <parameter name="field1" value="__TIMESTAMP__" />\r
194                                                                                                 <parameter name="field2" value="networks_length" />\r
195                                                                                                 <parameter name="field3" value="`$topology.networks.network_length`" />\r
196                                                                                                 <parameter name="field4" value="network-type-is" />\r
197                                                                                                 <parameter name="field5" value="ETH" />\r
198                                                                                             </record>\r
199                                                                                             <set>\r
200                                                                                                 <parameter name='network-eth.' value='`$topology.networks.network[$netidx].`' />\r
201                                                                                             </set>\r
202                                                                                         </block>\r
203                                                                                     </outcome>\r
204                                                                                 </switch>\r
205                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
206                                                                                     <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
207                                                                                     <parameter name="field6" value="network-otn-is" />\r
208                                                                                     <parameter name="field7" value="`$network-otn.te-topology-id`" />\r
209                                                                                     <parameter name="field8" value="network-eth-is" />\r
210                                                                                     <parameter name="field9" value="`$network-eth.te-topology-id`" />\r
211                                                                                 </record>\r
212                                                                                 <call module='DataChange' rpc='update-tp-ttp-relationship' mode='sync' ></call>\r
213                                                                             </block>\r
214                                                                         </for>\r
215                                                                     </outcome>\r
216                                                                     <outcome value='false'>\r
217                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
218                                                                             <parameter name="file" value="/opt/onap/logSdncDiscovery.txt" />\r
219                                                                             <parameter name="field1" value="__TIMESTAMP__" />\r
220                                                                             <parameter name="field2" value="networks_length" />\r
221                                                                             <parameter name="field3" value="`$topology.networks.network_length`" />\r
222                                                                         </record>\r
223                                                                     </outcome>\r
224                                                                 </switch>\r
225                                                             </block>\r
226                                                         </outcome>\r
227                                                     </execute>\r
228                                                 </outcome>\r
229                                             </switch>\r
230                                             <set>\r
231                                                 <parameter name='input' value='ietf-subscribed-notifications:establish-subscription.input.' />\r
232                                                 <parameter name="`$input + 'encoding'`" value="encode-json" />\r
233                                             </set>\r
234                                             <execute plugin='org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode' method='establishSubscription' >\r
235                                                 <parameter name="subscriberId" value="sotn-controller" />\r
236                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`" />\r
237                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
238                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
239                                                 <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`" />\r
240                                                 <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification" />\r
241                                                 <parameter name="format" value="json" />\r
242                                                 <parameter name="httpMethod" value="post" />\r
243                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
244                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
245                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
246                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
247                                                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
248                                                 <parameter name="module" value="DataChange" />\r
249                                                 <parameter name="rpc" value="sotn-notification-handler" />\r
250                                                 <parameter name="mode" value="sync" />\r
251                                             </execute>\r
252                                         </block>\r
253                                     </outcome>\r
254                                     <outcome value='TAPI'>\r
255                                         <block atomic="true">\r
256                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
257                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/tapi/v2/topologies?topology-id-or-name=otn'`"/>\r
258                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
259                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
260                                                 <parameter name="format" value="json"/>\r
261                                                 <parameter name="httpMethod" value="get"/>\r
262                                                 <parameter name="responsePrefix" value="topologies"/>\r
263                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
264                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
265                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
266                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
267                                                 <outcome value='failure'>\r
268                                                     <return status='failure'>\r
269                                                         <parameter name='ack-final' value='Y'/>\r
270                                                         <parameter name="error-code" value="500" />\r
271                                                         <parameter name="error-message" value="Error executing get topology TAPI rest api" />\r
272                                                     </return>\r
273                                                 </outcome>\r
274                                                 <outcome value='success'>\r
275                                                     <block atomic="true">\r
276                                                         <for index='tidx' start='0' end="`$topologies.topology_length`" >\r
277                                                             <block>\r
278                                                                 <set>\r
279                                                                     <parameter name='topology.' value='`$topologies.topology[$tidx].`' />\r
280                                                                 </set>\r
281                                                                 <call module='DataChange' rpc='tapi-update-network-to-aai' mode='sync' ></call>\r
282                                                             </block>\r
283                                                         </for>\r
284                                                     </block>\r
285                                                 </outcome>\r
286                                             </execute>\r
287                                         </block>\r
288                                     </outcome>\r
289                                     <outcome value='MSA'>\r
290                                         <block atomic="true">\r
291                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
292                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/otn-topology'`"/>\r
293                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
294                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
295                                                 <parameter name="format" value="json"/>\r
296                                                 <parameter name="httpMethod" value="get"/>\r
297                                                 <parameter name="responsePrefix" value="networks"/>\r
298                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
299                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
300                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
301                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
302                                                 <outcome value='failure'>\r
303                                                     <return status='failure'>\r
304                                                         <parameter name='ack-final' value='Y'/>\r
305                                                         <parameter name="error-code" value="500" />\r
306                                                         <parameter name="error-message" value="Error executing get topology MSA rest api" />\r
307                                                     </return>\r
308                                                 </outcome>\r
309                                                 <outcome value='success'>\r
310                                                     <block atomic="true">\r
311                                                         <call module='DataChange' rpc='msa-update-network-to-aai' mode='sync' ></call>\r
312                                                     </block>\r
313                                                 </outcome>\r
314                                             </execute>\r
315                                         </block>\r
316                                     </outcome>\r
317                                     <outcome value='Other'>\r
318                                         <return status='failure'>\r
319                                             <parameter name='ack-final' value='Y'/>\r
320                                             <parameter name="error-code" value="500" />\r
321                                             <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`" />\r
322                                         </return>\r
323                                     </outcome>\r
324                                 </switch>\r
325                             </block>\r
326                         </outcome>\r
327                         <outcome value='delete'>\r
328                             <block atomic="true"></block>\r
329                         </outcome>\r
330                     </switch>\r
331                 </outcome>\r
332                 <outcome value='true'>\r
333                     <call module='DataChange' rpc='esr-thirdparty-sdnc-of-zte' mode='sync' ></call>\r
334                 </outcome>\r
335             </switch>\r
336         </block>\r
337     </method>\r
338 </service-logic>