110c9f617640848f3773734b16956da821c89bee
[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                                                             </block>\r
68                                                         </outcome>\r
69                                                     </execute>\r
70                                                 </outcome>\r
71                                                 <outcome value='Other'>\r
72                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
73                                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
74                                                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
75                                                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
76                                                         <parameter name="format" value="json"/>\r
77                                                         <parameter name="httpMethod" value="get"/>\r
78                                                         <parameter name="responsePrefix" value="topology"/>\r
79                                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
80                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
81                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
82                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
83                                                         <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
84                                                         <outcome value='failure'>\r
85                                                             <return status='failure'>\r
86                                                                 <parameter name='ack-final' value='Y'/>\r
87                                                                 <parameter name="error-code" value="500" />\r
88                                                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
89                                                             </return>\r
90                                                         </outcome>\r
91                                                         <outcome value='success'>\r
92                                                             <block atomic="true">\r
93                                                                 <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
94                                                                     <block>\r
95                                                                         <set>\r
96                                                                             <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
97                                                                         </set>\r
98                                                                         <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
99                                                                     </block>\r
100                                                                 </for>\r
101                                                             </block>\r
102                                                         </outcome>\r
103                                                     </execute>\r
104                                                 </outcome>\r
105                                             </switch>\r
106                                             <set>\r
107                                                 <parameter name='input' value='ietf-subscribed-notifications:establish-subscription.input.' />\r
108                                                 <parameter name="`$input + 'encoding'`" value="encode-json" />\r
109                                             </set>\r
110                                             <execute plugin='org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode' method='establishSubscription' >\r
111                                                 <parameter name="subscriberId" value="sotn-controller" />\r
112                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`" />\r
113                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
114                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
115                                                 <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`" />\r
116                                                 <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification" />\r
117                                                 <parameter name="format" value="json" />\r
118                                                 <parameter name="httpMethod" value="post" />\r
119                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
120                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
121                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
122                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
123                                                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
124                                                 <parameter name="module" value="DataChange" />\r
125                                                 <parameter name="rpc" value="sotn-notification-handler" />\r
126                                                 <parameter name="mode" value="sync" />\r
127                                             </execute>\r
128                                         </block>\r
129                                     </outcome>\r
130                                     <outcome value='TAPI'>\r
131                                         <block atomic="true">\r
132                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
133                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/tapi/v2/topologies?topology-id-or-name=otn'`"/>\r
134                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
135                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
136                                                 <parameter name="format" value="json"/>\r
137                                                 <parameter name="httpMethod" value="get"/>\r
138                                                 <parameter name="responsePrefix" value="topologies"/>\r
139                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
140                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
141                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
142                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
143                                                 <outcome value='failure'>\r
144                                                     <return status='failure'>\r
145                                                         <parameter name='ack-final' value='Y'/>\r
146                                                         <parameter name="error-code" value="500" />\r
147                                                         <parameter name="error-message" value="Error executing get topology TAPI rest api" />\r
148                                                     </return>\r
149                                                 </outcome>\r
150                                                 <outcome value='success'>\r
151                                                     <block atomic="true">\r
152                                                         <for index='tidx' start='0' end="`$topologies.topology_length`" >\r
153                                                             <block>\r
154                                                                 <set>\r
155                                                                     <parameter name='topology.' value='`$topologies.topology[$tidx].`' />\r
156                                                                 </set>\r
157                                                                 <call module='DataChange' rpc='tapi-update-network-to-aai' mode='sync' ></call>\r
158                                                             </block>\r
159                                                         </for>\r
160                                                     </block>\r
161                                                 </outcome>\r
162                                             </execute>\r
163                                         </block>\r
164                                     </outcome>\r
165                                     <outcome value='MSA'>\r
166                                         <block atomic="true">\r
167                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
168                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/otn-topology'`"/>\r
169                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
170                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
171                                                 <parameter name="format" value="json"/>\r
172                                                 <parameter name="httpMethod" value="get"/>\r
173                                                 <parameter name="responsePrefix" value="networks"/>\r
174                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>\r
175                                                 <parameter name="trustStorePassword" value="adminadmin"/>\r
176                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
177                                                 <parameter name="keyStorePassword" value="adminadmin"/>\r
178                                                 <outcome value='failure'>\r
179                                                     <return status='failure'>\r
180                                                         <parameter name='ack-final' value='Y'/>\r
181                                                         <parameter name="error-code" value="500" />\r
182                                                         <parameter name="error-message" value="Error executing get topology MSA rest api" />\r
183                                                     </return>\r
184                                                 </outcome>\r
185                                                 <outcome value='success'>\r
186                                                     <block atomic="true">\r
187                                                         <call module='DataChange' rpc='msa-update-network-to-aai' mode='sync' ></call>\r
188                                                     </block>\r
189                                                 </outcome>\r
190                                             </execute>\r
191                                         </block>\r
192                                     </outcome>\r
193                                     <outcome value='Other'>\r
194                                         <return status='failure'>\r
195                                             <parameter name='ack-final' value='Y'/>\r
196                                             <parameter name="error-code" value="500" />\r
197                                             <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`" />\r
198                                         </return>\r
199                                     </outcome>\r
200                                 </switch>\r
201                             </block>\r
202                         </outcome>\r
203                         <outcome value='Delete'>\r
204                             <block atomic="true">\r
205                                 <switch test="`$prop.sdncRestApi.type`">\r
206                                     <outcome value='MSA'>\r
207                                         <block atomic='true'>\r
208                                             <set>\r
209                                                 <parameter name='controllerid' value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`" />\r
210                                             </set>\r
211                                             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
212 key='SELECT controller_id\r
213 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
214 WHERE controller_id = $controllerid'\r
215 pfx='dbcontrollerid'>\r
216                                                 <outcome value='success'>\r
217                                                     <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
218     resource="SQL"\r
219     key="DELETE FROM TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid"></delete>\r
220                                                 </outcome>\r
221                                                 <outcome value='failure'>\r
222                                                     <return status='failure'>\r
223                                                         <parameter name='ack-final' value='Y'/>\r
224                                                         <parameter name="error-code" value="500" />\r
225                                                         <parameter name="error-message" value="Failure in getting controller-id from DB" />\r
226                                                     </return>\r
227                                                 </outcome>\r
228                                                 <outcome value='not-found'>\r
229                                                     <return status='failure'>\r
230                                                         <parameter name='ack-final' value='Y'/>\r
231                                                         <parameter name="error-code" value="500" />\r
232                                                         <parameter name="error-message" value="controller-id could not be found in DB" />\r
233                                                     </return>\r
234                                                 </outcome>\r
235                                             </get-resource>\r
236                                         </block>\r
237                                     </outcome>\r
238                                     <outcome value='TAPI'>\r
239                                         <block>\r
240                                             <set>\r
241                                                 <parameter name='controllerid' value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`" />\r
242                                             </set>\r
243                                             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
244 key='SELECT controller_id\r
245 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
246 WHERE controller_id = $controllerid'\r
247 pfx='dbcontrollerid'>\r
248                                                 <outcome value='success'>\r
249                                                     <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
250     resource="SQL"\r
251     key="DELETE FROM TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid"></delete>\r
252                                                 </outcome>\r
253                                                 <outcome value='failure'>\r
254                                                     <return status='failure'>\r
255                                                         <parameter name='ack-final' value='Y'/>\r
256                                                         <parameter name="error-code" value="500" />\r
257                                                         <parameter name="error-message" value="Failure in getting controller-id from DB" />\r
258                                                     </return>\r
259                                                 </outcome>\r
260                                                 <outcome value='not-found'>\r
261                                                     <return status='failure'>\r
262                                                         <parameter name='ack-final' value='Y'/>\r
263                                                         <parameter name="error-code" value="500" />\r
264                                                         <parameter name="error-message" value="controller-id could not be found in DB" />\r
265                                                     </return>\r
266                                                 </outcome>\r
267                                             </get-resource>\r
268                                         </block>\r
269                                     </outcome>\r
270                                     <outcome value='Other'>\r
271                                         <return status='failure'>\r
272                                             <parameter name='ack-final' value='Y'/>\r
273                                             <parameter name="error-code" value="500" />\r
274                                             <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`" />\r
275                                         </return>\r
276                                     </outcome>\r
277                                 </switch>\r
278                             </block>\r
279                         </outcome>\r
280                     </switch>\r
281                 </outcome>\r
282                 <outcome value='true'>\r
283                     <call module='DataChange' rpc='esr-thirdparty-sdnc-of-zte' mode='sync' ></call>\r
284                 </outcome>\r
285             </switch>\r
286         </block>\r
287     </method>\r
288 </service-logic>