Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vf-module-topology-operation-assign-preload.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='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='vf-module-topology-operation-assign-preload' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload' value='true' />\r
8             </set>\r
9             <set>\r
10                 <parameter name='tmp.vf-module-topology.'\r
11   value='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vf-module-topology.`' />\r
12             </set>\r
13             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
14   key='SELECT * from VF_MODULE_TO_VFC_MAPPING WHERE vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\r
15   pfx='db.vf-module-to-vfc-mapping[]'>\r
16                 <outcome value='failure'>\r
17                     <return status='failure'>\r
18                         <parameter name='ack-final' value='Y'/>\r
19                         <parameter name="error-code" value="500" />\r
20                         <parameter name="error-message" value="Error reading VF_MODULE_TO_VFC_MAPPING table" />\r
21                     </return>\r
22                 </outcome>\r
23                 <outcome value='not-found'>\r
24                     <set>\r
25                         <parameter name='db.vf-module-to-vfc-mapping_length' value='0' />\r
26                     </set>\r
27                 </outcome>\r
28             </get-resource>\r
29             <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
30                 <block atomic="true">\r
31                     <set>\r
32                         <parameter name='db-vm-type-index' value='-1' />\r
33                     </set>\r
34                     <for index='tmp-idx' start='0' end='`$db.vf-module-to-vfc-mapping_length`' >\r
35                         <switch test='`$db.vf-module-to-vfc-mapping[$tmp-idx].vm-type\r
36   == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type`'>\r
37                             <outcome value='true'>\r
38                                 <block>\r
39                                     <set>\r
40                                         <parameter name='db-vm-type-index' value='`$tmp-idx`' />\r
41                                     </set>\r
42                                     <break/>\r
43                                 </block>\r
44                             </outcome>\r
45                         </switch>\r
46                     </for>\r
47                     <switch test='`$db-vm-type-index`'>\r
48                         <outcome value='-1'>\r
49                             <block atomic="true">\r
50                                 <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
51                                     <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
52                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\r
53                                             <outcome value=''>\r
54                                                 <block></block>\r
55                                             </outcome>\r
56                                             <outcome value='Other'>\r
57                                                 <block atomic="true">\r
58                                                     <set>\r
59                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
60                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
61                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
62                                                     </set>\r
63                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
64                                                 </block>\r
65                                             </outcome>\r
66                                         </switch>\r
67                                     </for>\r
68                                 </for>\r
69                                 <return status='failure'>\r
70                                     <parameter name='ack-final' value='Y'/>\r
71                                     <parameter name="error-code" value="500" />\r
72                                     <parameter name="error-message" value="`'Preload data contains vm-type ' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type + ' but VF_MODULE_TO_VFC_MAPPING table does not have this vm-type'`" />\r
73                                 </return>\r
74                             </block>\r
75                         </outcome>\r
76                     </switch>\r
77                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
78   key='SELECT * from VFC_MODEL WHERE customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\r
79   pfx='db.vfc-model'>\r
80                         <outcome value='failure'>\r
81                             <block atomic="true">\r
82                                 <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
83                                     <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
84                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\r
85                                             <outcome value=''>\r
86                                                 <block></block>\r
87                                             </outcome>\r
88                                             <outcome value='Other'>\r
89                                                 <block atomic="true">\r
90                                                     <set>\r
91                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
92                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
93                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
94                                                     </set>\r
95                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
96                                                 </block>\r
97                                             </outcome>\r
98                                         </switch>\r
99                                     </for>\r
100                                 </for>\r
101                                 <return status='failure'>\r
102                                     <parameter name='ack-final' value='Y'/>\r
103                                     <parameter name="error-code" value="500" />\r
104                                     <parameter name="error-message" value="Error reading VFC_MODEL table" />\r
105                                 </return>\r
106                             </block>\r
107                         </outcome>\r
108                         <outcome value='not-found'>\r
109                             <block atomic="true">\r
110                                 <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
111                                     <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
112                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\r
113                                             <outcome value=''>\r
114                                                 <block></block>\r
115                                             </outcome>\r
116                                             <outcome value='Other'>\r
117                                                 <block atomic="true">\r
118                                                     <set>\r
119                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
120                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
121                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
122                                                     </set>\r
123                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
124                                                 </block>\r
125                                             </outcome>\r
126                                         </switch>\r
127                                     </for>\r
128                                 </for>\r
129                                 <return status='failure'>\r
130                                     <parameter name='ack-final' value='Y'/>\r
131                                     <parameter name="error-code" value="500" />\r
132                                     <parameter name="error-message" value="`'No entries found in VFC_MODEL table for customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`" />\r
133                                 </return>\r
134                             </block>\r
135                         </outcome>\r
136                     </get-resource>\r
137                     <set>\r
138                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code'\r
139   value='`$db.vfc-model.nfc-naming-code`' />\r
140                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function'\r
141   value='`$db.vfc-model.nfc-function`' />\r
142                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid'\r
143   value='`$db.vfc-model.invariant-uuid`' />\r
144                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid'\r
145   value='`$db.vfc-model.uuid`' />\r
146                     </set>\r
147                     <set>\r
148                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length'\r
149   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' />\r
150                     </set>\r
151                     <switch test='`$db.vfc-model.naming-policy`'>\r
152                         <outcome value=''>\r
153                             <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\r
154                                 <set>\r
155                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vm-index].vnfc-name'\r
156   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-type-index]`' />\r
157                                 </set>\r
158                             </for>\r
159                         </outcome>\r
160                         <outcome value='Other'>\r
161                             <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\r
162                                 <block atomic="true">\r
163                                     <set>\r
164                                         <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vfc-model.naming-policy`' />\r
165                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
166                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
167                                         <parameter name='naming-policy-generate-name-input.query-parameter' value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vf-module-customization-uuid`' />\r
168                                         <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\r
169                                         <parameter name='naming-policy-generate-name-input.vnf-name' value='`$vf-module-topology-operation-input.vnf-information.vnf-id`' />\r
170                                         <parameter name='naming-policy-generate-name-input.vm-name' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]`' />\r
171                                     </set>\r
172                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\r
173                                         <outcome value='failure'>\r
174                                             <block atomic="true">\r
175                                                 <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
176                                                     <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
177                                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\r
178                                                             <outcome value=''>\r
179                                                                 <block></block>\r
180                                                             </outcome>\r
181                                                             <outcome value='Other'>\r
182                                                                 <block atomic="true">\r
183                                                                     <set>\r
184                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
185                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
186                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
187                                                                     </set>\r
188                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
189                                                                 </block>\r
190                                                             </outcome>\r
191                                                         </switch>\r
192                                                     </for>\r
193                                                 </for>\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="`'Unable to generate VNFC name: ' + $error-message`" />\r
198                                                 </return>\r
199                                             </block>\r
200                                         </outcome>\r
201                                         <outcome value='success'>\r
202                                             <set>\r
203                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vm-index].vnfc-name'\r
204   value='`$naming-policy-generate-name-output.vnfc-name`' />\r
205                                             </set>\r
206                                         </outcome>\r
207                                     </call>\r
208                                 </block>\r
209                             </for>\r
210                         </outcome>\r
211                     </switch>\r
212                 </block>\r
213             </for>\r
214             <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
215                 <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
216                     <block>\r
217                         <set>\r
218                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length'\r
219   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' />\r
220                         </set>\r
221                         <for silentFailure='true' index='vm-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
222                             <block>\r
223                                 <set>\r
224                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-network-role'\r
225   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-role`' />\r
226                                 </set>\r
227                                 <set>\r
228                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-subnet-role'\r
229   value='NA' />\r
230                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet_length'\r
231   value='1' />\r
232                                 </set>\r
233                                 <set>\r
234                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-ip-assignments_length'\r
235   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item_length`' />\r
236                                 </set>\r
237                                 <for silentFailure='true' index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item_length`' >\r
238                                     <block>\r
239                                         <set>\r
240                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-ip-assignments[$ip-version-index].vnfc-address-family'\r
241   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item[$ip-version-index].ip-version`' />\r
242                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-ip-assignments[$ip-version-index].vnfc-subnet-dhcp'\r
243   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`' />\r
244                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-ip-assignments[$ip-version-index].vnfc-subnet-ip-count'\r
245   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item[$ip-version-index].ip-count`' />\r
246                                         </set>\r
247                                         <for silentFailure='true' index='ip-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item[$ip-version-index].network-ips.network-ip_length`' >\r
248                                             <set>\r
249                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-ip-assignments[$ip-version-index].vnfc-subnet-ips[$ip-index].vnfc-ip-address'\r
250   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-information-items.network-information-item[$ip-version-index].network-ips.network-ip[$ip-index]`' />\r
251                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vm-network-index].vnfc-subnet[0].vnfc-ip-assignments[$ip-version-index].vnfc-subnet-ips[$ip-index].ip-type'\r
252   value='FIXED' />\r
253                                             </set>\r
254                                         </for>\r
255                                     </block>\r
256                                 </for>\r
257                             </block>\r
258                         </for>\r
259                     </block>\r
260                 </for>\r
261             </for>\r
262             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
263                 <parameter name='filename' value='/var/tmp/bgb-preload-x.log' />\r
264             </execute>\r
265             <for silentFailure='true' index='vnf-network-index' start='0'\r
266   end='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
267                 <block atomic="true">\r
268                     <set>\r
269                         <parameter name='found-network-name' value='false' />\r
270                     </set>\r
271                     <for silentFailure='true' index='ex-vnf-network-index' start='0'\r
272   end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
273                         <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-name\r
274   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].network-name`'>\r
275                             <outcome value='true'>\r
276                                 <block atomic="true">\r
277                                     <set>\r
278                                         <parameter name='found-network-name' value='true' />\r
279                                     </set>\r
280                                     <break/>\r
281                                 </block>\r
282                             </outcome>\r
283                         </switch>\r
284                     </for>\r
285                     <switch test='`$found-network-name`'>\r
286                         <outcome value='true'>\r
287                             <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role\r
288   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].network-role`'>\r
289                                 <outcome value='false'>\r
290                                     <block atomic="true">\r
291                                         <set>\r
292                                             <parameter name='cur-vnf-network-index'\r
293   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' />\r
294                                         </set>\r
295                                         <set>\r
296                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].network-role'\r
297   value='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`' />\r
298                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].network-name'\r
299   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].network-name`' />\r
300                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].network-id'\r
301   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].network-id`' />\r
302                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].neutron-id'\r
303   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].neutron-id`' />\r
304                                         </set>\r
305                                         <set>\r
306                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\r
307   value='`$cur-vnf-network-index + 1`' />\r
308                                         </set>\r
309                                         <set>\r
310                                             <parameter name='cur-subnet-index' value='0' />\r
311                                         </set>\r
312                                         <switch test="`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[0].sdnc-subnet-id`">\r
313                                             <outcome value=''>\r
314                                                 <block atomic="true">\r
315                                                     <for index='ex-subnet-index' start='0'\r
316   end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data_length`' >\r
317                                                         <set>\r
318                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].sdnc-subnet-id'\r
319   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].sdnc-subnet-id`' />\r
320                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-id'\r
321   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-id`' />\r
322                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].ip-version'\r
323   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].ip-version`' />\r
324                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-name'\r
325   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-name`' />\r
326                                                         </set>\r
327                                                     </for>\r
328                                                     <set>\r
329                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data_length'\r
330   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data_length`' />\r
331                                                     </set>\r
332                                                 </block>\r
333                                             </outcome>\r
334                                             <outcome value='Other'>\r
335                                                 <block atomic="true">\r
336                                                     <for index='subnet-index' start='0'\r
337   end='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\r
338                                                         <block atomic="true">\r
339                                                             <set>\r
340                                                                 <parameter name='tmp.found-match' value='false' />\r
341                                                             </set>\r
342                                                             <for index='ex-subnet-index' start='0'\r
343   end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data_length`' >\r
344                                                                 <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].ip-version\r
345   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].ip-version`'>\r
346                                                                     <outcome value='true'>\r
347                                                                         <block atomic="true">\r
348                                                                             <set>\r
349                                                                                 <parameter name='match' value='true' />\r
350                                                                             </set>\r
351                                                                             <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-id`'>\r
352                                                                                 <outcome value=''>\r
353                                                                                     <block></block>\r
354                                                                                 </outcome>\r
355                                                                                 <outcome value='Other'>\r
356                                                                                     <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-id\r
357   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-id`'>\r
358                                                                                         <outcome value='false'>\r
359                                                                                             <set>\r
360                                                                                                 <parameter name='match' value='false' />\r
361                                                                                             </set>\r
362                                                                                         </outcome>\r
363                                                                                     </switch>\r
364                                                                                 </outcome>\r
365                                                                             </switch>\r
366                                                                             <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-name`'>\r
367                                                                                 <outcome value=''>\r
368                                                                                     <block></block>\r
369                                                                                 </outcome>\r
370                                                                                 <outcome value='Other'>\r
371                                                                                     <switch test='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-index].subnet-name\r
372   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-name`'>\r
373                                                                                         <outcome value='false'>\r
374                                                                                             <set>\r
375                                                                                                 <parameter name='match' value='false' />\r
376                                                                                             </set>\r
377                                                                                         </outcome>\r
378                                                                                     </switch>\r
379                                                                                 </outcome>\r
380                                                                             </switch>\r
381                                                                             <switch test='`$match`'>\r
382                                                                                 <outcome value='true'>\r
383                                                                                     <block atomic="true">\r
384                                                                                         <set>\r
385                                                                                             <parameter name='tmp.found-match' value='true' />\r
386                                                                                         </set>\r
387                                                                                         <break/>\r
388                                                                                     </block>\r
389                                                                                 </outcome>\r
390                                                                             </switch>\r
391                                                                         </block>\r
392                                                                     </outcome>\r
393                                                                 </switch>\r
394                                                             </for>\r
395                                                             <switch test='`$tmp.found-match`'>\r
396                                                                 <outcome value='false'>\r
397                                                                     <block atomic="true">\r
398                                                                         <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
399                                                                             <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
400                                                                                 <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\r
401                                                                                     <outcome value=''>\r
402                                                                                         <block></block>\r
403                                                                                     </outcome>\r
404                                                                                     <outcome value='Other'>\r
405                                                                                         <block atomic="true">\r
406                                                                                             <set>\r
407                                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
408                                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
409                                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
410                                                                                             </set>\r
411                                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
412                                                                                         </block>\r
413                                                                                     </outcome>\r
414                                                                                 </switch>\r
415                                                                             </for>\r
416                                                                         </for>\r
417                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
418                                                                             <parameter name='filename' value='/var/tmp/bgb-preloadxxx.log' />\r
419                                                                         </execute>\r
420                                                                         <return status='failure'>\r
421                                                                             <parameter name='ack-final' value='Y'/>\r
422                                                                             <parameter name="error-code" value="500" />\r
423                                                                             <parameter name="error-message" value="`'Could not find subnet match for network-name '\r
424       + $mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-name`" />\r
425                                                                         </return>\r
426                                                                     </block>\r
427                                                                 </outcome>\r
428                                                             </switch>\r
429                                                             <set>\r
430                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$cur-subnet-index].sdnc-subnet-id'\r
431   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].sdnc-subnet-id`' />\r
432                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$cur-subnet-index].subnet-id'\r
433   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-id`' />\r
434                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$cur-subnet-index].ip-version'\r
435   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].ip-version`' />\r
436                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data[$cur-subnet-index].subnet-name'\r
437   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$ex-vnf-network-index].subnets-data.subnet-data[$ex-subnet-index].subnet-name`' />\r
438                                                             </set>\r
439                                                             <set>\r
440                                                                 <parameter name='cur-subnet-index' value='`$cur-subnet-index + 1`' />\r
441                                                             </set>\r
442                                                         </block>\r
443                                                     </for>\r
444                                                     <set>\r
445                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].subnets-data.subnet-data_length'\r
446   value='`$cur-subnet-index`' />\r
447                                                     </set>\r
448                                                 </block>\r
449                                             </outcome>\r
450                                         </switch>\r
451                                     </block>\r
452                                 </outcome>\r
453                             </switch>\r
454                         </outcome>\r
455                         <outcome value='false'>\r
456                             <block atomic="true">\r
457                                 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`'>\r
458                                     <outcome value=''>\r
459                                         <set>\r
460                                             <parameter name='cur-vnf-network-index' value='0' />\r
461                                         </set>\r
462                                     </outcome>\r
463                                     <outcome value='0'>\r
464                                         <set>\r
465                                             <parameter name='cur-vnf-network-index' value='0' />\r
466                                         </set>\r
467                                     </outcome>\r
468                                     <outcome value='Other'>\r
469                                         <set>\r
470                                             <parameter name='cur-vnf-network-index'\r
471   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' />\r
472                                         </set>\r
473                                     </outcome>\r
474                                 </switch>\r
475                                 <set>\r
476                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].network-role'\r
477   value='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`' />\r
478                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].network-name'\r
479   value='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-name`' />\r
480                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].network-id'\r
481   value='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`' />\r
482                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$cur-vnf-network-index].neutron-id'\r
483   value='`$mdsal-preload.preload-list[0].preload-data.preload-vf-module-topology-information.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].neutron-id`' />\r
484                                 </set>\r
485                                 <set>\r
486                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\r
487   value='`$cur-vnf-network-index + 1`' />\r
488                                 </set>\r
489                             </block>\r
490                         </outcome>\r
491                     </switch>\r
492                 </block>\r
493             </for>\r
494             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
495                 <parameter name='filename' value='/var/tmp/bgb-preload.log' />\r
496             </execute>\r
497             <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
498                 <for index='vm-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
499                     <block atomic="true">\r
500                         <set>\r
501                             <parameter name='found-network' value='false' />\r
502                         </set>\r
503                         <set>\r
504                             <parameter name='tmp.network-role'\r
505   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-role`' />\r
506                         </set>\r
507                         <for index='vnf-network-index' start='0'\r
508   end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
509                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role\r
510   == $tmp.network-role`'>\r
511                                 <outcome value='true'>\r
512                                     <block atomic="true">\r
513                                         <set>\r
514                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id'\r
515   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`' />\r
516                                         </set>\r
517                                         <set>\r
518                                             <parameter name='found-network' value='true' />\r
519                                         </set>\r
520                                         <break/>\r
521                                     </block>\r
522                                 </outcome>\r
523                             </switch>\r
524                         </for>\r
525                         <switch test='`$found-network`'>\r
526                             <outcome value='false'>\r
527                                 <block atomic="true">\r
528                                     <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
529                                         <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
530                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\r
531                                                 <outcome value=''>\r
532                                                     <block></block>\r
533                                                 </outcome>\r
534                                                 <outcome value='Other'>\r
535                                                     <block atomic="true">\r
536                                                         <set>\r
537                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\r
538                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
539                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
540                                                         </set>\r
541                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
542                                                     </block>\r
543                                                 </outcome>\r
544                                             </switch>\r
545                                         </for>\r
546                                     </for>\r
547                                     <return status='failure'>\r
548                                         <parameter name='error-code' value='500' />\r
549                                         <parameter name='error-message' value="`'Unable to find network-id for network with network-role ' + $tmp.network-role`" />\r
550                                     </return>\r
551                                 </block>\r
552                             </outcome>\r
553                         </switch>\r
554                     </block>\r
555                 </for>\r
556             </for>\r
557         </block>\r
558     </method>\r
559 </service-logic>