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='optical-service' version='${project.version}'>
\r
4 <method rpc='service-create-tapi' mode='sync'>
\r
5 <block atomic="true">
\r
6 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
7 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
8 <parameter name="level" value="info" />
\r
9 <parameter name="field1" value="Inside optical service create tapi"/>
\r
11 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
\r
12 <parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />
\r
13 <parameter name='contextPrefix' value='prop' />
\r
15 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
17 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE
\r
18 WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id'
\r
20 <outcome value='success'>
\r
22 <parameter name='aend-node-uuid' value='`$db-aend.pnf-name`' />
\r
23 <parameter name='aend-pnf-name' value='`$db-aend.pnf-id`' />
\r
24 <parameter name='aend-cep-list' value='`$db-aend.connection-point`' />
\r
25 <parameter name='aend-nep' value='`$db-aend.interface-name`' />
\r
26 <parameter name='aend-rate' value='`$db-aend.rate`' />
\r
30 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
32 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE
\r
33 WHERE interface_name = $optical-service-create-input.payload.service-zend.port-id'
\r
35 <outcome value='success'>
\r
37 <parameter name='zend-node-uuid' value='`$db-zend.pnf-name`' />
\r
38 <parameter name='zend-pnf-name' value='`$db-zend.pnf-id`' />
\r
39 <parameter name='zend-cep-list' value='`$db-zend.connection-point`' />
\r
40 <parameter name='zend-nep' value='`$db-zend.interface-name`' />
\r
41 <parameter name='zend-rate' value='`$db-zend.rate`' />
\r
45 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
46 resource="p-interface"
\r
47 key="pnf.pnf-name = $aend-node-uuid AND
\r
48 p-interface.interface-name = $aend-nep"
\r
49 pfx='aend' local-only='false'></get-resource>
\r
50 <switch test='`$aend.network-interface-type`'>
\r
51 <outcome value='UNI'>
\r
52 <block atomic='true'>
\r
54 <parameter name='aend-cep' value='`$aend-cep-list`' />
\r
55 <parameter name='aend-new' value='' />
\r
56 <parameter name='aend-new-rate' value='0' />
\r
58 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
59 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
60 <parameter name="level" value="info" />
\r
61 <parameter name="field1" value="Aend uni"/>
\r
63 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
64 <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $aend-cep`" />
\r
65 <parameter name="restapiUser" value="admin"/>
\r
66 <parameter name="restapiPassword" value="admin"/>
\r
67 <parameter name="httpMethod" value="GET"/>
\r
68 <parameter name="responsePrefix" value="aend-cep-response"/>
\r
69 <parameter name='contentType' value='application/json' />
\r
70 <parameter name='format' value='json' />
\r
71 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>
\r
72 <parameter name="trustStorePassword" value="adminadmin"/>
\r
73 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
74 <parameter name="keyStorePassword" value="adminadmin"/>
\r
75 <outcome value='failure'>
\r
76 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
77 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
78 <parameter name="level" value="info" />
\r
79 <parameter name="field1" value="Failed to get Aend cep details"/>
\r
82 <outcome value='success'>
\r
83 <block atomic="true">
\r
85 <parameter name='aend-local-id' value="`'/OTN/' + $aend-pnf-name + '/' + $aend-cep-response.sip[0].name[2].value + ':' + $aend-cep-response.sip[0].name[1].value`" />
\r
92 <outcome value='Other'>
\r
93 <block atomic='true'>
\r
95 <parameter name='aend-new' value='' />
\r
96 <parameter name='aend-local-id' value='' />
\r
98 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
\r
99 <parameter name="original_string" value='`$aend-cep-list`'/>
\r
100 <parameter name="regex" value=","/>
\r
101 <parameter name="ctx_memory_result_key" value="param-prefix"/>
\r
103 <for index='idx' start='0' end='`$param-prefix_length`' >
\r
104 <block atomic="true">
\r
105 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
106 <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $param-prefix[$idx]`" />
\r
107 <parameter name="restapiUser" value="admin"/>
\r
108 <parameter name="restapiPassword" value="admin"/>
\r
109 <parameter name="httpMethod" value="GET"/>
\r
110 <parameter name="responsePrefix" value="aend-cep-response"/>
\r
111 <parameter name='contentType' value='application/json' />
\r
112 <parameter name='format' value='json' />
\r
113 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>
\r
114 <parameter name="trustStorePassword" value="adminadmin"/>
\r
115 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
116 <parameter name="keyStorePassword" value="adminadmin"/>
\r
117 <outcome value='failure'>
\r
118 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
119 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
120 <parameter name="level" value="info" />
\r
121 <parameter name="field1" value="Failed to get Aend cep details"/>
\r
124 <outcome value='success'>
\r
125 <block atomic="true">
\r
126 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
127 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
128 <parameter name="level" value="info" />
\r
129 <parameter name="field1" value="Sucessfully retrieved aend cep"/>
\r
131 <switch test='`$aend-cep-response.sip[0].name[2].value == $optical-service-create-input.payload.service-rate`'>
\r
132 <outcome value='true'>
\r
133 <block atomic='true'>
\r
135 <parameter name='aend-local-id' value="`$aend-local-id + '/OTN/' + $aend-pnf-name + '/' + $aend-cep-response.sip[0].name[2].value + ':' + $aend-cep-response.sip[0].name[1].value`" />
\r
136 <parameter name='aend-cep' value='`$param-prefix[$idx]`'/>
\r
141 <outcome value='false'>
\r
142 <return status='failure'>
\r
143 <parameter name='error-code' value='500' />
\r
144 <parameter name='error-message' value='No service interface points could be found for A end ' />
\r
145 <parameter name='ack-final-indicator' value="Y" />
\r
154 <switch test='`$param-prefix_length == 1`'>
\r
155 <outcome value='true'>
\r
157 <parameter name='zend-new' value="`$zend-new`" />
\r
160 <outcome value='false'>
\r
161 <for index='idy' start='0' end='`$param-prefix_length`' >
\r
162 <switch test='`$idy`'>
\r
163 <outcome value='`$param-prefix_length - 1`'>
\r
165 <parameter name='aend-new' value="`$aend-new + $param-prefix[$idy]`" />
\r
168 <outcome value='Other'>
\r
170 <parameter name='aend-new' value="`$aend-new + $param-prefix[$idy] + ','`" />
\r
173 <outcome value='`$idx`'>
\r
175 <parameter name='aend-new' value='`$aend-new`' />
\r
185 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
186 resource="p-interface"
\r
187 key="pnf.pnf-name = $zend-node-uuid AND
\r
188 p-interface.interface-name = $zend-nep"
\r
189 pfx='zend' local-only='false'></get-resource>
\r
190 <switch test='`$zend.network-interface-type`'>
\r
191 <outcome value='UNI'>
\r
192 <block atomic='true'>
\r
194 <parameter name='zend-cep' value='`$zend-cep-list`' />
\r
195 <parameter name='zend-new' value='' />
\r
196 <parameter name='zend-new-rate' value='0' />
\r
198 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
199 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
200 <parameter name="level" value="info" />
\r
201 <parameter name="field1" value="Zend uni"/>
\r
203 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
204 <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $zend-cep`" />
\r
205 <parameter name="restapiUser" value="admin"/>
\r
206 <parameter name="restapiPassword" value="admin"/>
\r
207 <parameter name="httpMethod" value="GET"/>
\r
208 <parameter name="responsePrefix" value="zend-cep-response"/>
\r
209 <parameter name='contentType' value='application/json' />
\r
210 <parameter name='format' value='json' />
\r
211 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>
\r
212 <parameter name="trustStorePassword" value="adminadmin"/>
\r
213 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
214 <parameter name="keyStorePassword" value="adminadmin"/>
\r
215 <outcome value='failure'>
\r
216 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
217 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
218 <parameter name="level" value="info" />
\r
219 <parameter name="field1" value="Failed to get Aend cep details"/>
\r
222 <outcome value='success'>
\r
223 <block atomic="true">
\r
225 <parameter name='zend-local-id' value="`'/OTN/' + $zend-pnf-name + '/' + $zend-cep-response.sip[0].name[2].value + ':' + $zend-cep-response.sip[0].name[1].value`" />
\r
232 <outcome value='Other'>
\r
233 <block atomic='true'>
\r
235 <parameter name='zend-new' value='' />
\r
236 <parameter name='zend-local-id' value='' />
\r
238 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
\r
239 <parameter name="original_string" value='`$zend-cep-list`'/>
\r
240 <parameter name="regex" value=","/>
\r
241 <parameter name="ctx_memory_result_key" value="param-prefix1"/>
\r
243 <for index='idk' start='0' end='`$param-prefix1_length`' >
\r
244 <block atomic="true">
\r
245 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
246 <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $param-prefix1[$idk]`" />
\r
247 <parameter name="restapiUser" value="admin"/>
\r
248 <parameter name="restapiPassword" value="admin"/>
\r
249 <parameter name="httpMethod" value="GET"/>
\r
250 <parameter name="responsePrefix" value="zend-cep-response"/>
\r
251 <parameter name='contentType' value='application/json' />
\r
252 <parameter name='format' value='json' />
\r
253 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>
\r
254 <parameter name="trustStorePassword" value="adminadmin"/>
\r
255 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
256 <parameter name="keyStorePassword" value="adminadmin"/>
\r
257 <outcome value='failure'>
\r
258 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
259 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
260 <parameter name="level" value="info" />
\r
261 <parameter name="field1" value="Failed to get zend cep details"/>
\r
264 <outcome value='success'>
\r
265 <block atomic="true">
\r
266 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
267 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
268 <parameter name="level" value="info" />
\r
269 <parameter name="field1" value="Sucessfully retrieved zend cep"/>
\r
271 <switch test='`$zend-cep-response.sip[0].name[2].value == $optical-service-create-input.payload.service-rate`'>
\r
272 <outcome value='true'>
\r
275 <parameter name='zend-local-id' value="`$zend-local-id + '/OTN/' + $zend-pnf-name + '/' + $zend-cep-response.sip[0].name[2].value + ':' + $zend-cep-response.sip[0].name[1].value`" />
\r
276 <parameter name='zend-cep' value='`$param-prefix1[$idk]`'/>
\r
281 <outcome value='false'>
\r
282 <return status='failure'>
\r
283 <parameter name='error-code' value='500' />
\r
284 <parameter name='error-message' value='No service interface points could be found for Z end ' />
\r
285 <parameter name='ack-final-indicator' value="Y" />
\r
294 <switch test='`$param-prefix1_length == 1`'>
\r
295 <outcome value='true'>
\r
297 <parameter name='zend-new' value="`$zend-new`" />
\r
300 <outcome value='false'>
\r
301 <for index='idl' start='0' end='`$param-prefix1_length`' >
\r
302 <switch test='`$idl`'>
\r
303 <outcome value='`$param-prefix1_length - 1`'>
\r
305 <parameter name='zend-new' value="`$zend-new + $param-prefix1[$idl]`" />
\r
308 <outcome value='Other'>
\r
310 <parameter name='zend-new' value="`$zend-new + $param-prefix1[$idl] + ','`" />
\r
313 <outcome value='`$idk`'>
\r
315 <parameter name='zend-new' value='`$zend-new`' />
\r
326 <parameter name='service-name' value="`$optical-service-create-input.payload.service-name`" />
\r
327 <parameter name='svc-action' value="CREATE" />
\r
329 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
330 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />
\r
331 <parameter name="level" value="info" />
\r
332 <parameter name="field1" value="A end local-id"/>
\r
333 <parameter name="field2" value="`$aend-local-id`"/>
\r
334 <parameter name="field3" value="Z end local-id"/>
\r
335 <parameter name="field4" value="`$zend-local-id`"/>
\r
336 <parameter name="field5" value="Service name"/>
\r
337 <parameter name="field6" value="`$service-name`"/>
\r
339 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
340 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/optical-service-create-tapi.json'`" />
\r
341 <parameter name="restapiUrl" value="`$controller-ip + '/cxf/tapi/v2/connectivities/tapi-services'`"/>
\r
342 <parameter name="restapiUser" value="admin"/>
\r
343 <parameter name="restapiPassword" value="admin"/>
\r
344 <parameter name="httpMethod" value="POST"/>
\r
345 <parameter name="responsePrefix" value="tapi-service-response"/>
\r
346 <parameter name='contentType' value='application/json' />
\r
347 <parameter name='format' value='json' />
\r
348 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>
\r
349 <parameter name="trustStorePassword" value="adminadmin"/>
\r
350 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
\r
351 <parameter name="keyStorePassword" value="adminadmin"/>
\r
352 <outcome value='failure'>
\r
353 <block atomic='true'>
\r
354 <return status='failure'>
\r
355 <parameter name='error-code' value='500' />
\r
356 <parameter name='error-message' value="`'Service creation failed for'+ ':' + $optical-service-create-input.payload.service-name`" />
\r
357 <parameter name='ack-final-indicator' value="Y" />
\r
361 <outcome value='success'>
\r
362 <block atomic='true'>
\r
363 <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url) VALUES ( $optical-service-create-input.request-id , $controller-id , 'CREATED' , $optical-service-create-input.payload.service-rate , $optical-service-create-input.service-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , null );"></save>
\r
364 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
366 key='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET connection_point = $aend-new WHERE interface_name = $aend-nep'
\r
367 force='true' pfx='save-result'></save>
\r
368 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
370 key='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET connection_point = $zend-new WHERE interface_name = $zend-nep'
\r
371 force='true' pfx='save-result'></save>
\r
372 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'
\r
373 key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND
\r
374 service-subscription.service-type = $optical-service-create-input.service-type AND
\r
375 service-instance.service-instance-id = $optical-service-create-input.service-id' >
\r
376 <parameter name='service-instance-id' value='`$optical-service-create-input.service-id`' />
\r
377 <parameter name='service-instance-name' value='`$optical-service-create-input.payload.service-name`' />
\r
378 <parameter name='service-type' value='Domain-Service' />
\r
379 <parameter name='orchestration-status' value='CREATED' />
\r
380 <parameter name='service-rate' value='`$optical-service-create-input.payload.service-rate`' />
\r
381 <parameter name='service-layer' value='ODU' />
\r
383 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'
\r
384 key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND
\r
385 service-subscription.service-type = $optical-service-create-input.service-type AND
\r
386 service-instance.service-instance-id = $optical-service-create-input.service-id' force="true" pfx="tmp.AnAI-data">
\r
387 <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />
\r
388 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $aend-node-uuid + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-aend.port-id `" />
\r
389 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />
\r
390 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$aend-node-uuid`" />
\r
391 <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />
\r
392 <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $zend-node-uuid + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-zend.port-id `" />
\r
393 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="pnf.pnf-name" />
\r
394 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$zend-node-uuid`" />
\r
397 <parameter name='final-response-code' value="200" />
\r