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-populate-from-vnfapi' mode='sync'>
\r
5 <block atomic='true'>
\r
7 <parameter name="serv-inst.api" value= ""/>
\r
9 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
\r
10 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
\r
11 <parameter name='contextPrefix' value='prop' />
\r
12 <outcome value='success'>
\r
14 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
15 <parameter name="logger" value="message-log"/>
\r
16 <parameter name="field1" value="__TIMESTAMP__"/>
\r
17 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: read properties file."/>
\r
21 <outcome value='failure'>
\r
23 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
24 <parameter name="logger" value="message-log"/>
\r
25 <parameter name="field1" value="__TIMESTAMP__"/>
\r
26 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Could not read properties file."/>
\r
27 <parameter name="field3" value='`$prop.restapi.pm.getpolicy.templatefile`'/>
\r
30 <parameter name="serv-inst.api" value= ""/>
\r
31 <parameter name="error-message" value="Could not read properties file" />
\r
36 <switch test='`$serv-inst.service-instance-id`'>
\r
39 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
40 <parameter name="logger" value="message-log"/>
\r
41 <parameter name="field1" value="__TIMESTAMP__"/>
\r
42 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input service-instance-id is not set"/>
\r
45 <parameter name="serv-inst.api" value= ""/>
\r
46 <parameter name="error-message" value="serv-inst.service-instance-id is not set" />
\r
51 <switch test='`$match-type`'>
\r
54 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
55 <parameter name="logger" value="message-log"/>
\r
56 <parameter name="field1" value="__TIMESTAMP__"/>
\r
57 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input match-type is not set"/>
\r
60 <parameter name="serv-inst.api" value= ""/>
\r
61 <parameter name="error-message" value="input match-type is not set" />
\r
66 <switch test='`$vnf-ids_length`'>
\r
70 <parameter name="path-type" value= "COMPOSITE"/>
\r
72 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
73 <parameter name="logger" value="message-log"/>
\r
74 <parameter name="field1" value="__TIMESTAMP__"/>
\r
75 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input vnf-ids_length is blank, this is a COMPOSITE path"/>
\r
79 <outcome value='Other'>
\r
82 <parameter name="path-type" value= "SIMPLE"/>
\r
84 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
85 <parameter name="logger" value="message-log"/>
\r
86 <parameter name="field1" value="__TIMESTAMP__"/>
\r
87 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: input vnf-ids_length is NOT blank, this is a SIMPLE path"/>
\r
93 <parameter name="vnfListIndex" value= "0"/>
\r
95 <switch test='`$path-type`'>
\r
96 <outcome value='SIMPLE'>
\r
98 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
99 <parameter name="logger" value="message-log"/>
\r
100 <parameter name="field1" value="__TIMESTAMP__"/>
\r
101 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Call AAI custom query vfModule-fromServiceInstance to get vf-module-ids"/>
\r
103 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
104 resource="custom-query"
\r
105 key="format = 'resource'"
\r
108 pfx="tmp.AnAI-data.vf-module-ids">
\r
109 <parameter name="start[0]" value="`'/nodes/service-instances/service-instance?service-instance-id=' + $serv-inst.service-instance-id `" />
\r
110 <!--<parameter name="start[0]" value="`'/business/customers/customer/bgb-customer/service-subscriptions/service-subscription/bgb-service-type/service-instances' `" />-->
\r
111 <!--<parameter name="start[0]" value="`'/business/customers/customer/la-customer/service-subscriptions/service-subscription/la-service-type/service-instances' `" />-->
\r
112 <parameter name="start_length" value="1" />
\r
113 <parameter name="query" value="/query/vfModule-fromServiceInstance" />
\r
114 <!--<parameter name="query" value="/query/vnfs-fromServiceInstance" /> -->
\r
115 <outcome value='failure'>
\r
118 <parameter name="error-message" value="Failed call to AAI custom query: vfModule-fromServiceInstance" />
\r
119 <parameter name="serv-inst.api" value= ""/>
\r
120 <parameter name='tmp.vf-module-ids_length' value='0' />
\r
121 <parameter name='tmp.vnf-instances_length' value='0' />
\r
125 <outcome value='not-found'>
\r
128 <parameter name="error-message" value="No vfModules returned from AAI: vfModule-fromService-instance" />
\r
129 <parameter name="serv-inst.api" value= ""/>
\r
133 <outcome value='success'>
\r
135 <for index='vfModuleResultIndex' start='0' end='`$tmp.AnAI-data.vf-module-ids.results_length`' >
\r
137 <parameter name="`'tmp.vf-module-ids[' + $vfModuleResultIndex + ']'`" value='`$tmp.AnAI-data.vf-module-ids.results[$vfModuleResultIndex].vf-module.vf-module-id`' />
\r
141 <parameter name='tmp.vf-module-ids_length' value='`$tmp.AnAI-data.vf-module-ids.results_length`' />
\r
147 <parameter name="tmp.triplet-list_length" value= "0" />
\r
148 <parameter name="tmp.tripletListIndex" value= "0" />
\r
149 <parameter name="tmp.vnf-instances_length" value= "0" />
\r
150 <parameter name="tmp.vnfInstancesIndex" value= "0" />
\r
151 <parameter name="tmp.mdsal-error-encountered" value= "false"/>
\r
153 <for index='vfModuleIndex' start='0' end='`$tmp.vf-module-ids_length`' >
\r
156 <parameter name="tmp.vnf-url" value="`'/restconf/config/VNF-API:vnfs/vnf-list/' + $tmp.vf-module-ids[$vfModuleIndex]`" />
\r
158 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
159 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-url`' />
\r
160 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
161 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
162 <parameter name='format' value='json' />
\r
163 <parameter name='httpMethod' value='GET' />
\r
164 <parameter name="responsePrefix" value="vnf-mdsal" />
\r
165 <outcome value='failure'>
\r
168 <parameter name="error-message" value="Failed to read vnf info from MD-SAL" />
\r
169 <parameter name="serv-inst.api" value= ""/>
\r
170 <parameter name="tmp.mdsal-error-encountered" value= "true"/>
\r
174 <outcome value='not-found'>
\r
177 <parameter name="error-message" value="Cannot find vnf info in MD-SAL" />
\r
178 <parameter name="serv-inst.api" value= ""/>
\r
179 <parameter name="tmp.mdsal-error-encountered" value= "true"/>
\r
183 <outcome value='success'>
\r
186 <parameter name="`'tmp.vnf-instances[' + $tmp.vnfInstancesIndex + ']'`." value= '`$vnf-mdsal.vnf-list[0].`' />
\r
187 <parameter name="genericVnfIdFound" value= 'false' />
\r
189 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
190 <parameter name="logger" value="message-log"/>
\r
191 <parameter name="field1" value="__TIMESTAMP__"/>
\r
192 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MDSAL vnf-instances vnf-id|generic-vnf-id: "/>
\r
193 <parameter name="field3" value='`$tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.vnf-id`' />
\r
194 <parameter name="field4" value='`$tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.generic-vnf-id`' />
\r
196 <for index='tmp.tripletListIndex2' start='0' end='`$tmp.triplet-list_length`' >
\r
197 <switch test='`$tmp.triplet-list[$tmp.tripletListIndex2].generic-vnf-id == $tmp.vnf-instances[$tmp.vnfInstancesIndex].service-data.vnf-request-information.generic-vnf-id`'>
\r
198 <outcome value='false'></outcome>
\r
199 <outcome value='true'>
\r
201 <parameter name="genericVnfIdFound" value= 'true' />
\r
206 <switch test='`$genericVnfIdFound`'>
\r
207 <outcome value='false'>
\r
210 <parameter name="`'tmp.triplet-list[' + $tmp.tripletListIndex + '].generic-vnf-id'`" value= '`$vnf-mdsal.vnf-list[0].service-data.vnf-request-information.generic-vnf-id`' />
\r
211 <parameter name="`'tmp.triplet-list[' + $tmp.tripletListIndex + '].vf-module-id'`" value= '`$tmp.vf-module-ids[$vfModuleIndex]`' />
\r
212 <parameter name="tmp.triplet-list_length" value= '`$tmp.triplet-list_length + 1`'/>
\r
213 <parameter name="tmp.tripletListIndex" value= '`$tmp.tripletListIndex + 1`'/>
\r
215 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
216 <parameter name="logger" value="message-log"/>
\r
217 <parameter name="field1" value="__TIMESTAMP__"/>
\r
218 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: generic-vnf-id in NOT found in triplet-list, add it"/>
\r
222 <outcome value='true'>
\r
224 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
225 <parameter name="logger" value="message-log"/>
\r
226 <parameter name="field1" value="__TIMESTAMP__"/>
\r
227 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: generic-vnf-id is already in triplet-list, don't add it"/>
\r
233 <parameter name="tmp.vnfInstancesIndex" value= '`$tmp.vnfInstancesIndex + 1`'/>
\r
234 <parameter name="tmp.vnf-instances_length" value= '`$tmp.vnf-instances_length + 1`'/>
\r
241 <switch test='`$tmp.mdsal-error-encountered`'>
\r
242 <outcome value='false'>
\r
244 <for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >
\r
246 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
247 resource="generic-vnf"
\r
248 key="generic-vnf.vnf-id = $tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id"
\r
249 pfx='aai.generic-vnf' local-only='false' >
\r
250 <outcome value='success'>
\r
251 <switch test='`$aai.generic-vnf.model-customization-id`'>
\r
254 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
255 <parameter name="logger" value="message-log"/>
\r
256 <parameter name="field1" value="__TIMESTAMP__"/>
\r
257 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: model-customization-id is BLANK for vf-module-id|generic-vnf-id: "/>
\r
258 <parameter name="field3" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
\r
259 <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
\r
263 <outcome value='Other'>
\r
265 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
266 <parameter name="logger" value="message-log"/>
\r
267 <parameter name="field1" value="__TIMESTAMP__"/>
\r
268 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Set model-customization-id for vf-module-id|generic-vnf-id: "/>
\r
269 <parameter name="field3" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
\r
270 <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
\r
271 <parameter name="field5" value='`$aai.generic-vnf.model-customization-id`'/>
\r
274 <parameter name="`'tmp.triplet-list[' + $tmp.tripletListIndex + '].model-customization-id'`" value= '`$aai.generic-vnf.model-customization-id`' />
\r
280 <outcome value='not-found'>
\r
281 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
282 <parameter name="logger" value="message-log"/>
\r
283 <parameter name="field1" value="__TIMESTAMP__"/>
\r
284 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: generic-vnf not found in AAI for generic-vnf-id: "/>
\r
285 <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
\r
288 <outcome value='Other'>
\r
289 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
290 <parameter name="logger" value="message-log"/>
\r
291 <parameter name="field1" value="__TIMESTAMP__"/>
\r
292 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: unable to access AAI for generic-vnf-id: "/>
\r
293 <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
\r
301 <outcome value='true'>
\r
306 <for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >
\r
307 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
308 <parameter name="logger" value="message-log"/>
\r
309 <parameter name="field1" value="__TIMESTAMP__"/>
\r
310 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: PRINT triplet-list | vf-module-id:generic-vnf-id:model-customization-id | "/>
\r
311 <parameter name="field3" value='`$tmp.tripletListIndex`'/>
\r
312 <parameter name="field4" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
\r
313 <parameter name="field5" value='`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`'/>
\r
314 <parameter name="field6" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>
\r
318 <for index='vnfIdIndex' start='0' end='`$vnf-ids_length`' >
\r
320 <for index='tmp.tripletListIndex' start='0' end='`$tmp.triplet-list_length`' >
\r
322 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
323 <parameter name="logger" value="message-log"/>
\r
324 <parameter name="field1" value="__TIMESTAMP__"/>
\r
325 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: vnfIdIndex:id | tripletListIndex:model-customization-id | : "/>
\r
326 <parameter name="field3" value='`$vnfIdIndex`'/>
\r
327 <parameter name="field4" value='`$vnf-ids[$vnfIdIndex]`'/>
\r
328 <parameter name="field5" value='`$tmp.tripletListIndex`'/>
\r
329 <parameter name="field6" value='`$tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'/>
\r
331 <switch test='`$vnf-ids[$vnfIdIndex] == $tmp.triplet-list[$tmp.tripletListIndex].model-customization-id`'>
\r
332 <outcome value='true'>
\r
334 <for index='vnfInstanceIndex' start='0' end='`$tmp.vnf-instances_length`' >
\r
336 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
337 <parameter name="logger" value="message-log"/>
\r
338 <parameter name="field1" value="__TIMESTAMP__"/>
\r
339 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: vnfIdIndex:id | vnfInstanceIndex:id | : "/>
\r
340 <parameter name="field3" value='`$vnfIdIndex`'/>
\r
341 <parameter name="field4" value='`$vnf-ids[$vnfIdIndex]`'/>
\r
342 <parameter name="field5" value='`$vnfInstanceIndex`'/>
\r
343 <parameter name="field6" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`'/>
\r
345 <switch test='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id == $tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'>
\r
346 <outcome value='true'>
\r
348 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
349 <parameter name="logger" value="message-log"/>
\r
350 <parameter name="field1" value="__TIMESTAMP__"/>
\r
351 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MATCH for vnf-instances.vnf-id and triplet-list.vf-module-id: "/>
\r
352 <parameter name="field3" value='`$tmp.triplet-list[$tmp.tripletListIndex].vf-module-id`'/>
\r
354 <switch test='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length > 0`'>
\r
355 <outcome value='true'>
\r
356 <for index='vnfNetworksIndex' start='0' end='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`' >
\r
358 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
359 <parameter name="logger" value="message-log"/>
\r
360 <parameter name="field1" value="__TIMESTAMP__"/>
\r
361 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MATCH for vnf-id and vnf-instances for vnf-id: "/>
\r
362 <parameter name="field3" value='`$vnf-ids[$vnfIdIndex]`'/>
\r
363 <parameter name="field4" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfnetworksIndex].`'/>
\r
366 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-name" value= "`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-name`"/>
\r
367 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-role" value= "`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-role`"/>
\r
368 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].vf-module-id" value= "`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`"/>
\r
369 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list_length" value= '`$vnfNetworksIndex + 1`'/>
\r
374 <outcome value='false'>
\r
376 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
377 <parameter name="logger" value="message-log"/>
\r
378 <parameter name="field1" value="__TIMESTAMP__"/>
\r
379 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: No vnf-networks found for vnf-id: "/>
\r
380 <parameter name="field3" value='`$tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-request-information.vnf-id`' />
\r
383 <parameter name='`tmp.vnf-instances[$vnfInstanceIndex].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value="0" />
\r
389 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-id" value= "`$tmp.triplet-list[$tmp.tripletListIndex].generic-vnf-id`"/>
\r
392 <parameter name="vnfListIndex" value= '`$vnfListIndex + 1`'/>
\r
396 <outcome value='false'></outcome>
\r
400 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
401 <parameter name="logger" value="message-log"/>
\r
402 <parameter name="field1" value="__TIMESTAMP__"/>
\r
403 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MATCH for input vnf-id and triplet-list.model-customizaiton-id: "/>
\r
404 <parameter name="field3" value='`$vnf-ids[$vnfIdIndex]`'/>
\r
408 <outcome value='false'></outcome>
\r
416 <outcome value='COMPOSITE'>
\r
418 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
419 <parameter name="logger" value="message-log"/>
\r
420 <parameter name="field1" value="__TIMESTAMP__"/>
\r
421 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: Call AAI custom query vfModule-fromServiceInstance to get vf-module-ids"/>
\r
423 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
424 resource="custom-query"
\r
425 key="format = 'resource'"
\r
428 pfx="tmp.AnAI-data.vf-module-ids">
\r
429 <parameter name="start[0]" value="`'/nodes/service-instances/service-instance?service-instance-id=' + $serv-inst.service-instance-id `" />
\r
430 <!--<parameter name="start[0]" value="`'/business/customers/customer/bgb-customer/service-subscriptions/service-subscription/bgb-service-type/service-instances' `" />-->
\r
431 <!--<parameter name="start[0]" value="`'/business/customers/customer/la-customer/service-subscriptions/service-subscription/la-service-type/service-instances' `" />-->
\r
432 <parameter name="start_length" value="1" />
\r
433 <parameter name="query" value="/query/vfModule-fromServiceInstance" />
\r
434 <!--<parameter name="query" value="/query/vnfs-fromServiceInstance" /> -->
\r
435 <outcome value='failure'>
\r
438 <parameter name="error-message" value="Failed call to AAI custom query: vfModule-fromServiceInstance" />
\r
439 <parameter name="serv-inst.api" value= ""/>
\r
440 <parameter name='tmp.vf-module-ids_length' value='0' />
\r
441 <parameter name='tmp.vnf-instances_length' value='0' />
\r
445 <outcome value='not-found'>
\r
448 <parameter name="error-message" value="No vfModules returned from AAI: vfModule-fromService-instance" />
\r
449 <parameter name="serv-inst.api" value= ""/>
\r
453 <outcome value='success'>
\r
455 <for index='vfModuleResultIndex' start='0' end='`$tmp.AnAI-data.vf-module-ids.results_length`' >
\r
457 <parameter name="`'tmp.vf-module-ids[' + $vfModuleResultIndex + ']'`" value='`$tmp.AnAI-data.vf-module-ids.results[$vfModuleResultIndex].vf-module.vf-module-id`' />
\r
461 <parameter name='tmp.vf-module-ids_length' value='`$tmp.AnAI-data.vf-module-ids.results_length`' />
\r
466 <for index='vfModuleIndex' start='0' end='`$tmp.vf-module-ids_length`' >
\r
469 <parameter name="tmp.vnf-url" value="`'/restconf/config/VNF-API:vnfs/vnf-list/' + $tmp.vf-module-ids[$vfModuleIndex]`" />
\r
471 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
\r
472 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-url`' />
\r
473 <parameter name='restapiUser' value='`$prop.controller.user`' />
\r
474 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
\r
475 <parameter name='format' value='json' />
\r
476 <parameter name='httpMethod' value='GET' />
\r
477 <parameter name="responsePrefix" value="vnf-mdsal" />
\r
478 <outcome value='failure'>
\r
479 <block atomic="true">
\r
481 <parameter name="error-message" value="Failed to read vnf info from MD-SAL" />
\r
482 <parameter name="serv-inst.api" value= ""/>
\r
486 <outcome value='not-found'>
\r
487 <block atomic="true">
\r
489 <parameter name="error-message" value="Cannot find vnf info in MD-SAL" />
\r
490 <parameter name="serv-inst.api" value= ""/>
\r
494 <outcome value='success'>
\r
497 <parameter name="`'tmp.vnf-instances[0]'`." value= '`$vnf-mdsal.vnf-list[0].`' />
\r
499 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
500 <parameter name="logger" value="message-log"/>
\r
501 <parameter name="field1" value="__TIMESTAMP__"/>
\r
502 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: MDSAL vnf-instances vnf-id: "/>
\r
503 <parameter name="field3" value='`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`' />
\r
508 <switch test='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length > 0`'>
\r
509 <outcome value='true'>
\r
510 <for index='vnfNetworksIndex' start='0' end='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`' >
\r
512 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
513 <parameter name="logger" value="message-log"/>
\r
514 <parameter name="field1" value="__TIMESTAMP__"/>
\r
515 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: copy vnf-instance data to output: "/>
\r
516 <parameter name="field3" value='`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfnetworksIndex].`'/>
\r
519 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-name" value= "`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-name`"/>
\r
520 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].network-role" value= "`$tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks[$vnfNetworksIndex].network-role`"/>
\r
521 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list[$vnfNetworksIndex].vf-module-id" value= "`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`"/>
\r
522 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-network-list_length" value= '`$vnfNetworksIndex + 1`'/>
\r
527 <outcome value='false'>
\r
529 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
530 <parameter name="logger" value="message-log"/>
\r
531 <parameter name="field1" value="__TIMESTAMP__"/>
\r
532 <parameter name="field2" value="LAINA: getpathsegment-populate-from-vnfapi: No vnf-networks found for vnf-id: "/>
\r
533 <parameter name="field3" value='`$tmp.vnf-instances[0].service-data.vnf-request-information.vnf-id`' />
\r
536 <parameter name='`tmp.vnf-instances[0].service-data.vnf-topology-information.vnf-assignments.vnf-networks_length' value="0" />
\r
542 <parameter name="serv-inst.vnf-list[$vnfListIndex].vnf-id" value= "`$vnf-mdsal.vnf-list[0].service-data.vnf-request-information.generic-vnf-id`"/>
\r
545 <parameter name="vnfListIndex" value= '`$vnfListIndex + 1`'/>
\r
553 <parameter name="serv-inst.service-instance-id" value= "`$serv-inst.service-instance-id`"/>
\r
554 <parameter name="serv-inst.vnf-list_length" value= "`$vnfListIndex`"/>
\r
556 <switch test='`$serv-inst.vnf-list_length > 0`'>
\r
557 <outcome value='true'>
\r
559 <parameter name="serv-inst.api" value= "VNF"/>
\r
563 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
\r
564 <parameter name='filename' value='/var/tmp/getpathsegment-populate-from-vnfapi-output.log' />
\r
566 <return status='success'></return>
\r