1 <service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="DataChange" version="${project.version}">
\r
2 <method rpc="esr-thirdparty-sdnc-discovery" mode="sync">
\r
3 <block atomic="true">
\r
4 <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`">
\r
5 <outcome value="false">
\r
6 <switch test="`$data-change-notification-input.aai-event-trigger`">
\r
7 <outcome value="Update">
\r
9 <switch test="`$prop.sdncRestApi.type`">
\r
10 <outcome value="SOTN">
\r
11 <block atomic="true">
\r
12 <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties">
\r
13 <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>
\r
14 <parameter name="contextPrefix" value="prop"/>
\r
16 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r
17 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`"/>
\r
18 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`"/>
\r
19 <parameter name="format" value="json"/>
\r
20 <parameter name="httpMethod" value="post"/>
\r
21 <parameter name="responsePrefix" value="token-result"/>
\r
22 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
\r
23 <parameter name="trustStorePassword" value="adminadmin"/>
\r
24 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
25 <parameter name="keyStorePassword" value="adminadmin"/>
\r
26 <outcome value="success">
\r
28 <parameter name="prop.sdncRestApi.token_id" value="`$token-result.data.token_id`"/>
\r
31 <outcome value="failure">
\r
35 <switch test="`$prop.sdncRestApi.token_id`">
\r
37 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r
38 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`"/>
\r
39 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
\r
40 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
\r
41 <parameter name="format" value="json"/>
\r
42 <parameter name="httpMethod" value="get"/>
\r
43 <parameter name="responsePrefix" value="topology"/>
\r
44 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
\r
45 <parameter name="trustStorePassword" value="adminadmin"/>
\r
46 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
47 <parameter name="keyStorePassword" value="adminadmin"/>
\r
48 <outcome value="failure">
\r
49 <return status="failure">
\r
50 <parameter name="ack-final" value="Y"/>
\r
51 <parameter name="error-code" value="500"/>
\r
52 <parameter name="error-message" value="Error executing Create vpn rest api"/>
\r
55 <outcome value="success">
\r
56 <block atomic="true">
\r
57 <for index="nidx" start="0" end="`$topology.networks.network_length`">
\r
60 <parameter name="network." value="`$topology.networks.network[$nidx].`"/>
\r
62 <call module="DataChange" rpc="update-network-to-aai" mode="sync"/>
\r
65 <switch test="`$topology.networks.network_length >= 2`">
\r
66 <outcome value="true">
\r
67 <block atomic="true">
\r
68 <for index="netidx" start="0" end="`$topology.networks.network_length`">
\r
71 <parameter name="network." value=""/>
\r
74 <parameter name="network." value="`$topology.networks.network[$netidx].`"/>
\r
76 <switch test="`$network.te-topology-id`">
\r
77 <outcome value="11">
\r
80 <parameter name="network-otn." value="`$topology.networks.network[$netidx].`"/>
\r
84 <outcome value="33">
\r
87 <parameter name="network-eth." value="`$topology.networks.network[$netidx].`"/>
\r
94 <call module="DataChange" rpc="update-tp-ttp-relationship" mode="sync"/>
\r
102 <outcome value="Other">
\r
103 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r
104 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`"/>
\r
105 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
\r
106 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
\r
107 <parameter name="format" value="json"/>
\r
108 <parameter name="httpMethod" value="get"/>
\r
109 <parameter name="responsePrefix" value="topology"/>
\r
110 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
\r
111 <parameter name="trustStorePassword" value="adminadmin"/>
\r
112 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
113 <parameter name="keyStorePassword" value="adminadmin"/>
\r
114 <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
\r
115 <outcome value="failure">
\r
116 <return status="failure">
\r
117 <parameter name="ack-final" value="Y"/>
\r
118 <parameter name="error-code" value="500"/>
\r
119 <parameter name="error-message" value="Error executing Create vpn rest api"/>
\r
122 <outcome value="success">
\r
123 <block atomic="true">
\r
124 <for index="nidx" start="0" end="`$topology.networks.network_length`">
\r
127 <parameter name="network." value="`$topology.networks.network[$nidx].`"/>
\r
129 <call module="DataChange" rpc="update-network-to-aai" mode="sync"/>
\r
132 <switch test="`$topology.networks.network_length >= 2`">
\r
133 <outcome value="true">
\r
134 <block atomic="true">
\r
135 <for index="netidx" start="0" end="`$topology.networks.network_length`">
\r
138 <parameter name="network." value=""/>
\r
141 <parameter name="network." value="`$topology.networks.network[$netidx].`"/>
\r
143 <switch test="`$network.te-topology-id`">
\r
144 <outcome value="11">
\r
147 <parameter name="network-otn." value="`$topology.networks.network[$netidx].`"/>
\r
151 <outcome value="33">
\r
154 <parameter name="network-eth." value="`$topology.networks.network[$netidx].`"/>
\r
161 <call module="DataChange" rpc="update-tp-ttp-relationship" mode="sync"/>
\r
171 <parameter name="input" value="ietf-subscribed-notifications:establish-subscription.input."/>
\r
172 <parameter name="`$input + 'encoding'`" value="encode-json"/>
\r
174 <execute plugin="org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode" method="establishSubscription">
\r
175 <parameter name="subscriberId" value="sotn-controller"/>
\r
176 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`"/>
\r
177 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
\r
178 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
\r
179 <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`"/>
\r
180 <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification"/>
\r
181 <parameter name="format" value="json"/>
\r
182 <parameter name="httpMethod" value="post"/>
\r
183 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
\r
184 <parameter name="trustStorePassword" value="adminadmin"/>
\r
185 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
186 <parameter name="keyStorePassword" value="adminadmin"/>
\r
187 <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
\r
188 <parameter name="module" value="DataChange"/>
\r
189 <parameter name="rpc" value="sotn-notification-handler"/>
\r
190 <parameter name="mode" value="sync"/>
\r
194 <outcome value="TAPI">
\r
195 <block atomic="true">
\r
196 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r
197 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/tapi/v2/topologies?topology-id-or-name=otn'`"/>
\r
198 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
\r
199 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
\r
200 <parameter name="format" value="json"/>
\r
201 <parameter name="httpMethod" value="get"/>
\r
202 <parameter name="responsePrefix" value="topologies"/>
\r
203 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>
\r
204 <parameter name="trustStorePassword" value="adminadmin"/>
\r
205 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
206 <parameter name="keyStorePassword" value="adminadmin"/>
\r
207 <outcome value="failure">
\r
208 <return status="failure">
\r
209 <parameter name="ack-final" value="Y"/>
\r
210 <parameter name="error-code" value="500"/>
\r
211 <parameter name="error-message" value="Error executing get topology TAPI rest api"/>
\r
214 <outcome value="success">
\r
215 <block atomic="true">
\r
216 <for index="tidx" start="0" end="`$topologies.topology_length`">
\r
219 <parameter name="topology." value="`$topologies.topology[$tidx].`"/>
\r
221 <call module="DataChange" rpc="tapi-update-network-to-aai" mode="sync"/>
\r
229 <outcome value="MSA">
\r
230 <block atomic="true">
\r
231 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r
232 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/cxf/openroadm/v2/networks/otn-topology'`"/>
\r
233 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>
\r
234 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>
\r
235 <parameter name="format" value="json"/>
\r
236 <parameter name="httpMethod" value="get"/>
\r
237 <parameter name="responsePrefix" value="networks"/>
\r
238 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>
\r
239 <parameter name="trustStorePassword" value="adminadmin"/>
\r
240 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
241 <parameter name="keyStorePassword" value="adminadmin"/>
\r
242 <outcome value="failure">
\r
243 <return status="failure">
\r
244 <parameter name="ack-final" value="Y"/>
\r
245 <parameter name="error-code" value="500"/>
\r
246 <parameter name="error-message" value="Error executing get topology MSA rest api"/>
\r
249 <outcome value="success">
\r
250 <block atomic="true">
\r
251 <call module="DataChange" rpc="msa-update-network-to-aai" mode="sync"/>
\r
257 <outcome value="Other">
\r
258 <return status="failure">
\r
259 <parameter name="ack-final" value="Y"/>
\r
260 <parameter name="error-code" value="500"/>
\r
261 <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`"/>
\r
267 <outcome value="Delete">
\r
268 <block atomic="true">
\r
269 <switch test="`$prop.sdncRestApi.type`">
\r
270 <outcome value="MSA">
\r
271 <block atomic="true">
\r
273 <parameter name="controllerid" value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`"/>
\r
275 <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT controller_id from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid" pfx="dbcontrollerid">
\r
276 <outcome value="success">
\r
277 <delete plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="DELETE FROM TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid"/>
\r
279 <outcome value="failure">
\r
280 <return status="failure">
\r
281 <parameter name="ack-final" value="Y"/>
\r
282 <parameter name="error-code" value="500"/>
\r
283 <parameter name="error-message" value="Failure in getting controller-id from DB"/>
\r
286 <outcome value="not-found">
\r
287 <return status="failure">
\r
288 <parameter name="ack-final" value="Y"/>
\r
289 <parameter name="error-code" value="500"/>
\r
290 <parameter name="error-message" value="controller-id could not be found in DB"/>
\r
296 <outcome value="TAPI">
\r
299 <parameter name="controllerid" value="`$prop.sdncRestApi.type + '_' + $prop.sdncRestApi.thirdpartySdnc.url + '_' + $prop.sdncRestApi.thirdpartySdnc.id`"/>
\r
301 <get-resource plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="SELECT controller_id from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid" pfx="dbcontrollerid">
\r
302 <outcome value="success">
\r
303 <delete plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="DELETE FROM TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE WHERE controller_id = $controllerid"/>
\r
305 <outcome value="failure">
\r
306 <return status="failure">
\r
307 <parameter name="ack-final" value="Y"/>
\r
308 <parameter name="error-code" value="500"/>
\r
309 <parameter name="error-message" value="Failure in getting controller-id from DB"/>
\r
312 <outcome value="not-found">
\r
313 <return status="failure">
\r
314 <parameter name="ack-final" value="Y"/>
\r
315 <parameter name="error-code" value="500"/>
\r
316 <parameter name="error-message" value="controller-id could not be found in DB"/>
\r
322 <outcome value="Other">
\r
323 <return status="failure">
\r
324 <parameter name="ack-final" value="Y"/>
\r
325 <parameter name="error-code" value="500"/>
\r
326 <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`"/>
\r
334 <outcome value="true">
\r
335 <call module="DataChange" rpc="esr-thirdparty-sdnc-of-zte" mode="sync"/>
\r