GRAPI DG enhancement
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vf-module-topology-operation-assign.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='1-4-2-20181108R1'>\r
4     <method rpc='vf-module-topology-operation-assign' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
8                 <parameter name='contextPrefix' value='prop' />\r
9             </execute>\r
10             <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\r
11                 <outcome value=''>\r
12                     <block></block>\r
13                 </outcome>\r
14                 <outcome value='Other'>\r
15                     <set>\r
16                         <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\r
17                     </set>\r
18                 </outcome>\r
19             </switch>\r
20             <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\r
21                 <outcome value='CreateVfModuleInstance'>\r
22                     <block></block>\r
23                 </outcome>\r
24                 <outcome value='Other'>\r
25                     <block atomic="true">\r
26                         <set>\r
27                             <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />\r
28                         </set>\r
29                         <block atomic='true'>\r
30                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
31                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
32                                 <parameter name="input.ack-final-indicator" value="Y" />\r
33                                 <parameter name="input.response-code" value="500" />\r
34                                 <parameter name="input.response-message" value="`$error-message`" />\r
35                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
36                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
37                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
38                             </configure>\r
39                             <return status='failure'>\r
40                                 <parameter name='ack-final' value='Y'/>\r
41                                 <parameter name="error-code" value="500" />\r
42                                 <parameter name="error-message" value="`$error-message`" />\r
43                             </return>\r
44                         </block>\r
45                     </block>\r
46                 </outcome>\r
47             </switch>\r
48             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
49   key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\r
50   pfx='db.vf-module-model'>\r
51                 <outcome value='failure'>\r
52                     <block atomic="true">\r
53                         <set>\r
54                             <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />\r
55                         </set>\r
56                         <block atomic='true'>\r
57                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
58                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
59                                 <parameter name="input.ack-final-indicator" value="Y" />\r
60                                 <parameter name="input.response-code" value="500" />\r
61                                 <parameter name="input.response-message" value="`$error-message`" />\r
62                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
63                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
64                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
65                             </configure>\r
66                             <return status='failure'>\r
67                                 <parameter name='ack-final' value='Y'/>\r
68                                 <parameter name="error-code" value="500" />\r
69                                 <parameter name="error-message" value="`$error-message`" />\r
70                             </return>\r
71                         </block>\r
72                     </block>\r
73                 </outcome>\r
74                 <outcome value='not-found'>\r
75                     <block atomic="true">\r
76                         <set>\r
77                             <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />\r
78                         </set>\r
79                         <block atomic='true'>\r
80                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
81                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
82                                 <parameter name="input.ack-final-indicator" value="Y" />\r
83                                 <parameter name="input.response-code" value="500" />\r
84                                 <parameter name="input.response-message" value="`$error-message`" />\r
85                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
86                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
87                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
88                             </configure>\r
89                             <return status='failure'>\r
90                                 <parameter name='ack-final' value='Y'/>\r
91                                 <parameter name="error-code" value="500" />\r
92                                 <parameter name="error-message" value="`$error-message`" />\r
93                             </return>\r
94                         </block>\r
95                     </block>\r
96                 </outcome>\r
97             </get-resource>\r
98             <set>\r
99                 <parameter name='vnf-index' value='-1' />\r
100             </set>\r
101             <switch test='`$service-data.vnfs.vnf_length`'>\r
102                 <outcome value=''>\r
103                     <block atomic="true">\r
104                         <set>\r
105                             <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />\r
106                         </set>\r
107                         <block atomic='true'>\r
108                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
109                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
110                                 <parameter name="input.ack-final-indicator" value="Y" />\r
111                                 <parameter name="input.response-code" value="500" />\r
112                                 <parameter name="input.response-message" value="`$error-message`" />\r
113                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
114                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
115                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
116                             </configure>\r
117                             <return status='failure'>\r
118                                 <parameter name='ack-final' value='Y'/>\r
119                                 <parameter name="error-code" value="500" />\r
120                                 <parameter name="error-message" value="`$error-message`" />\r
121                             </return>\r
122                         </block>\r
123                     </block>\r
124                 </outcome>\r
125                 <outcome value='Other'>\r
126                     <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
127                         <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\r
128                             <outcome value='true'>\r
129                                 <block>\r
130                                     <set>\r
131                                         <parameter name='vnf-index' value='`$idx`' />\r
132                                     </set>\r
133                                     <break/>\r
134                                 </block>\r
135                             </outcome>\r
136                         </switch>\r
137                     </for>\r
138                 </outcome>\r
139             </switch>\r
140             <switch test='`$vnf-index`'>\r
141                 <outcome value='-1'>\r
142                     <block atomic="true">\r
143                         <set>\r
144                             <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />\r
145                         </set>\r
146                         <block atomic='true'>\r
147                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
148                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
149                                 <parameter name="input.ack-final-indicator" value="Y" />\r
150                                 <parameter name="input.response-code" value="500" />\r
151                                 <parameter name="input.response-message" value="`$error-message`" />\r
152                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
153                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
154                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
155                             </configure>\r
156                             <return status='failure'>\r
157                                 <parameter name='ack-final' value='Y'/>\r
158                                 <parameter name="error-code" value="500" />\r
159                                 <parameter name="error-message" value="`$error-message`" />\r
160                             </return>\r
161                         </block>\r
162                     </block>\r
163                 </outcome>\r
164             </switch>\r
165             <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>\r
166             <switch test="`$ss.self-serve-flag`">\r
167                 <outcome value='true'>\r
168                     <block atomic="true">\r
169                         <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\r
170                             <outcome value='failure'>\r
171                                 <block atomic="true">\r
172                                     <set>\r
173                                         <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />\r
174                                     </set>\r
175                                     <block atomic='true'>\r
176                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
177                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
178                                             <parameter name="input.ack-final-indicator" value="Y" />\r
179                                             <parameter name="input.response-code" value="500" />\r
180                                             <parameter name="input.response-message" value="`$error-message`" />\r
181                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
182                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
183                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
184                                         </configure>\r
185                                         <return status='failure'>\r
186                                             <parameter name='ack-final' value='Y'/>\r
187                                             <parameter name="error-code" value="500" />\r
188                                             <parameter name="error-message" value="`$error-message`" />\r
189                                         </return>\r
190                                     </block>\r
191                                 </block>\r
192                             </outcome>\r
193                         </call>\r
194                         <set>\r
195                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\r
196   value='PendingCreate' />\r
197                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\r
198   value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\r
199                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\r
200   value='`$vf-module-topology-operation-input.request-information.request-action`' />\r
201                         </set>\r
202                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
203                             <parameter name='filename' value='/var/tmp/ss-vnfend.log' />\r
204                         </execute>\r
205                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
206                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
207                             <parameter name="input.ack-final-indicator" value="Y" />\r
208                             <parameter name="input.response-code" value="200" />\r
209                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
210                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
211                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
212                         </configure>\r
213                         <return status='success'>\r
214                             <parameter name="ack-final-indicator" value="Y" />\r
215                             <parameter name="error-code" value="200" />\r
216                             <parameter name="error-message" value="`$error-message`" />\r
217                         </return>\r
218                     </block>\r
219                 </outcome>\r
220                 <outcome value='false'>\r
221                     <block atomic="true">\r
222                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
223                             <outcome value=''>\r
224                                 <set>\r
225                                     <parameter name='vf-module-index' value='0' />\r
226                                 </set>\r
227                             </outcome>\r
228                             <outcome value='Other'>\r
229                                 <block>\r
230                                     <set>\r
231                                         <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
232                                     </set>\r
233                                     <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\r
234                                         <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\r
235                                             <outcome value='true'>\r
236                                                 <block atomic="true">\r
237                                                     <set>\r
238                                                         <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\r
239        + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />\r
240                                                     </set>\r
241                                                     <block>\r
242                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
243                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
244                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
245                                                             <parameter name="input.response-code" value="500" />\r
246                                                             <parameter name="input.response-message" value="`$error-message`" />\r
247                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
248                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
249                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
250                                                         </configure>\r
251                                                         <return status='failure'>\r
252                                                             <parameter name='ack-final' value='Y'/>\r
253                                                             <parameter name="error-code" value="500" />\r
254                                                             <parameter name="error-message" value="`$error-message`" />\r
255                                                         </return>\r
256                                                     </block>\r
257                                                 </block>\r
258                                             </outcome>\r
259                                         </switch>\r
260                                     </for>\r
261                                 </block>\r
262                             </outcome>\r
263                         </switch>\r
264                         <set>\r
265                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\r
266                         </set>\r
267                         <set>\r
268                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\r
269    value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
270                         </set>\r
271                         <set>\r
272                             <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
273                             <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\r
274                             <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\r
275                             <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\r
276                             <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\r
277                         </set>\r
278                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
279                 resource="cloud-region" \r
280                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
281                      cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"\r
282         pfx='aai.cloud-region' local-only='false' >\r
283                             <outcome value='not-found'>\r
284                                 <block atomic="true">\r
285                                     <set>\r
286                                         <parameter name="error-message" value="Cloud region not found in AAI" />\r
287                                     </set>\r
288                                     <block>\r
289                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
290                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
291                                             <parameter name="input.ack-final-indicator" value="Y" />\r
292                                             <parameter name="input.response-code" value="500" />\r
293                                             <parameter name="input.response-message" value="`$error-message`" />\r
294                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
295                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
296                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
297                                         </configure>\r
298                                         <return status='failure'>\r
299                                             <parameter name='ack-final' value='Y'/>\r
300                                             <parameter name="error-code" value="500" />\r
301                                             <parameter name="error-message" value="`$error-message`" />\r
302                                         </return>\r
303                                     </block>\r
304                                 </block>\r
305                             </outcome>\r
306                             <outcome value='failure'>\r
307                                 <block atomic="true">\r
308                                     <set>\r
309                                         <parameter name="error-message" value="Error retrieving cloud region from AAI.  Is AAI down?" />\r
310                                     </set>\r
311                                     <block>\r
312                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
313                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
314                                             <parameter name="input.ack-final-indicator" value="Y" />\r
315                                             <parameter name="input.response-code" value="500" />\r
316                                             <parameter name="input.response-message" value="`$error-message`" />\r
317                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
318                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
319                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
320                                         </configure>\r
321                                         <return status='failure'>\r
322                                             <parameter name='ack-final' value='Y'/>\r
323                                             <parameter name="error-code" value="500" />\r
324                                             <parameter name="error-message" value="`$error-message`" />\r
325                                         </return>\r
326                                     </block>\r
327                                 </block>\r
328                             </outcome>\r
329                         </get-resource>\r
330                         <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
331                             <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\r
332                                 <outcome value='complex'>\r
333                                     <block atomic="true">\r
334                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
335                                             <parameter name='ctx_memory_result_key' value='aai-uid-split' />\r
336                                             <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\r
337                                             <parameter name='regex' value='/' />\r
338                                         </execute>\r
339                                         <set>\r
340                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\r
341    value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\r
342                                         </set>\r
343                                         <break/>\r
344                                     </block>\r
345                                 </outcome>\r
346                             </switch>\r
347                         </for>\r
348                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\r
349                             <outcome value=''>\r
350                                 <block atomic="true">\r
351                                     <set>\r
352                                         <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />\r
353                                     </set>\r
354                                     <block>\r
355                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
356                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
357                                             <parameter name="input.ack-final-indicator" value="Y" />\r
358                                             <parameter name="input.response-code" value="500" />\r
359                                             <parameter name="input.response-message" value="`$error-message`" />\r
360                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
361                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
362                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
363                                         </configure>\r
364                                         <return status='failure'>\r
365                                             <parameter name='ack-final' value='Y'/>\r
366                                             <parameter name="error-code" value="500" />\r
367                                             <parameter name="error-message" value="`$error-message`" />\r
368                                         </return>\r
369                                     </block>\r
370                                 </block>\r
371                             </outcome>\r
372                         </switch>\r
373                         <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\r
374                             <outcome value=''>\r
375                                 <set>\r
376                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\r
377   value='`$db.vf-module-model.invariant-uuid`' />\r
378                                 </set>\r
379                             </outcome>\r
380                             <outcome value='Other'>\r
381                                 <set>\r
382                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\r
383   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\r
384                                 </set>\r
385                             </outcome>\r
386                         </switch>\r
387                         <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\r
388                             <outcome value=''>\r
389                                 <set>\r
390                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\r
391   value='`$db.vf-module-model.uuid`' />\r
392                                 </set>\r
393                             </outcome>\r
394                             <outcome value='Other'>\r
395                                 <set>\r
396                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\r
397   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\r
398                                 </set>\r
399                             </outcome>\r
400                         </switch>\r
401                         <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\r
402                             <outcome value=''>\r
403                                 <set>\r
404                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-version'\r
405   value='`$db.vf-module-model.version`' />\r
406                                 </set>\r
407                             </outcome>\r
408                             <outcome value='Other'>\r
409                                 <set>\r
410                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-version'\r
411   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\r
412                                 </set>\r
413                             </outcome>\r
414                         </switch>\r
415                         <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\r
416                             <outcome value=''>\r
417                                 <set>\r
418                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-name'\r
419   value='`$db.vf-module-model.name`' />\r
420                                 </set>\r
421                             </outcome>\r
422                             <outcome value='Other'>\r
423                                 <set>\r
424                                     <parameter name='tmp.vf-module-topology.onap-model-information.model-name'\r
425   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\r
426                                 </set>\r
427                             </outcome>\r
428                         </switch>\r
429                         <set>\r
430                             <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\r
431   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\r
432                         </set>\r
433                         <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\r
434                             <outcome value=''>\r
435                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\r
436                                     <outcome value='failure'>\r
437                                         <block atomic="true">\r
438                                             <set>\r
439                                                 <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />\r
440                                             </set>\r
441                                             <block atomic='true'>\r
442                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
443                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
444                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
445                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
446                                                     <parameter name="input.response-code" value="500" />\r
447                                                     <parameter name="input.response-message" value="`$error-message`" />\r
448                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
449                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
450                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
451                                                 </configure>\r
452                                                 <return status='failure'>\r
453                                                     <parameter name='ack-final' value='Y'/>\r
454                                                     <parameter name="error-code" value="500" />\r
455                                                     <parameter name="error-message" value="`$error-message`" />\r
456                                                 </return>\r
457                                             </block>\r
458                                         </block>\r
459                                     </outcome>\r
460                                 </call>\r
461                             </outcome>\r
462                             <outcome value='Other'>\r
463                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
464                                     <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />\r
465                                     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
466                                     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
467                                     <parameter name='format' value='json' />\r
468                                     <parameter name='httpMethod' value='GET' />\r
469                                     <parameter name="responsePrefix" value="mdsal-preload" />\r
470                                     <outcome value='failure'>\r
471                                         <block>\r
472                                             <switch test='`$mdsal-preload.response-code`'>\r
473                                                 <outcome value='404'>\r
474                                                     <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\r
475                                                         <outcome value='failure'>\r
476                                                             <block atomic="true">\r
477                                                                 <set>\r
478                                                                     <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />\r
479                                                                 </set>\r
480                                                                 <block atomic='true'>\r
481                                                                     <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
482                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
483                                                                         <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
484                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
485                                                                         <parameter name="input.response-code" value="500" />\r
486                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
487                                                                         <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
488                                                                         <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
489                                                                         <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
490                                                                     </configure>\r
491                                                                     <return status='failure'>\r
492                                                                         <parameter name='ack-final' value='Y'/>\r
493                                                                         <parameter name="error-code" value="500" />\r
494                                                                         <parameter name="error-message" value="`$error-message`" />\r
495                                                                     </return>\r
496                                                                 </block>\r
497                                                             </block>\r
498                                                         </outcome>\r
499                                                     </call>\r
500                                                 </outcome>\r
501                                                 <outcome value='Other'>\r
502                                                     <block atomic="true">\r
503                                                         <set>\r
504                                                             <parameter name="error-message" value="Error retrieving preload-information" />\r
505                                                         </set>\r
506                                                         <block atomic='true'>\r
507                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
508                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
509                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
510                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
511                                                                 <parameter name="input.response-code" value="500" />\r
512                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
513                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
514                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
515                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
516                                                             </configure>\r
517                                                             <return status='failure'>\r
518                                                                 <parameter name='ack-final' value='Y'/>\r
519                                                                 <parameter name="error-code" value="500" />\r
520                                                                 <parameter name="error-message" value="`$error-message`" />\r
521                                                             </return>\r
522                                                         </block>\r
523                                                     </block>\r
524                                                 </outcome>\r
525                                             </switch>\r
526                                         </block>\r
527                                     </outcome>\r
528                                     <outcome value='success'>\r
529                                         <block>\r
530                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\r
531                                                 <outcome value='failure'>\r
532                                                     <block atomic='true'>\r
533                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
534                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
535                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
536                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
537                                                             <parameter name="input.response-code" value="500" />\r
538                                                             <parameter name="input.response-message" value="`$error-message`" />\r
539                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
540                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
541                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
542                                                         </configure>\r
543                                                         <return status='failure'>\r
544                                                             <parameter name='ack-final' value='Y'/>\r
545                                                             <parameter name="error-code" value="500" />\r
546                                                             <parameter name="error-message" value="`$error-message`" />\r
547                                                         </return>\r
548                                                     </block>\r
549                                                 </outcome>\r
550                                             </call>\r
551                                         </block>\r
552                                     </outcome>\r
553                                 </execute>\r
554                             </outcome>\r
555                         </switch>\r
556                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
557                             <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\r
558                         </execute>\r
559                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\r
560                             <outcome value='false'>\r
561                                 <set>\r
562                                     <parameter name='automated-assignment' value='true' />\r
563                                 </set>\r
564                             </outcome>\r
565                             <outcome value='true'>\r
566                                 <set>\r
567                                     <parameter name='automated-assignment' value='false' />\r
568                                 </set>\r
569                             </outcome>\r
570                         </switch>\r
571                         <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
572                             <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
573                                 <for silentFailure='true' index='vnfc-network-index' start='0' end='`$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
574                                     <block atomic="true">\r
575                                         <set>\r
576                                             <parameter name='vnf-network-index' value='-1' />\r
577                                         </set>\r
578                                         <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
579                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\r
580   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\r
581                                                 <outcome value='true'>\r
582                                                     <block atomic="true">\r
583                                                         <set>\r
584                                                             <parameter name='vnf-network-index' value='`$idx`' />\r
585                                                         </set>\r
586                                                         <set>\r
587                                                             <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[$vnfc-network-index].network-id'\r
588   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\r
589                                                         </set>\r
590                                                         <break/>\r
591                                                     </block>\r
592                                                 </outcome>\r
593                                             </switch>\r
594                                         </for>\r
595                                         <switch test='`$vnf-network-index`'>\r
596                                             <outcome value='-1'>\r
597                                                 <block atomic="true">\r
598                                                     <set>\r
599                                                         <parameter name="error-message" value="`'VNFC network role '\r
600       + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\r
601       + ' is not found in VNF network list'\r
602       `" />\r
603                                                     </set>\r
604                                                     <block atomic='true'>\r
605                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
606                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
607                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
608                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
609                                                             <parameter name="input.response-code" value="500" />\r
610                                                             <parameter name="input.response-message" value="`$error-message`" />\r
611                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
612                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
613                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
614                                                         </configure>\r
615                                                         <return status='failure'>\r
616                                                             <parameter name='ack-final' value='Y'/>\r
617                                                             <parameter name="error-code" value="500" />\r
618                                                             <parameter name="error-message" value="`$error-message`" />\r
619                                                         </return>\r
620                                                     </block>\r
621                                                 </block>\r
622                                             </outcome>\r
623                                         </switch>\r
624                                         <for index='subnet-role-index' start='0'\r
625   end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\r
626                                             <for index='address-family-index' start='0'\r
627   end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\r
628                                                 <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\r
629                                                     <outcome value=''>\r
630                                                         <block></block>\r
631                                                     </outcome>\r
632                                                     <outcome value='0'>\r
633                                                         <block></block>\r
634                                                     </outcome>\r
635                                                     <outcome value='Other'>\r
636                                                         <block atomic="true">\r
637                                                             <set>\r
638                                                                 <parameter name='tmp.address-family'\r
639   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\r
640                                                             </set>\r
641                                                             <block atomic="true">\r
642                                                                 <set>\r
643                                                                     <parameter name='af-count' value='0' />\r
644                                                                 </set>\r
645                                                                 <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\r
646                                                                     <switch test='`$tmp.address-family\r
647   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\r
648                                                                         <outcome value='true'>\r
649                                                                             <block atomic="true">\r
650                                                                                 <set>\r
651                                                                                     <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\r
652                                                                                 </set>\r
653                                                                                 <set>\r
654                                                                                     <parameter name='af-count' value='`$af-count + 1`' />\r
655                                                                                 </set>\r
656                                                                             </block>\r
657                                                                         </outcome>\r
658                                                                     </switch>\r
659                                                                 </for>\r
660                                                                 <switch test='`$af-count`'>\r
661                                                                     <outcome value='1'>\r
662                                                                         <set>\r
663                                                                             <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[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\r
664   value='`$subnet-id`' />\r
665                                                                         </set>\r
666                                                                     </outcome>\r
667                                                                     <outcome value='Other'>\r
668                                                                         <block atomic="true">\r
669                                                                             <set>\r
670                                                                                 <parameter name='subnet-id' value='-1' />\r
671                                                                             </set>\r
672                                                                             <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\r
673                                                                                 <switch test='`$tmp.address-family\r
674   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\r
675                                                                                     <outcome value='true'>\r
676                                                                                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\r
677                                                                                             <outcome value=''>\r
678                                                                                                 <block atomic="true">\r
679                                                                                                     <set>\r
680                                                                                                         <parameter name="error-message" value="`'SDNC subnet id '\r
681       + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\r
682       + ' does not have network-start-address populated'`" />\r
683                                                                                                     </set>\r
684                                                                                                     <block atomic='true'>\r
685                                                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
686                                                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
687                                                                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
688                                                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
689                                                                                                             <parameter name="input.response-code" value="500" />\r
690                                                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
691                                                                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
692                                                                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
693                                                                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
694                                                                                                         </configure>\r
695                                                                                                         <return status='failure'>\r
696                                                                                                             <parameter name='ack-final' value='Y'/>\r
697                                                                                                             <parameter name="error-code" value="500" />\r
698                                                                                                             <parameter name="error-message" value="`$error-message`" />\r
699                                                                                                         </return>\r
700                                                                                                     </block>\r
701                                                                                                 </block>\r
702                                                                                             </outcome>\r
703                                                                                             <outcome value='Other'>\r
704                                                                                                 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\r
705                                                                                                     <outcome value=''>\r
706                                                                                                         <block atomic="true">\r
707                                                                                                             <set>\r
708                                                                                                                 <parameter name="error-message" value="`'SDNC subnet id '\r
709       + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\r
710       + ' does not have cidr-mask populated'`" />\r
711                                                                                                             </set>\r
712                                                                                                             <block atomic='true'>\r
713                                                                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
714                                                                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
715                                                                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
716                                                                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
717                                                                                                                     <parameter name="input.response-code" value="500" />\r
718                                                                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
719                                                                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
720                                                                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
721                                                                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
722                                                                                                                 </configure>\r
723                                                                                                                 <return status='failure'>\r
724                                                                                                                     <parameter name='ack-final' value='Y'/>\r
725                                                                                                                     <parameter name="error-code" value="500" />\r
726                                                                                                                     <parameter name="error-message" value="`$error-message`" />\r
727                                                                                                                 </return>\r
728                                                                                                             </block>\r
729                                                                                                         </block>\r
730                                                                                                     </outcome>\r
731                                                                                                     <outcome value='Other'>\r
732                                                                                                         <block atomic="true">\r
733                                                                                                             <switch test='`$tmp.address-family`'>\r
734                                                                                                                 <outcome value='ipv4'>\r
735                                                                                                                     <set>\r
736                                                                                                                         <parameter name='ip-type' value='IPv4' />\r
737                                                                                                                     </set>\r
738                                                                                                                 </outcome>\r
739                                                                                                                 <outcome value='ipv6'>\r
740                                                                                                                     <set>\r
741                                                                                                                         <parameter name='ip-type' value='IPv6' />\r
742                                                                                                                     </set>\r
743                                                                                                                 </outcome>\r
744                                                                                                             </switch>\r
745                                                                                                             <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">\r
746                                                                                                                 <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />\r
747                                                                                                                 <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />\r
748                                                                                                                 <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />\r
749                                                                                                                 <parameter name="ipType" value="`$ip-type`" />\r
750                                                                                                                 <outcome value='success'>\r
751                                                                                                                     <block atomic="true">\r
752                                                                                                                         <set>\r
753                                                                                                                             <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\r
754                                                                                                                         </set>\r
755                                                                                                                         <break/>\r
756                                                                                                                     </block>\r
757                                                                                                                 </outcome>\r
758                                                                                                             </execute>\r
759                                                                                                         </block>\r
760                                                                                                     </outcome>\r
761                                                                                                 </switch>\r
762                                                                                             </outcome>\r
763                                                                                         </switch>\r
764                                                                                     </outcome>\r
765                                                                                 </switch>\r
766                                                                             </for>\r
767                                                                             <switch test='`$subnet-id`'>\r
768                                                                                 <outcome value='-1'>\r
769                                                                                     <block atomic="true">\r
770                                                                                         <set>\r
771                                                                                             <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '\r
772       + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\r
773       `" />\r
774                                                                                         </set>\r
775                                                                                         <block atomic='true'>\r
776                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
777                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
778                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
779                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
780                                                                                                 <parameter name="input.response-code" value="500" />\r
781                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
782                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
783                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
784                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
785                                                                                             </configure>\r
786                                                                                             <return status='failure'>\r
787                                                                                                 <parameter name='ack-final' value='Y'/>\r
788                                                                                                 <parameter name="error-code" value="500" />\r
789                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
790                                                                                             </return>\r
791                                                                                         </block>\r
792                                                                                     </block>\r
793                                                                                 </outcome>\r
794                                                                             </switch>\r
795                                                                             <set>\r
796                                                                                 <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[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\r
797                                                                             </set>\r
798                                                                         </block>\r
799                                                                     </outcome>\r
800                                                                 </switch>\r
801                                                             </block>\r
802                                                         </block>\r
803                                                     </outcome>\r
804                                                 </switch>\r
805                                             </for>\r
806                                         </for>\r
807                                     </block>\r
808                                 </for>\r
809                             </for>\r
810                         </for>\r
811                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
812                             <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\r
813                         </execute>\r
814                         <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
815                             <block atomic="true">\r
816                                 <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
817                                     <block atomic="true">\r
818                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
819   key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\r
820     and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\r
821   pfx='db.vnf-related-network-role[]'>\r
822                                             <outcome value='failure'>\r
823                                                 <block atomic='true'>\r
824                                                     <set>\r
825                                                         <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />\r
826                                                     </set>\r
827                                                     <block atomic='true'>\r
828                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
829                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
830                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
831                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
832                                                             <parameter name="input.response-code" value="500" />\r
833                                                             <parameter name="input.response-message" value="`$error-message`" />\r
834                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
835                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
836                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
837                                                         </configure>\r
838                                                         <return status='failure'>\r
839                                                             <parameter name='ack-final' value='Y'/>\r
840                                                             <parameter name="error-code" value="500" />\r
841                                                             <parameter name="error-message" value="`$error-message`" />\r
842                                                         </return>\r
843                                                     </block>\r
844                                                 </block>\r
845                                             </outcome>\r
846                                             <outcome value='success'>\r
847                                                 <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\r
848                                                     <block atomic="true">\r
849                                                         <set>\r
850                                                             <parameter name='found-related-network' value='false' />\r
851                                                         </set>\r
852                                                         <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
853                                                             <block atomic="true">\r
854                                                                 <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\r
855                                                                     <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\r
856   == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\r
857                                                                         <outcome value='true'>\r
858                                                                             <block atomic="true">\r
859                                                                                 <set>\r
860                                                                                     <parameter name='found-related-network' value='true' />\r
861                                                                                 </set>\r
862                                                                                 <set>\r
863                                                                                     <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\r
864                                                                                     <parameter name='saved-related-network-index' value='`$related-network-index`' />\r
865                                                                                 </set>\r
866                                                                                 <break/>\r
867                                                                             </block>\r
868                                                                         </outcome>\r
869                                                                     </switch>\r
870                                                                 </for>\r
871                                                                 <switch test='`$found-related-network`'>\r
872                                                                     <outcome value='true'>\r
873                                                                         <break/>\r
874                                                                     </outcome>\r
875                                                                 </switch>\r
876                                                             </block>\r
877                                                         </for>\r
878                                                         <switch test='`$found-related-network`'>\r
879                                                             <outcome value='false'>\r
880                                                                 <block atomic='true'>\r
881                                                                     <set>\r
882                                                                         <parameter name="error-message" value="`'Unable to find related network '\r
883       + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />\r
884                                                                     </set>\r
885                                                                     <block atomic='true'>\r
886                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
887                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
888                                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
889                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
890                                                                             <parameter name="input.response-code" value="500" />\r
891                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
892                                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
893                                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
894                                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
895                                                                         </configure>\r
896                                                                         <return status='failure'>\r
897                                                                             <parameter name='ack-final' value='Y'/>\r
898                                                                             <parameter name="error-code" value="500" />\r
899                                                                             <parameter name="error-message" value="`$error-message`" />\r
900                                                                         </return>\r
901                                                                     </block>\r
902                                                                 </block>\r
903                                                             </outcome>\r
904                                                         </switch>\r
905                                                         <set>\r
906                                                             <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\r
907   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\r
908                                                             <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\r
909   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\r
910                                                         </set>\r
911                                                         <set>\r
912                                                             <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\r
913                                                         </set>\r
914                                                         <switch test='`$rn-index`'>\r
915                                                             <outcome value=''>\r
916                                                                 <set>\r
917                                                                     <parameter name='rn-index' value='0' />\r
918                                                                 </set>\r
919                                                             </outcome>\r
920                                                         </switch>\r
921                                                         <set>\r
922                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\r
923   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\r
924                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\r
925   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\r
926                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\r
927   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\r
928                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\r
929   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\r
930                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\r
931   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\r
932                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\r
933   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\r
934                                                         </set>\r
935                                                         <set>\r
936                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\r
937   value='`$rn-index + 1`' />\r
938                                                         </set>\r
939                                                     </block>\r
940                                                 </for>\r
941                                             </outcome>\r
942                                         </get-resource>\r
943                                     </block>\r
944                                 </for>\r
945                             </block>\r
946                         </for>\r
947                         <set>\r
948                             <parameter name='vf-module-object-path'\r
949  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
950  + $vf-module-topology-operation-input.service-information.service-instance-id\r
951  + '/service-data/vnfs/vnf/'\r
952  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
953  + '/vnf-data/vf-modules/vf-module/'\r
954  + $vf-module-topology-operation-input.vf-module-information.vf-module-id\r
955  + '/vf-module-data/vf-module-topology/'`"/>\r
956                             <parameter name='vnf-object-path'\r
957  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
958  + $vf-module-topology-operation-input.service-information.service-instance-id\r
959  + '/service-data/vnfs/vnf/'\r
960  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
961  + '/vnf-data/vnf-topology/'`"/>\r
962                             <parameter name='service-object-path'\r
963  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
964  + $vf-module-topology-operation-input.service-information.service-instance-id\r
965  + '/service-data/service-topology/'`"/>\r
966                         </set>\r
967                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
968    resource="vf-module"\r
969    key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
970       AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
971    force="true" pfx="tmp.AnAI-data">\r
972                             <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />\r
973                             <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />\r
974                             <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />\r
975                             <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />\r
976                             <parameter name="selflink" value="`$vf-module-object-path`" />\r
977                             <parameter name="automated-assignment" value="`$automated-assignment`" />\r
978                             <outcome value='failure'>\r
979                                 <block atomic="true">\r
980                                     <set>\r
981                                         <parameter name="error-message" value="Error updating vf-module in AAI" />\r
982                                     </set>\r
983                                     <block atomic='true'>\r
984                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
985                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
986                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
987                                             <parameter name="input.ack-final-indicator" value="Y" />\r
988                                             <parameter name="input.response-code" value="500" />\r
989                                             <parameter name="input.response-message" value="`$error-message`" />\r
990                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
991                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
992                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
993                                         </configure>\r
994                                         <return status='failure'>\r
995                                             <parameter name='ack-final' value='Y'/>\r
996                                             <parameter name="error-code" value="500" />\r
997                                             <parameter name="error-message" value="`$error-message`" />\r
998                                         </return>\r
999                                     </block>\r
1000                                 </block>\r
1001                             </outcome>\r
1002                             <outcome value='not-found'>\r
1003                                 <block atomic="true">\r
1004                                     <set>\r
1005                                         <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />\r
1006                                     </set>\r
1007                                 </block>\r
1008                             </outcome>\r
1009                         </update>\r
1010                         <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
1011                             <block atomic="true">\r
1012                                 <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
1013                                     <block atomic="true">\r
1014                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\r
1015                                             <outcome value=''>\r
1016                                                 <set>\r
1017                                                     <parameter name='tmp.nfc-naming-code' value='DEFAULT' />\r
1018                                                 </set>\r
1019                                             </outcome>\r
1020                                             <outcome value='Other'>\r
1021                                                 <set>\r
1022                                                     <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\r
1023                                                 </set>\r
1024                                             </outcome>\r
1025                                         </switch>\r
1026                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\r
1027                                             <outcome value=''>\r
1028                                                 <set>\r
1029                                                     <parameter name='tmp.nfc-function' value='DEFAULT' />\r
1030                                                 </set>\r
1031                                             </outcome>\r
1032                                             <outcome value='Other'>\r
1033                                                 <set>\r
1034                                                     <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\r
1035                                                 </set>\r
1036                                             </outcome>\r
1037                                         </switch>\r
1038                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\r
1039                                             <outcome value=''>\r
1040                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1041         resource="vnfc" \r
1042         key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >\r
1043                                                     <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />\r
1044                                                     <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />\r
1045                                                     <parameter name="nfc-function" value="`$tmp.nfc-function`" />\r
1046                                                     <parameter name="orchestration-status" value="`PendingCreate`" />\r
1047                                                     <parameter name="in-maint" value="true" />\r
1048                                                     <parameter name="prov-status" value="`PREPROV`" />\r
1049                                                     <outcome value='failure'>\r
1050                                                         <block atomic="true">\r
1051                                                             <set>\r
1052                                                                 <parameter name="error-message" value="Error saving vnfc to AAI" />\r
1053                                                             </set>\r
1054                                                             <block atomic='true'>\r
1055                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1056                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1057                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1058                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1059                                                                     <parameter name="input.response-code" value="500" />\r
1060                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1061                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1062                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1063                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1064                                                                 </configure>\r
1065                                                                 <return status='failure'>\r
1066                                                                     <parameter name='ack-final' value='Y'/>\r
1067                                                                     <parameter name="error-code" value="500" />\r
1068                                                                     <parameter name="error-message" value="`$error-message`" />\r
1069                                                                 </return>\r
1070                                                             </block>\r
1071                                                         </block>\r
1072                                                     </outcome>\r
1073                                                     <outcome value='not-found'>\r
1074                                                         <block atomic="true">\r
1075                                                             <set>\r
1076                                                                 <parameter name="error-message" value="Error saving vnfc to AAI" />\r
1077                                                             </set>\r
1078                                                             <block atomic='true'>\r
1079                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1080                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1081                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1082                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1083                                                                     <parameter name="input.response-code" value="500" />\r
1084                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1085                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1086                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1087                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1088                                                                 </configure>\r
1089                                                                 <return status='failure'>\r
1090                                                                     <parameter name='ack-final' value='Y'/>\r
1091                                                                     <parameter name="error-code" value="500" />\r
1092                                                                     <parameter name="error-message" value="`$error-message`" />\r
1093                                                                 </return>\r
1094                                                             </block>\r
1095                                                         </block>\r
1096                                                     </outcome>\r
1097                                                 </save>\r
1098                                             </outcome>\r
1099                                             <outcome value='Other'>\r
1100                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1101         resource="vnfc" \r
1102         key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >\r
1103                                                     <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />\r
1104                                                     <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />\r
1105                                                     <parameter name="nfc-function" value="`$tmp.nfc-function`" />\r
1106                                                     <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />\r
1107                                                     <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />\r
1108                                                     <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />\r
1109                                                     <parameter name="orchestration-status" value="`PendingCreate`" />\r
1110                                                     <parameter name="in-maint" value="true" />\r
1111                                                     <parameter name="prov-status" value="`PREPROV`" />\r
1112                                                     <outcome value='failure'>\r
1113                                                         <block atomic="true">\r
1114                                                             <set>\r
1115                                                                 <parameter name="error-message" value="Error saving vnfc to AAI" />\r
1116                                                             </set>\r
1117                                                             <block atomic='true'>\r
1118                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1119                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1120                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1121                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1122                                                                     <parameter name="input.response-code" value="500" />\r
1123                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1124                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1125                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1126                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1127                                                                 </configure>\r
1128                                                                 <return status='failure'>\r
1129                                                                     <parameter name='ack-final' value='Y'/>\r
1130                                                                     <parameter name="error-code" value="500" />\r
1131                                                                     <parameter name="error-message" value="`$error-message`" />\r
1132                                                                 </return>\r
1133                                                             </block>\r
1134                                                         </block>\r
1135                                                     </outcome>\r
1136                                                     <outcome value='not-found'>\r
1137                                                         <block atomic="true">\r
1138                                                             <set>\r
1139                                                                 <parameter name="error-message" value="Error saving vnfc to AAI" />\r
1140                                                             </set>\r
1141                                                             <block atomic='true'>\r
1142                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1143                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1144                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1145                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1146                                                                     <parameter name="input.response-code" value="500" />\r
1147                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1148                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1149                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1150                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1151                                                                 </configure>\r
1152                                                                 <return status='failure'>\r
1153                                                                     <parameter name='ack-final' value='Y'/>\r
1154                                                                     <parameter name="error-code" value="500" />\r
1155                                                                     <parameter name="error-message" value="`$error-message`" />\r
1156                                                                 </return>\r
1157                                                             </block>\r
1158                                                         </block>\r
1159                                                     </outcome>\r
1160                                                 </save>\r
1161                                             </outcome>\r
1162                                         </switch>\r
1163                                         <set>\r
1164                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\r
1165                                         </set>\r
1166                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1167    resource="vnfc:relationship-list"\r
1168    key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"\r
1169    force="true" pfx="tmp.AnAI-data">\r
1170                                             <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />\r
1171                                             <parameter name="relationship-list.relationship[0].related-link"\r
1172       value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +\r
1173         $vf-module-topology-operation-input.vnf-information.vnf-id`" />\r
1174                                             <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />\r
1175                                             <parameter name="relationship-list.relationship[1].related-link"\r
1176       value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +\r
1177         $vf-module-topology-operation-input.vnf-information.vnf-id +\r
1178         '/vf-modules/vf-module/' +\r
1179         $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />\r
1180                                             <outcome value='failure'>\r
1181                                                 <block atomic="true">\r
1182                                                     <set>\r
1183                                                         <parameter name="error-message" value="Error updating vnfc relationships in AAI" />\r
1184                                                     </set>\r
1185                                                     <block atomic='true'>\r
1186                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1187                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1188                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1189                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1190                                                             <parameter name="input.response-code" value="500" />\r
1191                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1192                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1193                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1194                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1195                                                         </configure>\r
1196                                                         <return status='failure'>\r
1197                                                             <parameter name='ack-final' value='Y'/>\r
1198                                                             <parameter name="error-code" value="500" />\r
1199                                                             <parameter name="error-message" value="`$error-message`" />\r
1200                                                         </return>\r
1201                                                     </block>\r
1202                                                 </block>\r
1203                                             </outcome>\r
1204                                             <outcome value='not-found'>\r
1205                                                 <block atomic="true">\r
1206                                                     <set>\r
1207                                                         <parameter name="error-message" value="Not-found error updating vnfc relationships" />\r
1208                                                     </set>\r
1209                                                     <block atomic='true'>\r
1210                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1211                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1212                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1213                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1214                                                             <parameter name="input.response-code" value="500" />\r
1215                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1216                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1217                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1218                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1219                                                         </configure>\r
1220                                                         <return status='failure'>\r
1221                                                             <parameter name='ack-final' value='Y'/>\r
1222                                                             <parameter name="error-code" value="500" />\r
1223                                                             <parameter name="error-message" value="`$error-message`" />\r
1224                                                         </return>\r
1225                                                     </block>\r
1226                                                 </block>\r
1227                                             </outcome>\r
1228                                         </save>\r
1229                                         <for silentFailure='true' index='network-role-index' start='0' end='`$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
1230                                             <block atomic="true">\r
1231                                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >\r
1232                                                     <parameter name="ctx-destination" value="cp-instance-id" />\r
1233                                                 </execute>\r
1234                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1235         resource="cp" \r
1236         key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1237           AND cp.cp-instance-id = $cp-instance-id" >\r
1238                                                     <parameter name="cp-instance-id" value="`$cp-instance-id`" />\r
1239                                                     <parameter name="port-id" value="0" />\r
1240                                                     <outcome value='failure'>\r
1241                                                         <block atomic="true">\r
1242                                                             <set>\r
1243                                                                 <parameter name="error-message" value="Error saving cp object to AAI" />\r
1244                                                             </set>\r
1245                                                             <block atomic='true'>\r
1246                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1247                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1248                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1249                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1250                                                                     <parameter name="input.response-code" value="500" />\r
1251                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1252                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1253                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1254                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1255                                                                 </configure>\r
1256                                                                 <return status='failure'>\r
1257                                                                     <parameter name='ack-final' value='Y'/>\r
1258                                                                     <parameter name="error-code" value="500" />\r
1259                                                                     <parameter name="error-message" value="`$error-message`" />\r
1260                                                                 </return>\r
1261                                                             </block>\r
1262                                                         </block>\r
1263                                                     </outcome>\r
1264                                                     <outcome value='not-found'>\r
1265                                                         <block atomic="true">\r
1266                                                             <set>\r
1267                                                                 <parameter name="error-message" value="Error saving cp object to AAI" />\r
1268                                                             </set>\r
1269                                                             <block atomic='true'>\r
1270                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1271                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1272                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1273                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1274                                                                     <parameter name="input.response-code" value="500" />\r
1275                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1276                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1277                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1278                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1279                                                                 </configure>\r
1280                                                                 <return status='failure'>\r
1281                                                                     <parameter name='ack-final' value='Y'/>\r
1282                                                                     <parameter name="error-code" value="500" />\r
1283                                                                     <parameter name="error-message" value="`$error-message`" />\r
1284                                                                 </return>\r
1285                                                             </block>\r
1286                                                         </block>\r
1287                                                     </outcome>\r
1288                                                 </save>\r
1289                                                 <set>\r
1290                                                     <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[$network-role-index].connection-point.connection-point-id'\r
1291   value='`$cp-instance-id`' />\r
1292                                                     <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[$network-role-index].connection-point.port-id'\r
1293   value='0' />\r
1294                                                 </set>\r
1295                                                 <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\r
1296                                                     <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\r
1297                                                         <block atomic="true">\r
1298                                                             <set>\r
1299                                                                 <parameter name='tmp.address-family'\r
1300   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\r
1301                                                             </set>\r
1302                                                             <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\r
1303                                                                 <switch test='`$tmp.address-family`'>\r
1304                                                                     <outcome value='ipv4'>\r
1305                                                                         <block atomic="true">\r
1306                                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1307         resource="l3-interface-ipv4-address-list" \r
1308         key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1309           AND cp.cp-instance-id = $cp-instance-id\r
1310           AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >\r
1311                                                                                 <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />\r
1312                                                                                 <parameter name="l3-interface-ipv4-prefix-length" value="32" />\r
1313                                                                                 <parameter name="is-floating" value="false" />\r
1314                                                                                 <outcome value='failure'>\r
1315                                                                                     <block atomic="true">\r
1316                                                                                         <set>\r
1317                                                                                             <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />\r
1318                                                                                         </set>\r
1319                                                                                         <block atomic='true'>\r
1320                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1321                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1322                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1323                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1324                                                                                                 <parameter name="input.response-code" value="500" />\r
1325                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1326                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1327                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1328                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1329                                                                                             </configure>\r
1330                                                                                             <return status='failure'>\r
1331                                                                                                 <parameter name='ack-final' value='Y'/>\r
1332                                                                                                 <parameter name="error-code" value="500" />\r
1333                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1334                                                                                             </return>\r
1335                                                                                         </block>\r
1336                                                                                     </block>\r
1337                                                                                 </outcome>\r
1338                                                                             </save>\r
1339                                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1340    resource="l3-interface-ipv4-address-list:relationship-list"\r
1341    key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1342           AND cp.cp-instance-id = $cp-instance-id\r
1343           AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"\r
1344    force="true" pfx="tmp.AnAI-data">\r
1345                                                                                 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1346                                                                                 <parameter name="relationship-list.relationship[0].related-link"\r
1347       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1348         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />\r
1349                                                                                 <parameter name="relationship-list.relationship[1].related-to" value="subnet" />\r
1350                                                                                 <parameter name="relationship-list.relationship[1].related-link"\r
1351       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1352         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\r
1353         '/subnets/subnet/' +\r
1354         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />\r
1355                                                                                 <outcome value='failure'>\r
1356                                                                                     <block atomic="true">\r
1357                                                                                         <set>\r
1358                                                                                             <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />\r
1359                                                                                         </set>\r
1360                                                                                         <block atomic='true'>\r
1361                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1362                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1363                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1364                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1365                                                                                                 <parameter name="input.response-code" value="500" />\r
1366                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1367                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1368                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1369                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1370                                                                                             </configure>\r
1371                                                                                             <return status='failure'>\r
1372                                                                                                 <parameter name='ack-final' value='Y'/>\r
1373                                                                                                 <parameter name="error-code" value="500" />\r
1374                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1375                                                                                             </return>\r
1376                                                                                         </block>\r
1377                                                                                     </block>\r
1378                                                                                 </outcome>\r
1379                                                                                 <outcome value='not-found'>\r
1380                                                                                     <block atomic="true">\r
1381                                                                                         <set>\r
1382                                                                                             <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />\r
1383                                                                                         </set>\r
1384                                                                                         <block atomic='true'>\r
1385                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1386                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1387                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1388                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1389                                                                                                 <parameter name="input.response-code" value="500" />\r
1390                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1391                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1392                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1393                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1394                                                                                             </configure>\r
1395                                                                                             <return status='failure'>\r
1396                                                                                                 <parameter name='ack-final' value='Y'/>\r
1397                                                                                                 <parameter name="error-code" value="500" />\r
1398                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1399                                                                                             </return>\r
1400                                                                                         </block>\r
1401                                                                                     </block>\r
1402                                                                                 </outcome>\r
1403                                                                             </save>\r
1404                                                                         </block>\r
1405                                                                     </outcome>\r
1406                                                                     <outcome value='ipv6'>\r
1407                                                                         <block atomic="true">\r
1408                                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1409         resource="l3-interface-ipv6-address-list" \r
1410         key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1411           AND cp.cp-instance-id = $cp-instance-id\r
1412           AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >\r
1413                                                                                 <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />\r
1414                                                                                 <parameter name="l3-interface-ipv6-prefix-length" value="128" />\r
1415                                                                                 <parameter name="is-floating" value="false" />\r
1416                                                                                 <outcome value='failure'>\r
1417                                                                                     <block atomic="true">\r
1418                                                                                         <set>\r
1419                                                                                             <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />\r
1420                                                                                         </set>\r
1421                                                                                         <block atomic='true'>\r
1422                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1423                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1424                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1425                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1426                                                                                                 <parameter name="input.response-code" value="500" />\r
1427                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1428                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1429                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1430                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1431                                                                                             </configure>\r
1432                                                                                             <return status='failure'>\r
1433                                                                                                 <parameter name='ack-final' value='Y'/>\r
1434                                                                                                 <parameter name="error-code" value="500" />\r
1435                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1436                                                                                             </return>\r
1437                                                                                         </block>\r
1438                                                                                     </block>\r
1439                                                                                 </outcome>\r
1440                                                                             </save>\r
1441                                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1442    resource="l3-interface-ipv6-address-list:relationship-list"\r
1443    key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1444           AND cp.cp-instance-id = $cp-instance-id\r
1445           AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"\r
1446    force="true" pfx="tmp.AnAI-data">\r
1447                                                                                 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1448                                                                                 <parameter name="relationship-list.relationship[0].related-link"\r
1449       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1450         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />\r
1451                                                                                 <parameter name="relationship-list.relationship[1].related-to" value="subnet" />\r
1452                                                                                 <parameter name="relationship-list.relationship[1].related-link"\r
1453       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1454         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\r
1455         '/subnets/subnet/' +\r
1456         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />\r
1457                                                                                 <outcome value='failure'>\r
1458                                                                                     <block atomic="true">\r
1459                                                                                         <set>\r
1460                                                                                             <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />\r
1461                                                                                         </set>\r
1462                                                                                         <block atomic='true'>\r
1463                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1464                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1465                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1466                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1467                                                                                                 <parameter name="input.response-code" value="500" />\r
1468                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1469                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1470                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1471                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1472                                                                                             </configure>\r
1473                                                                                             <return status='failure'>\r
1474                                                                                                 <parameter name='ack-final' value='Y'/>\r
1475                                                                                                 <parameter name="error-code" value="500" />\r
1476                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1477                                                                                             </return>\r
1478                                                                                         </block>\r
1479                                                                                     </block>\r
1480                                                                                 </outcome>\r
1481                                                                                 <outcome value='not-found'>\r
1482                                                                                     <block atomic="true">\r
1483                                                                                         <set>\r
1484                                                                                             <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />\r
1485                                                                                         </set>\r
1486                                                                                         <block atomic='true'>\r
1487                                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1488                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1489                                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1490                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1491                                                                                                 <parameter name="input.response-code" value="500" />\r
1492                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1493                                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1494                                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1495                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1496                                                                                             </configure>\r
1497                                                                                             <return status='failure'>\r
1498                                                                                                 <parameter name='ack-final' value='Y'/>\r
1499                                                                                                 <parameter name="error-code" value="500" />\r
1500                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1501                                                                                             </return>\r
1502                                                                                         </block>\r
1503                                                                                     </block>\r
1504                                                                                 </outcome>\r
1505                                                                             </save>\r
1506                                                                         </block>\r
1507                                                                     </outcome>\r
1508                                                                 </switch>\r
1509                                                             </for>\r
1510                                                         </block>\r
1511                                                     </for>\r
1512                                                 </for>\r
1513                                                 <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
1514                                                     <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\r
1515   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\r
1516                                                         <outcome value='true'>\r
1517                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1518    resource="cp:relationship-list"\r
1519    key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1520      AND cp.cp-instance-id = $cp-instance-id"\r
1521    force="true" pfx="tmp.AnAI-data">\r
1522                                                                 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1523                                                                 <parameter name="relationship-list.relationship[0].related-link"\r
1524       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1525         $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />\r
1526                                                                 <outcome value='failure'>\r
1527                                                                     <block atomic="true">\r
1528                                                                         <set>\r
1529                                                                             <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />\r
1530                                                                         </set>\r
1531                                                                         <block atomic='true'>\r
1532                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1533                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1534                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1535                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1536                                                                                 <parameter name="input.response-code" value="500" />\r
1537                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1538                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1539                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1540                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1541                                                                             </configure>\r
1542                                                                             <return status='failure'>\r
1543                                                                                 <parameter name='ack-final' value='Y'/>\r
1544                                                                                 <parameter name="error-code" value="500" />\r
1545                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1546                                                                             </return>\r
1547                                                                         </block>\r
1548                                                                     </block>\r
1549                                                                 </outcome>\r
1550                                                                 <outcome value='not-found'>\r
1551                                                                     <block atomic="true">\r
1552                                                                         <set>\r
1553                                                                             <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />\r
1554                                                                         </set>\r
1555                                                                         <block atomic='true'>\r
1556                                                                             <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1557                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1558                                                                                 <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1559                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1560                                                                                 <parameter name="input.response-code" value="500" />\r
1561                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1562                                                                                 <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1563                                                                                 <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1564                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1565                                                                             </configure>\r
1566                                                                             <return status='failure'>\r
1567                                                                                 <parameter name='ack-final' value='Y'/>\r
1568                                                                                 <parameter name="error-code" value="500" />\r
1569                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1570                                                                             </return>\r
1571                                                                         </block>\r
1572                                                                     </block>\r
1573                                                                 </outcome>\r
1574                                                             </save>\r
1575                                                         </outcome>\r
1576                                                     </switch>\r
1577                                                 </for>\r
1578                                                 <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
1579                                                     <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\r
1580   == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\r
1581                                                         <outcome value='true'>\r
1582                                                             <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\r
1583                                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1584    resource="cp:relationship-list"\r
1585    key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1586      AND cp.cp-instance-id = $cp-instance-id"\r
1587    force="true" pfx="tmp.AnAI-data">\r
1588                                                                     <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1589                                                                     <parameter name="relationship-list.relationship[0].related-link"\r
1590       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1591         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />\r
1592                                                                     <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />\r
1593                                                                     <parameter name="relationship-list.relationship[1].related-link"\r
1594       value="`'/aai/v$/network/vlan-tags/vlan-tag/' +\r
1595         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />\r
1596                                                                     <outcome value='failure'>\r
1597                                                                         <block atomic="true">\r
1598                                                                             <set>\r
1599                                                                                 <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />\r
1600                                                                             </set>\r
1601                                                                             <block atomic='true'>\r
1602                                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1603                                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1604                                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1605                                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1606                                                                                     <parameter name="input.response-code" value="500" />\r
1607                                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1608                                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1609                                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1610                                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1611                                                                                 </configure>\r
1612                                                                                 <return status='failure'>\r
1613                                                                                     <parameter name='ack-final' value='Y'/>\r
1614                                                                                     <parameter name="error-code" value="500" />\r
1615                                                                                     <parameter name="error-message" value="`$error-message`" />\r
1616                                                                                 </return>\r
1617                                                                             </block>\r
1618                                                                         </block>\r
1619                                                                     </outcome>\r
1620                                                                     <outcome value='not-found'>\r
1621                                                                         <block atomic="true">\r
1622                                                                             <set>\r
1623                                                                                 <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />\r
1624                                                                             </set>\r
1625                                                                             <block atomic='true'>\r
1626                                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1627                                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1628                                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1629                                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1630                                                                                     <parameter name="input.response-code" value="500" />\r
1631                                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1632                                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1633                                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1634                                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1635                                                                                 </configure>\r
1636                                                                                 <return status='failure'>\r
1637                                                                                     <parameter name='ack-final' value='Y'/>\r
1638                                                                                     <parameter name="error-code" value="500" />\r
1639                                                                                     <parameter name="error-message" value="`$error-message`" />\r
1640                                                                                 </return>\r
1641                                                                             </block>\r
1642                                                                         </block>\r
1643                                                                     </outcome>\r
1644                                                                 </save>\r
1645                                                             </for>\r
1646                                                         </outcome>\r
1647                                                     </switch>\r
1648                                                 </for>\r
1649                                             </block>\r
1650                                         </for>\r
1651                                     </block>\r
1652                                 </for>\r
1653                                 <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
1654                                     <block atomic="true">\r
1655                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1656    resource="vf-module:relationship-list"\r
1657    key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
1658       AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
1659    force="true" pfx="tmp.AnAI-data">\r
1660                                             <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1661                                             <parameter name="relationship-list.relationship[0].related-link"\r
1662       value="`'/aai/v$/network/l3-networks/l3-network/' +\r
1663         $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />\r
1664                                             <outcome value='failure'>\r
1665                                                 <block atomic="true">\r
1666                                                     <set>\r
1667                                                         <parameter name="error-message" value="Error updating vf-module relationships in AAI" />\r
1668                                                     </set>\r
1669                                                     <block atomic='true'>\r
1670                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1671                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1672                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1673                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1674                                                             <parameter name="input.response-code" value="500" />\r
1675                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1676                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1677                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1678                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1679                                                         </configure>\r
1680                                                         <return status='failure'>\r
1681                                                             <parameter name='ack-final' value='Y'/>\r
1682                                                             <parameter name="error-code" value="500" />\r
1683                                                             <parameter name="error-message" value="`$error-message`" />\r
1684                                                         </return>\r
1685                                                     </block>\r
1686                                                 </block>\r
1687                                             </outcome>\r
1688                                             <outcome value='not-found'>\r
1689                                                 <block atomic="true">\r
1690                                                     <set>\r
1691                                                         <parameter name="error-message" value="`'No l3-network found in AAI for network ID '\r
1692       + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />\r
1693                                                     </set>\r
1694                                                     <block atomic='true'>\r
1695                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1696                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1697                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1698                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1699                                                             <parameter name="input.response-code" value="500" />\r
1700                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1701                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1702                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1703                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1704                                                         </configure>\r
1705                                                         <return status='failure'>\r
1706                                                             <parameter name='ack-final' value='Y'/>\r
1707                                                             <parameter name="error-code" value="500" />\r
1708                                                             <parameter name="error-message" value="`$error-message`" />\r
1709                                                         </return>\r
1710                                                     </block>\r
1711                                                 </block>\r
1712                                             </outcome>\r
1713                                         </save>\r
1714                                         <set>\r
1715                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\r
1716                                         </set>\r
1717                                         <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\r
1718                                             <block atomic="true">\r
1719                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1720         resource="vip-ipv4-address-list" \r
1721         key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
1722           AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
1723           AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >\r
1724                                                     <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />\r
1725                                                     <parameter name="vip-ipv4-prefix-length" value="32" />\r
1726                                                     <parameter name="is-floating" value="false" />\r
1727                                                     <outcome value='failure'>\r
1728                                                         <block atomic="true">\r
1729                                                             <set>\r
1730                                                                 <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />\r
1731                                                             </set>\r
1732                                                             <block atomic='true'>\r
1733                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1734                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1735                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1736                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1737                                                                     <parameter name="input.response-code" value="500" />\r
1738                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1739                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1740                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1741                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1742                                                                 </configure>\r
1743                                                                 <return status='failure'>\r
1744                                                                     <parameter name='ack-final' value='Y'/>\r
1745                                                                     <parameter name="error-code" value="500" />\r
1746                                                                     <parameter name="error-message" value="`$error-message`" />\r
1747                                                                 </return>\r
1748                                                             </block>\r
1749                                                         </block>\r
1750                                                     </outcome>\r
1751                                                     <outcome value='not-found'>\r
1752                                                         <block atomic="true">\r
1753                                                             <set>\r
1754                                                                 <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />\r
1755                                                             </set>\r
1756                                                             <block atomic='true'>\r
1757                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1758                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1759                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1760                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1761                                                                     <parameter name="input.response-code" value="500" />\r
1762                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1763                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1764                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1765                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1766                                                                 </configure>\r
1767                                                                 <return status='failure'>\r
1768                                                                     <parameter name='ack-final' value='Y'/>\r
1769                                                                     <parameter name="error-code" value="500" />\r
1770                                                                     <parameter name="error-message" value="`$error-message`" />\r
1771                                                                 </return>\r
1772                                                             </block>\r
1773                                                         </block>\r
1774                                                     </outcome>\r
1775                                                 </save>\r
1776                                                 <set>\r
1777                                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\r
1778                                                 </set>\r
1779                                                 <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
1780                                                     <block atomic="true">\r
1781                                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1782    resource="vip-ipv4-address-list:relationship-list"\r
1783    key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
1784           AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
1785           AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"\r
1786    force="true" pfx="tmp.AnAI-data">\r
1787                                                             <parameter name="relationship-list.relationship[0].related-to" value="subnet" />\r
1788                                                             <parameter name="relationship-list.relationship[0].related-link"\r
1789       value="`'/aai/v$/network/l3-networks/l3-network/'\r
1790         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\r
1791         + '/subnets/subnet/'\r
1792         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />\r
1793                                                             <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />\r
1794                                                             <parameter name="relationship-list.relationship[1].related-link"\r
1795       value="`'/aai/v$/network/vnfcs/vnfc/'\r
1796         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />\r
1797                                                             <outcome value='failure'>\r
1798                                                                 <block atomic="true">\r
1799                                                                     <set>\r
1800                                                                         <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />\r
1801                                                                     </set>\r
1802                                                                     <block atomic='true'>\r
1803                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1804                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1805                                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1806                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1807                                                                             <parameter name="input.response-code" value="500" />\r
1808                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1809                                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1810                                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1811                                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1812                                                                         </configure>\r
1813                                                                         <return status='failure'>\r
1814                                                                             <parameter name='ack-final' value='Y'/>\r
1815                                                                             <parameter name="error-code" value="500" />\r
1816                                                                             <parameter name="error-message" value="`$error-message`" />\r
1817                                                                         </return>\r
1818                                                                     </block>\r
1819                                                                 </block>\r
1820                                                             </outcome>\r
1821                                                             <outcome value='not-found'>\r
1822                                                                 <block atomic="true">\r
1823                                                                     <set>\r
1824                                                                         <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />\r
1825                                                                     </set>\r
1826                                                                     <block atomic='true'>\r
1827                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1828                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1829                                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1830                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1831                                                                             <parameter name="input.response-code" value="500" />\r
1832                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1833                                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1834                                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1835                                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1836                                                                         </configure>\r
1837                                                                         <return status='failure'>\r
1838                                                                             <parameter name='ack-final' value='Y'/>\r
1839                                                                             <parameter name="error-code" value="500" />\r
1840                                                                             <parameter name="error-message" value="`$error-message`" />\r
1841                                                                         </return>\r
1842                                                                     </block>\r
1843                                                                 </block>\r
1844                                                             </outcome>\r
1845                                                         </save>\r
1846                                                         <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$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
1847                                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\r
1848   == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\r
1849                                                                 <outcome value='true'>\r
1850                                                                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1851    resource="vip-ipv4-address-list:relationship-list"\r
1852    key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
1853           AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
1854           AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"\r
1855    force="true" pfx="tmp.AnAI-data">\r
1856                                                                         <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
1857                                                                         <parameter name="relationship-list.relationship[0].related-link"\r
1858       value="`'/aai/v$/network/vnfcs/vnfc/'\r
1859         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
1860         + '/cps/cp/'\r
1861         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />\r
1862                                                                         <outcome value='failure'>\r
1863                                                                             <block atomic="true">\r
1864                                                                                 <set>\r
1865                                                                                     <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />\r
1866                                                                                 </set>\r
1867                                                                                 <block atomic='true'>\r
1868                                                                                     <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1869                                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1870                                                                                         <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1871                                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
1872                                                                                         <parameter name="input.response-code" value="500" />\r
1873                                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
1874                                                                                         <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1875                                                                                         <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1876                                                                                         <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1877                                                                                     </configure>\r
1878                                                                                     <return status='failure'>\r
1879                                                                                         <parameter name='ack-final' value='Y'/>\r
1880                                                                                         <parameter name="error-code" value="500" />\r
1881                                                                                         <parameter name="error-message" value="`$error-message`" />\r
1882                                                                                     </return>\r
1883                                                                                 </block>\r
1884                                                                             </block>\r
1885                                                                         </outcome>\r
1886                                                                         <outcome value='not-found'>\r
1887                                                                             <block atomic="true">\r
1888                                                                                 <set>\r
1889                                                                                     <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />\r
1890                                                                                 </set>\r
1891                                                                                 <block atomic='true'>\r
1892                                                                                     <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1893                                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1894                                                                                         <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1895                                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
1896                                                                                         <parameter name="input.response-code" value="500" />\r
1897                                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
1898                                                                                         <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1899                                                                                         <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1900                                                                                         <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1901                                                                                     </configure>\r
1902                                                                                     <return status='failure'>\r
1903                                                                                         <parameter name='ack-final' value='Y'/>\r
1904                                                                                         <parameter name="error-code" value="500" />\r
1905                                                                                         <parameter name="error-message" value="`$error-message`" />\r
1906                                                                                     </return>\r
1907                                                                                 </block>\r
1908                                                                             </block>\r
1909                                                                         </outcome>\r
1910                                                                     </save>\r
1911                                                                 </outcome>\r
1912                                                             </switch>\r
1913                                                         </for>\r
1914                                                     </block>\r
1915                                                 </for>\r
1916                                             </block>\r
1917                                         </for>\r
1918                                         <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\r
1919                                             <block atomic="true">\r
1920                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1921         resource="vip-ipv6-address-list" \r
1922         key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
1923           AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
1924           AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >\r
1925                                                     <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />\r
1926                                                     <parameter name="vip-ipv6-prefix-length" value="128" />\r
1927                                                     <parameter name="is-floating" value="false" />\r
1928                                                     <outcome value='failure'>\r
1929                                                         <block atomic="true">\r
1930                                                             <set>\r
1931                                                                 <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />\r
1932                                                             </set>\r
1933                                                             <block atomic='true'>\r
1934                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1935                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1936                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1937                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1938                                                                     <parameter name="input.response-code" value="500" />\r
1939                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1940                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1941                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1942                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1943                                                                 </configure>\r
1944                                                                 <return status='failure'>\r
1945                                                                     <parameter name='ack-final' value='Y'/>\r
1946                                                                     <parameter name="error-code" value="500" />\r
1947                                                                     <parameter name="error-message" value="`$error-message`" />\r
1948                                                                 </return>\r
1949                                                             </block>\r
1950                                                         </block>\r
1951                                                     </outcome>\r
1952                                                     <outcome value='not-found'>\r
1953                                                         <block atomic="true">\r
1954                                                             <set>\r
1955                                                                 <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />\r
1956                                                             </set>\r
1957                                                             <block atomic='true'>\r
1958                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
1959                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1960                                                                     <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1961                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1962                                                                     <parameter name="input.response-code" value="500" />\r
1963                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1964                                                                     <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1965                                                                     <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
1966                                                                     <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
1967                                                                 </configure>\r
1968                                                                 <return status='failure'>\r
1969                                                                     <parameter name='ack-final' value='Y'/>\r
1970                                                                     <parameter name="error-code" value="500" />\r
1971                                                                     <parameter name="error-message" value="`$error-message`" />\r
1972                                                                 </return>\r
1973                                                             </block>\r
1974                                                         </block>\r
1975                                                     </outcome>\r
1976                                                 </save>\r
1977                                                 <set>\r
1978                                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\r
1979                                                 </set>\r
1980                                                 <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
1981                                                     <block atomic="true">\r
1982                                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1983    resource="vip-ipv6-address-list:relationship-list"\r
1984    key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
1985           AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
1986           AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"\r
1987    force="true" pfx="tmp.AnAI-data">\r
1988                                                             <parameter name="relationship-list.relationship[0].related-to" value="subnet" />\r
1989                                                             <parameter name="relationship-list.relationship[0].related-link"\r
1990       value="`'/aai/v$/network/l3-networks/l3-network/'\r
1991         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\r
1992         + '/subnets/subnet/'\r
1993         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />\r
1994                                                             <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />\r
1995                                                             <parameter name="relationship-list.relationship[1].related-link"\r
1996       value="`'/aai/v$/network/vnfcs/vnfc/'\r
1997         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />\r
1998                                                             <outcome value='failure'>\r
1999                                                                 <block atomic="true">\r
2000                                                                     <set>\r
2001                                                                         <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />\r
2002                                                                     </set>\r
2003                                                                     <block atomic='true'>\r
2004                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2005                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2006                                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2007                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2008                                                                             <parameter name="input.response-code" value="500" />\r
2009                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
2010                                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2011                                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2012                                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2013                                                                         </configure>\r
2014                                                                         <return status='failure'>\r
2015                                                                             <parameter name='ack-final' value='Y'/>\r
2016                                                                             <parameter name="error-code" value="500" />\r
2017                                                                             <parameter name="error-message" value="`$error-message`" />\r
2018                                                                         </return>\r
2019                                                                     </block>\r
2020                                                                 </block>\r
2021                                                             </outcome>\r
2022                                                             <outcome value='not-found'>\r
2023                                                                 <block atomic="true">\r
2024                                                                     <set>\r
2025                                                                         <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />\r
2026                                                                     </set>\r
2027                                                                     <block atomic='true'>\r
2028                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2029                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2030                                                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2031                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2032                                                                             <parameter name="input.response-code" value="500" />\r
2033                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
2034                                                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2035                                                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2036                                                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2037                                                                         </configure>\r
2038                                                                         <return status='failure'>\r
2039                                                                             <parameter name='ack-final' value='Y'/>\r
2040                                                                             <parameter name="error-code" value="500" />\r
2041                                                                             <parameter name="error-message" value="`$error-message`" />\r
2042                                                                         </return>\r
2043                                                                     </block>\r
2044                                                                 </block>\r
2045                                                             </outcome>\r
2046                                                         </save>\r
2047                                                         <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$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
2048                                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\r
2049   == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\r
2050                                                                 <outcome value='true'>\r
2051                                                                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2052    resource="vip-ipv6-address-list:relationship-list"\r
2053    key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
2054           AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
2055           AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"\r
2056    force="true" pfx="tmp.AnAI-data">\r
2057                                                                         <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
2058                                                                         <parameter name="relationship-list.relationship[0].related-link"\r
2059       value="`'/aai/v$/network/vnfcs/vnfc/'\r
2060         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
2061         + '/cps/cp/'\r
2062         + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />\r
2063                                                                         <outcome value='failure'>\r
2064                                                                             <block atomic="true">\r
2065                                                                                 <set>\r
2066                                                                                     <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />\r
2067                                                                                 </set>\r
2068                                                                                 <block atomic='true'>\r
2069                                                                                     <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2070                                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2071                                                                                         <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2072                                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
2073                                                                                         <parameter name="input.response-code" value="500" />\r
2074                                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
2075                                                                                         <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2076                                                                                         <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2077                                                                                         <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2078                                                                                     </configure>\r
2079                                                                                     <return status='failure'>\r
2080                                                                                         <parameter name='ack-final' value='Y'/>\r
2081                                                                                         <parameter name="error-code" value="500" />\r
2082                                                                                         <parameter name="error-message" value="`$error-message`" />\r
2083                                                                                     </return>\r
2084                                                                                 </block>\r
2085                                                                             </block>\r
2086                                                                         </outcome>\r
2087                                                                         <outcome value='not-found'>\r
2088                                                                             <block atomic="true">\r
2089                                                                                 <set>\r
2090                                                                                     <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />\r
2091                                                                                 </set>\r
2092                                                                                 <block atomic='true'>\r
2093                                                                                     <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2094                                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2095                                                                                         <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2096                                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
2097                                                                                         <parameter name="input.response-code" value="500" />\r
2098                                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
2099                                                                                         <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2100                                                                                         <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2101                                                                                         <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2102                                                                                     </configure>\r
2103                                                                                     <return status='failure'>\r
2104                                                                                         <parameter name='ack-final' value='Y'/>\r
2105                                                                                         <parameter name="error-code" value="500" />\r
2106                                                                                         <parameter name="error-message" value="`$error-message`" />\r
2107                                                                                     </return>\r
2108                                                                                 </block>\r
2109                                                                             </block>\r
2110                                                                         </outcome>\r
2111                                                                     </save>\r
2112                                                                 </outcome>\r
2113                                                             </switch>\r
2114                                                         </for>\r
2115                                                     </block>\r
2116                                                 </for>\r
2117                                             </block>\r
2118                                         </for>\r
2119                                     </block>\r
2120                                 </for>\r
2121                             </block>\r
2122                         </for>\r
2123                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\r
2124                             <outcome value='failure'>\r
2125                                 <block atomic="true">\r
2126                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
2127                                         <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\r
2128                                     </execute>\r
2129                                     <block atomic='true'>\r
2130                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2131                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2132                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2133                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2134                                             <parameter name="input.response-code" value="500" />\r
2135                                             <parameter name="input.response-message" value="`$error-message`" />\r
2136                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2137                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2138                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2139                                         </configure>\r
2140                                         <return status='failure'>\r
2141                                             <parameter name='ack-final' value='Y'/>\r
2142                                             <parameter name="error-code" value="500" />\r
2143                                             <parameter name="error-message" value="`$error-message`" />\r
2144                                         </return>\r
2145                                     </block>\r
2146                                 </block>\r
2147                             </outcome>\r
2148                         </call>\r
2149                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>\r
2150                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
2151                             <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\r
2152                         </execute>\r
2153                         <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
2154                             <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\r
2155                                 <block atomic="true">\r
2156                                     <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
2157   key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\r
2158      AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\r
2159      AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >\r
2160                                         <outcome value='failure'>\r
2161                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2162                                                 <parameter name="logger" value="message-log"/>\r
2163                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
2164                                                 <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>\r
2165                                                 <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
2166                                                 <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>\r
2167                                             </record>\r
2168                                         </outcome>\r
2169                                     </delete>\r
2170                                     <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
2171 key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >\r
2172                                         <outcome value='failure'>\r
2173                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2174                                                 <parameter name="logger" value="message-log"/>\r
2175                                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
2176                                                 <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>\r
2177                                                 <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
2178                                                 <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>\r
2179                                             </record>\r
2180                                         </outcome>\r
2181                                     </save>\r
2182                                 </block>\r
2183                             </for>\r
2184                         </for>\r
2185                         <set>\r
2186                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\r
2187                         </set>\r
2188                         <set>\r
2189                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\r
2190    value='$vf-module-topology-operation-input.sdnc-request-header.' />\r
2191                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\r
2192    value='$vf-module-topology-operation-input.request-information.' />\r
2193                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\r
2194    value='$vf-module-topology-operation-input.service-information.' />\r
2195                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\r
2196    value='$vf-module-topology-operation-input.vnf-information.' />\r
2197                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\r
2198    value='$vf-module-topology-operation-input.vf-module-information.' />\r
2199                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\r
2200    value='$vf-module-topology-operation-input.vf-module-request-input.' />\r
2201                         </set>\r
2202                         <call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' ></call>\r
2203                         <set>\r
2204                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\r
2205   value='PendingCreate' />\r
2206                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\r
2207   value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\r
2208                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\r
2209   value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\r
2210                         </set>\r
2211                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
2212                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`" />\r
2213                             <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vf-module.url`" />\r
2214                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
2215                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
2216                             <parameter name='format' value='json' />\r
2217                             <parameter name='httpMethod' value='PUT' />\r
2218                             <parameter name="responsePrefix" value="vf-module-assign" />\r
2219                             <outcome value='failure'>\r
2220                                 <block atomic="true">\r
2221                                     <set>\r
2222                                         <parameter name="error-message" value="Error doing PUT of vf-module" />\r
2223                                     </set>\r
2224                                     <block atomic='true'>\r
2225                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2226                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2227                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2228                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2229                                             <parameter name="input.response-code" value="500" />\r
2230                                             <parameter name="input.response-message" value="`$error-message`" />\r
2231                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2232                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2233                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2234                                         </configure>\r
2235                                         <return status='failure'>\r
2236                                             <parameter name='ack-final' value='Y'/>\r
2237                                             <parameter name="error-code" value="500" />\r
2238                                             <parameter name="error-message" value="`$error-message`" />\r
2239                                         </return>\r
2240                                     </block>\r
2241                                 </block>\r
2242                             </outcome>\r
2243                             <outcome value='not-found'>\r
2244                                 <block atomic="true">\r
2245                                     <set>\r
2246                                         <parameter name="error-message" value="Error doing PUT of vf-module" />\r
2247                                     </set>\r
2248                                     <block atomic='true'>\r
2249                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
2250                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2251                                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2252                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2253                                             <parameter name="input.response-code" value="500" />\r
2254                                             <parameter name="input.response-message" value="`$error-message`" />\r
2255                                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2256                                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2257                                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2258                                         </configure>\r
2259                                         <return status='failure'>\r
2260                                             <parameter name='ack-final' value='Y'/>\r
2261                                             <parameter name="error-code" value="500" />\r
2262                                             <parameter name="error-message" value="`$error-message`" />\r
2263                                         </return>\r
2264                                     </block>\r
2265                                 </block>\r
2266                             </outcome>\r
2267                         </execute>\r
2268                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
2269                             <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\r
2270                         </execute>\r
2271                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2272                             <parameter name="notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2273                             <parameter name="input.ack-final-indicator" value="Y" />\r
2274                             <parameter name="input.response-code" value="200" />\r
2275                             <parameter name="input.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2276                             <parameter name="input.service-information.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />\r
2277                             <parameter name="input.service-information.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />\r
2278                         </configure>\r
2279                         <return status='success'>\r
2280                             <parameter name="ack-final-indicator" value="Y" />\r
2281                             <parameter name="error-code" value="200" />\r
2282                             <parameter name="error-message" value="`$error-message`" />\r
2283                         </return>\r
2284                     </block>\r
2285                 </outcome>\r
2286             </switch>\r
2287         </block>\r
2288     </method>\r
2289 </service-logic>