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='GENERIC-RESOURCE-API' version='${project.version}'>
\r
4 <method rpc='getpathsegment-create-composite-path' mode='sync'>
\r
7 <parameter name='match-type' value='network-name' />
\r
9 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
10 key='SELECT * from PATH_SEGMENT WHERE service_uuid = $getpathsegment-topology-operation-input.service-information.onap-model-information.model-uuid
\r
11 AND path_name = $db.forwarding-path[$path-index].path-name ORDER BY path_segment_seq'
\r
12 pfx='db.path-segment[]'>
\r
13 <outcome value='failure'>
\r
16 <parameter name='error-message' value="`'System error reading PATH_SEGMENT table for uuid '
\r
17 + $getpathsegment-topology-operation-input.service-information.onap-model-information.model-uuid
\r
19 + $db.forwarding-path[$path-index].path-name`" />
\r
23 <outcome value='not-found'>
\r
26 <parameter name='error-message' value="`'No entries in PATH_SEGMENT table for uuid '
\r
27 + $getpathsegment-topology-operation-input.service-information.onap-model-information.model-uuid
\r
29 + $db.forwarding-path[$path-index].path-name`" />
\r
33 <outcome value='success'>
\r
36 <parameter name='serv-cust_length' value='0' />
\r
38 <for index='path-segment-index' start='0' end='`$db.path-segment_length`' >
\r
41 <parameter name='serv-cust[$serv-cust_length].id' value='`$db.path-segment[$path-segment-index].source-association-uuid`' />
\r
42 <parameter name='serv-cust_length' value='`$serv-cust_length + 1`' />
\r
44 <switch test='`$path-segment-index == ( $db.path-segment_length - 1) `'>
\r
45 <outcome value='true'>
\r
47 <parameter name='serv-cust[$serv-cust_length].id' value='`$db.path-segment[$path-segment-index].target-association-uuid`' />
\r
48 <parameter name='serv-cust_length' value='`$serv-cust_length + 1`' />
\r
54 <for index='serv-index' start='0' end='`$serv-cust_length`' >
\r
55 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
56 key='select sm.invariant_uuid
\r
57 from SERVICE_PROXY sp, SERVICE_MODEL sm
\r
58 where sp.source_service_uuid = sm.service_uuid
\r
59 and sp.customization_uuid = $serv-cust[$serv-index].id'
\r
61 <outcome value='failure'>
\r
63 <parameter name='error-message' value="`'Failure reading SERVICE_PROXY and SERVICE_MODEL for customization uuid ' + $serv-cust[$serv-index].id`" />
\r
66 <outcome value='not-found'>
\r
68 <parameter name='error-message' value="`'Cannot find entries in SERVICE_PROXY and SERVICE_MODEL for customization uuid ' + $serv-cust[$serv-index].id`" />
\r
71 <outcome value='success'>
\r
73 <parameter name='serv-cust[$serv-index].inv-id' value='`$db.invariant-uuid`' />
\r
78 <for index='serv-index' start='0' end='`$serv-cust_length`' >
\r
79 <switch test='`$serv-cust[$serv-index].inv-id`'>
\r
83 <outcome value='Other'>
\r
84 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
85 resource="custom-query"
\r
86 key="format = 'resource'"
\r
89 pfx="aai.service-instances" >
\r
90 <parameter name="start[0]" value="`'nodes/service-instances?model-invariant-id=' + $serv-cust[$serv-index].inv-id`" />
\r
91 <parameter name="start_length" value="1" />
\r
92 <outcome value='not-found'>
\r
94 <parameter name='error-message' value="`'Unable to find runtime service instances for invariant UUID ' + $serv-cust[$serv-index].inv-id`" />
\r
97 <outcome value='failure'>
\r
99 <parameter name='error-message' value="`'System error finding runtime service instances for customization UUID ' + $serv-cust[$serv-index].inv-id`" />
\r
102 <outcome value='success'>
\r
105 <parameter name='tmp.serv-insts_length' value='0' />
\r
107 <for index='runtime-index' start='0' end='`$aai.service-instances.results_length`' >
\r
108 <switch test='`$aai.service-instances.results[$runtime-index].service-instance.orchestration-status`'>
\r
109 <outcome value='Active'>
\r
112 <parameter name='serv-inst.service-instance-id' value='`$aai.service-instances.results[$runtime-index].service-instance.service-instance-id`' />
\r
114 <switch test='`$output-global-customer-id`'>
\r
116 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
117 resource="custom-query"
\r
118 key="format = 'resource_and_url'"
\r
121 pfx="tmp.AnAI-data.si">
\r
122 <parameter name="start[0]" value="`'nodes/service-instance/' + $serv-inst.service-instance-id `" />
\r
123 <parameter name="start_length" value="1" />
\r
124 <outcome value='success'>
\r
126 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
\r
127 <parameter name="original_string" value="`$tmp.AnAI-data.si.results[0].url`" />
\r
128 <parameter name="regex" value="/"/>
\r
129 <parameter name="limit" value="11" />
\r
130 <parameter name="ctx_memory_result_key" value="split" />
\r
133 <parameter name='output-global-customer-id' value='`$split[6]`' />
\r
134 <parameter name='output-service-type' value='`$split[9]`' />
\r
135 <parameter name='output-service-role' value='`$tmp.AnAI-data.si.results[0].service-instance.service-role`' />
\r
143 <switch test='`$runtime-index`'>
\r
144 <outcome value='0'>
\r
146 <parameter name='service.service-role' value='`$aai.service-instances.results[0].service-instance.service-role`' />
\r
151 <parameter name='mdsal-service.' value='' />
\r
152 <parameter name='serv-inst.api' value='' />
\r
154 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
155 <parameter name="source" value="`$prop.restapi.service`"/>
\r
156 <parameter name="outputPath" value="tmp.service-url"/>
\r
157 <parameter name="target" value="{service-instance-id}"/>
\r
158 <parameter name="replacement" value="`$serv-inst.service-instance-id`"/>
\r
160 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
161 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />
\r
162 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
163 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
164 <parameter name='format' value='json' />
\r
165 <parameter name='httpMethod' value='GET' />
\r
166 <parameter name="responsePrefix" value="mdsal-service" />
\r
167 <outcome value='success'>
\r
169 <switch test='`$mdsal-service.service[0].service-data.vnfs.vnf_length`'>
\r
172 <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />
\r
175 <outcome value='0'>
\r
177 <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />
\r
180 <outcome value='1'>
\r
182 <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-populate-from-grapi' mode='sync' ></call>
\r
184 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />
\r
187 <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />
\r
191 <outcome value='Other'>
\r
192 <switch test='`$mdsal-service.service[0].service-data.forwarding-paths.forwarding-path_length`'>
\r
195 <parameter name='data-error' value="`'Service instance ' + $serv-inst.service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />
\r
198 <outcome value='0'>
\r
200 <parameter name='data-error' value="`'Service instance ' + $serv-inst.service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />
\r
203 <outcome value='Other'>
\r
205 <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-populate-from-grapi' mode='sync' ></call>
\r
207 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />
\r
210 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].forwarding-paths.'
\r
211 value='`$mdsal-service.service[0].service-data.forwarding-paths.`' />
\r
214 <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />
\r
223 <outcome value='failure'>
\r
225 <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-populate-from-vnfapi' mode='sync' ></call>
\r
226 <switch test='`$serv-inst.api`'>
\r
229 <parameter name='data-error' value="`'Failure finding service instance ' + $si.service-instance-id + ' in either GENERIC-REOURCE-API or VNF-API'`" />
\r
232 <outcome value='Other'>
\r
234 <switch test='`$serv-inst.vnf-list_length`'>
\r
237 <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />
\r
240 <outcome value='0'>
\r
242 <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />
\r
245 <outcome value='1'>
\r
248 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />
\r
251 <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />
\r
255 <outcome value='Other'>
\r
256 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
257 key='SELECT forwarding_path_service_instance_id from SERVICE_INSTANCE_TO_COMPOSITE_INSTANCE_MAPPING WHERE simple_service_instance_id = $serv-inst.service-instance-id'
\r
258 pfx='db.mapped-service-instance-id'>
\r
259 <outcome value='failure'>
\r
261 <parameter name='data-error' value="System error reading SERVICE_INSTANCE_TO_COMPOSITE_INSTANCE_MAPPING table" />
\r
264 <outcome value='not-found'>
\r
266 <parameter name='data-error' value="`'No entry in SERVICE_INSTANCE_TO_COMPOSITE_INSTANCE_MAPPING table for service instance ' + $serv-inst.service-instance-id`" />
\r
269 <outcome value='success'>
\r
271 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
272 <parameter name="source" value="`$prop.restapi.service`"/>
\r
273 <parameter name="outputPath" value="tmp.service-url"/>
\r
274 <parameter name="target" value="{service-instance-id}"/>
\r
275 <parameter name="replacement" value="`$db.mapped-service-instance-id.forwarding-path-service-instance-id`"/>
\r
277 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
278 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />
\r
279 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
280 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
281 <parameter name='format' value='json' />
\r
282 <parameter name='httpMethod' value='GET' />
\r
283 <parameter name="responsePrefix" value="mdsal-service" />
\r
284 <outcome value='failure'>
\r
286 <parameter name='data-error' value="`'Cannot find service instance ' + $db.mapped-service-instance-id.forwarding-path-service-instance-id + ' in MD-SAL'`" />
\r
289 <outcome value='success'>
\r
290 <switch test='`$mdsal-service.service[0].service-data.forwarding-paths.forwarding-path_length`'>
\r
293 <parameter name='data-error' value="`'Service instance ' + $db.mapped-service-instance-id.forwarding-path-service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />
\r
296 <outcome value='0'>
\r
298 <parameter name='data-error' value="`'Service instance ' + $db.mapped-service-instance-id.forwarding-path-service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />
\r
301 <outcome value='Other'>
\r
304 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />
\r
307 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].forwarding-paths.'
\r
308 value='`$mdsal-service.service[0].service-data.forwarding-paths.`' />
\r
311 <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />
\r
330 <parameter name='serv-inst.' value='' />
\r
338 <parameter name='serv-cust[$serv-index].serv-insts_length' value='`$tmp.serv-insts_length`' />
\r
346 <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-composite-match-pair' mode='sync' ></call>
\r
347 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
\r
348 <parameter name='filename' value='/var/tmp/gpsx.log' />
\r
350 <switch test='`$service-paths.service-path_length`'>
\r
354 <outcome value='0'>
\r
357 <outcome value='Other'>
\r
360 <parameter name='found-service-path' value='false' />
\r
362 <for index='sp-index' start='0' end='`$service-paths.service-path_length`' >
\r
363 <switch test='`$service-paths.service-path[$sp-index].service_length == $serv-cust_length`'>
\r
364 <outcome value='true'>
\r
367 <parameter name='found-service-path' value='true' />
\r
374 <switch test='`$found-service-path`'>
\r
375 <outcome value='false'>
\r
377 <parameter name='error-message' value="`'No service paths found for path name '
\r
378 + $db.path-segment[0].path-name`" />
\r
381 <outcome value='true'>
\r
383 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
\r
384 <parameter name="ctx-destination" value="forwarding-path.forwarding-path-id" />
\r
387 <parameter name='forwarding-path.forwarding-path-name' value='`$db.path-segment[0].path-name`' />
\r
388 <parameter name='forwarding-path.forwarding-path-type' value='Service' />
\r
389 <parameter name='forwarding-path.onap-model-information.model-name' value='`$db.path-segment[0].path-name`' />
\r
392 <parameter name='forwarding-path.service-paths.' value='`$service-paths.`' />
\r
394 <switch test='`$output-service-instance-id`'>
\r
397 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
\r
398 <parameter name="ctx-destination" value="tmp.service-instance-id" />
\r
400 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
401 <parameter name="source" value="`$prop.restapi.service`"/>
\r
402 <parameter name="outputPath" value="tmp.service-url"/>
\r
403 <parameter name="target" value="{service-instance-id}"/>
\r
404 <parameter name="replacement" value="`$tmp.service-instance-id`"/>
\r
406 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
407 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.csm.serviceinstance.templatefile`" />
\r
408 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />
\r
409 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
410 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
411 <parameter name='format' value='json' />
\r
412 <parameter name='httpMethod' value='PUT' />
\r
413 <parameter name="responsePrefix" value="mdsal-sr" />
\r
414 <outcome value='failure'>
\r
416 <parameter name='error-message' value="Failure creating service instance in MD-SAL" />
\r
420 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
421 resource="service-instance"
\r
422 key="customer.global-customer-id = $output-global-customer-id
\r
423 AND service-subscription.service-type = $output-service-type
\r
424 AND service-instance.service-instance-id = $tmp.service-instance-id" >
\r
425 <parameter name="service-instance-id" value="`$tmp.service-instance-id`" />
\r
426 <parameter name="global-customer-id" value="`$output-global-customer-id`" />
\r
427 <parameter name="service-type" value="`$output-service-type`" />
\r
428 <parameter name="service-role" value="`$output-service-role`" />
\r
429 <outcome value='failure'>
\r
431 <parameter name='error-message' value="Failure creating service instance in AAI" />
\r
434 <outcome value='not-found'>
\r
436 <parameter name='error-message' value="Failure creating service instance in AAI" />
\r
441 <parameter name='output-service-instance-id' value='`$tmp.service-instance-id`' />
\r
445 <outcome value='0'>
\r
447 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
\r
448 <parameter name="ctx-destination" value="tmp.service-instance-id" />
\r
450 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
451 <parameter name="source" value="`$prop.restapi.service`"/>
\r
452 <parameter name="outputPath" value="tmp.service-url"/>
\r
453 <parameter name="target" value="{service-instance-id}"/>
\r
454 <parameter name="replacement" value="`$tmp.service-instance-id`"/>
\r
456 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
457 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.csm.serviceinstance.templatefile`" />
\r
458 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />
\r
459 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
460 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
461 <parameter name='format' value='json' />
\r
462 <parameter name='httpMethod' value='PUT' />
\r
463 <parameter name="responsePrefix" value="mdsal-sr" />
\r
464 <outcome value='failure'>
\r
466 <parameter name='error-message' value="Failure creating service instance in MD-SAL" />
\r
470 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
471 resource="service-instance"
\r
472 key="customer.global-customer-id = $output-global-customer-id
\r
473 AND service-subscription.service-type = $output-service-type
\r
474 AND service-instance.service-instance-id = $tmp.service-instance-id" >
\r
475 <parameter name="service-instance-id" value="`$tmp.service-instance-id`" />
\r
476 <parameter name="global-customer-id" value="`$output-global-customer-id`" />
\r
477 <parameter name="service-type" value="`$output-service-type`" />
\r
478 <parameter name="service-role" value="`$output-service-role`" />
\r
479 <outcome value='failure'>
\r
481 <parameter name='error-message' value="Failure creating service instance in AAI" />
\r
484 <outcome value='not-found'>
\r
486 <parameter name='error-message' value="Failure creating service instance in AAI" />
\r
491 <parameter name='output-service-instance-id' value='`$tmp.service-instance-id`' />
\r
496 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
\r
497 <parameter name="source" value="`$prop.restapi.forwarding-path`"/>
\r
498 <parameter name="outputPath" value="tmp.fp-url"/>
\r
499 <parameter name="target" value="{service-instance-id}"/>
\r
500 <parameter name="replacement" value="`$output-service-instance-id`"/>
\r
502 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
503 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.forwardingpath.templatefile`" />
\r
504 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.fp-url + $forwarding-path.forwarding-path-id`' />
\r
505 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
506 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
507 <parameter name='format' value='json' />
\r
508 <parameter name='httpMethod' value='PUT' />
\r
509 <parameter name="responsePrefix" value="mdsal-fp" />
\r
510 <outcome value='failure'>
\r
512 <parameter name='error-message' value="Failure writing forwarding-path to MD-SAL" />
\r
515 <outcome value='not-found'>
\r
517 <parameter name='error-message' value="Failure writing forwarding-path to MD-SAL" />
\r
521 <for index='sp-index' start='0' end='`$service-paths.service-path_length`' >
\r
522 <switch test='`$service-paths.service-path[$sp-index].service_length == $serv-cust_length`'>
\r
523 <outcome value='true'>
\r
525 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
526 resource="forwarding-path"
\r
527 key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id" >
\r
528 <parameter name="forwarding-path-id" value="`$forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id`" />
\r
529 <parameter name="forwarding-path-name" value="`$forwarding-path.service-paths.service-path[$sp-index].service-path-instance-name`" />
\r
530 <parameter name="selflink" value="`'/restconf/config/GENERIC-RESOURCE-API:services/service/'
\r
531 + $output-service-instance-id
\r
532 + '/forwarding-paths/forwarding-path/'
\r
533 + $forwarding-path.forwarding-path-id
\r
534 + '/services-paths/service-path/'
\r
535 + $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id`" />
\r
536 <outcome value='failure'>
\r
538 <parameter name='error-message' value="Failure writing forwarding-path to AAI" />
\r
541 <outcome value='not-found'>
\r
543 <parameter name='error-message' value="Failure writing forwarding-path to AAI" />
\r
547 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
548 resource="forwarding-path:relationship-list"
\r
549 key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id"
\r
550 force="true" pfx="tmp.AnAI-data">
\r
551 <parameter name="relationship-list.relationship[0].related-to" value="service-instance" />
\r
552 <parameter name="relationship-list.relationship[0].related-link"
\r
553 value="`'/aai/v$/business/customers/customer/'
\r
554 + $output-global-customer-id
\r
555 + '/service-subscriptions/service-subscription/'
\r
556 + $output-service-type
\r
557 + '/service-instances/service-instance/'
\r
558 + $output-service-instance-id`" />
\r
559 <outcome value='failure'>
\r
561 <parameter name='error-message' value="Failure writing forwarding-path relationship to AAI" />
\r
564 <outcome value='not-found'>
\r
566 <parameter name='error-message' value="Failure writing forwarding-path relationship to AAI" />
\r
570 <for index='service-index' start='0' end='`$service-paths.service-path[$sp-index].service_length`' >
\r
571 <for index='vnf-index' start='0' end='`$forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf_length`' >
\r
573 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
574 resource="forwarder"
\r
575 key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id
\r
576 AND forwarder.sequence = $forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-path-sequence-id" >
\r
577 <parameter name="sequence" value="`$forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-path-sequence-id`" />
\r
578 <outcome value='failure'>
\r
580 <parameter name='error-message' value="Failure writing forwarder to AAI" />
\r
583 <outcome value='not-found'>
\r
585 <parameter name='error-message' value="Failure writing forwarder to AAI" />
\r
589 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
590 resource="forwarder:relationship-list"
\r
591 key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id
\r
592 AND forwarder.sequence = $forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-path-sequence-id"
\r
593 force="true" pfx="tmp.AnAI-data">
\r
594 <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
\r
595 <parameter name="relationship-list.relationship[0].related-link"
\r
596 value="`'/aai/v$/network/generic-vnfs/generic-vnf/'
\r
597 + $forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-instance-id`" />
\r
598 <outcome value='failure'>
\r
600 <parameter name='error-message' value="Failure writing forwarder relationship to AAI" />
\r
603 <outcome value='not-found'>
\r
605 <parameter name='error-message' value="Failure writing forwarder relationship to AAI" />
\r