Merge "self-serve DG for Casablanca"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='self-serve-aai-vf-module-put' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$ss.capability-action`'>\r
7                 <outcome value=''>\r
8                     <return status="failure">\r
9                         <parameter name="ack-final" value="Y" />\r
10                         <parameter name="error-code" value="500"/>\r
11                         <parameter name="error-message" value="ss.capability-action is null" />\r
12                     </return>\r
13                 </outcome>\r
14                 <outcome value='assign'>\r
15                     <block atomic='true'>\r
16                         <block>\r
17                             <set>\r
18                                 <parameter name='nidx' value='0' />\r
19                             </set>\r
20                             <for silentFailure='true' index="bidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`" >\r
21                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\r
22                                     <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
23                                     <parameter name="target" value="sriov"/>\r
24                                     <outcome value='true'>\r
25                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >\r
26                                             <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
27                                             <parameter name="target" value="_net_id"/>\r
28                                             <outcome value='true'>\r
29                                                 <block>\r
30                                                     <set>\r
31                                                         <parameter name='ss.network[$nidx].netid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
32                                                     </set>\r
33                                                     <set>\r
34                                                         <parameter name='nidx' value='`$nidx + 1`' />\r
35                                                     </set>\r
36                                                 </block>\r
37                                             </outcome>\r
38                                         </execute>\r
39                                     </outcome>\r
40                                     <outcome value='false'>\r
41                                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`'>\r
42                                             <outcome value='vf_module_id'>\r
43                                                 <set>\r
44                                                     <parameter name='ss.param.vf-module-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
45                                                 </set>\r
46                                             </outcome>\r
47                                             <outcome value='vf_module_name'>\r
48                                                 <set>\r
49                                                     <parameter name='ss.param.vf-module-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
50                                                 </set>\r
51                                             </outcome>\r
52                                             <outcome value='volume_group_id'>\r
53                                                 <set>\r
54                                                     <parameter name='ss.param.volume-group-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
55                                                 </set>\r
56                                             </outcome>\r
57                                             <outcome value='volume-group-name'>\r
58                                                 <set>\r
59                                                     <parameter name='ss.param.volume-group-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
60                                                 </set>\r
61                                             </outcome>\r
62                                             <outcome value='aic-cloud-region'>\r
63                                                 <set>\r
64                                                     <parameter name='ss.param.aic-cloud-region' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
65                                                 </set>\r
66                                             </outcome>\r
67                                             <outcome value='vnfc-name'>\r
68                                                 <set>\r
69                                                     <parameter name='ss.param.vnfc-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
70                                                     <parameter name='ss.param.vnfc-name-index' value='`$bidx`' />\r
71                                                 </set>\r
72                                             </outcome>\r
73                                             <outcome value='oam-interface-name'>\r
74                                                 <set>\r
75                                                     <parameter name='ss.param.oam-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
76                                                     <parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />\r
77                                                 </set>\r
78                                             </outcome>\r
79                                             <outcome value='=รข\80\9dlo0-interface-name'>\r
80                                                 <set>\r
81                                                     <parameter name='ss.param.lo0-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
82                                                     <parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />\r
83                                                 </set>\r
84                                             </outcome>\r
85                                             <outcome value='ipv4-oam-address'>\r
86                                                 <set>\r
87                                                     <parameter name='ss.param.ipv4-oam-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
88                                                     <parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />\r
89                                                 </set>\r
90                                             </outcome>\r
91                                             <outcome value='ipv4-oam-address-prefix'>\r
92                                                 <set>\r
93                                                     <parameter name='ss.param.ipv4-oam-address-prefix' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
94                                                     <parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />\r
95                                                 </set>\r
96                                             </outcome>\r
97                                             <outcome value='loopback0_ipv4_address'>\r
98                                                 <set>\r
99                                                     <parameter name='ss.param.loopback0-ipv4-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
100                                                     <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />\r
101                                                 </set>\r
102                                             </outcome>\r
103                                             <outcome value='aai-vf-module-put'>\r
104                                                 <set>\r
105                                                     <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\r
106                                                 </set>\r
107                                             </outcome>\r
108                                             <outcome value='nfc-naming-code'>\r
109                                                 <set>\r
110                                                     <parameter name='ss.param.nfc-naming-code' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
111                                                     <parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />\r
112                                                 </set>\r
113                                             </outcome>\r
114                                             <outcome value='nfc-function'>\r
115                                                 <set>\r
116                                                     <parameter name='ss.param.nfc-function' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
117                                                     <parameter name='ss.param.nfc-function-index' value='`$bidx`' />\r
118                                                 </set>\r
119                                             </outcome>\r
120                                             <outcome value='vnfc-model-customization-uuid'>\r
121                                                 <set>\r
122                                                     <parameter name='ss.param.vnfc-model-customization-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
123                                                     <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />\r
124                                                 </set>\r
125                                             </outcome>\r
126                                             <outcome value='vnfc-model-invariant-uuid'>\r
127                                                 <set>\r
128                                                     <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
129                                                     <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />\r
130                                                 </set>\r
131                                             </outcome>\r
132                                             <outcome value='vnfc-model-version'>\r
133                                                 <set>\r
134                                                     <parameter name='ss.param.vnfc-model-version' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
135                                                     <parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />\r
136                                                 </set>\r
137                                             </outcome>\r
138                                             <outcome value='ipv4-loopback0-address'>\r
139                                                 <set>\r
140                                                     <parameter name='ss.param.ipv4-loopback0-address' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
141                                                     <parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />\r
142                                                 </set>\r
143                                             </outcome>\r
144                                             <outcome value='as-number'>\r
145                                                 <set>\r
146                                                     <parameter name='ss.param.as-number' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
147                                                     <parameter name='ss.param.as-number-index' value='`$bidx`' />\r
148                                                 </set>\r
149                                             </outcome>\r
150                                             <outcome value='vlan-id-outer'>\r
151                                                 <set>\r
152                                                     <parameter name='ss.param.vlan-id-outer' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
153                                                     <parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />\r
154                                                 </set>\r
155                                             </outcome>\r
156                                         </switch>\r
157                                     </outcome>\r
158                                 </execute>\r
159                             </for>\r
160                             <set>\r
161                                 <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\r
162                             </set>\r
163                         </block>\r
164                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
165         resource="generic-vnf"\r
166                 key="generic-vnf.vnf-id = $ss.param.vnf-id "\r
167         pfx="tmp.aai.vnf" >\r
168                             <outcome value='failure'>\r
169                                 <block atomic='true'>\r
170                                     <set>\r
171                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
172         value='FAILED' />\r
173                                     </set>\r
174                                     <return status='failure'>\r
175                                         <parameter name='error-code' value='500' />\r
176                                         <parameter name='error-message' value="`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`" />\r
177                                     </return>\r
178                                 </block>\r
179                             </outcome>\r
180                             <outcome value='not-found'>\r
181                                 <block atomic='true'>\r
182                                     <set>\r
183                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
184         value='FAILED' />\r
185                                     </set>\r
186                                     <return status='failure'>\r
187                                         <parameter name='error-code' value='500' />\r
188                                         <parameter name='error-message' value="`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`" />\r
189                                     </return>\r
190                                 </block>\r
191                             </outcome>\r
192                         </get-resource>\r
193                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
194         resource="generic-vnf"\r
195                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
196                             <parameter name="ipv4-loopback0-address" value='`$ss.param.ipv4-loopback0-address`' />\r
197                             <parameter name="ipv4-oam-address" value='`$ss.param.ipv4-oam-address`' />\r
198                             <parameter name="as-number" value='`$ss.param.as-number`' />\r
199                             <parameter name="vlan-id-outer" value='`$ss.param.vlan-id-outer`' />\r
200                             <outcome value='failure'>\r
201                                 <block atomic='true'>\r
202                                     <set>\r
203                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
204         value='FAILED' />\r
205                                     </set>\r
206                                     <return status='failure'>\r
207                                         <parameter name='error-code' value='500' />\r
208                                         <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`" />\r
209                                     </return>\r
210                                 </block>\r
211                             </outcome>\r
212                             <outcome value='not-found'>\r
213                                 <block atomic='true'>\r
214                                     <set>\r
215                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
216         value='FAILED' />\r
217                                     </set>\r
218                                     <return status='failure'>\r
219                                         <parameter name='error-code' value='500' />\r
220                                         <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name because generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`" />\r
221                                     </return>\r
222                                 </block>\r
223                             </outcome>\r
224                         </update>\r
225                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
226         resource="vf-module"\r
227                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
228                         AND vf-module.vf-module-id = $ss.param.vf-module-id "\r
229         pfx="tmp.aai.vfmdoule" >\r
230                             <outcome value='failure'>\r
231                                 <block atomic='true'>\r
232                                     <block atomic='true'>\r
233                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
234                                             <parameter name="logger" value="message-log"/>\r
235                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
236                                         </record>\r
237                                         <set>\r
238                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
239         value='FAILED' />\r
240                                         </set>\r
241                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
242         resource="generic-vnf"\r
243                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
244                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
245                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
246                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
247                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
248                                             <outcome value='failure'>\r
249                                                 <set>\r
250                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
251                                                 </set>\r
252                                             </outcome>\r
253                                             <outcome value='not-found'>\r
254                                                 <set>\r
255                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
256                                                 </set>\r
257                                             </outcome>\r
258                                             <outcome value='success'>\r
259                                                 <set>\r
260                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
261                                                 </set>\r
262                                             </outcome>\r
263                                         </update>\r
264                                     </block>\r
265                                     <return status='failure'>\r
266                                         <parameter name='error-code' value='500' />\r
267                                         <parameter name='error-message' value="`'Failed to get vf-module in AnAI with vf-module-id = ' + $ss.param.vf-module-id + $error-message`" />\r
268                                     </return>\r
269                                 </block>\r
270                             </outcome>\r
271                             <outcome value='not-found'>\r
272                                 <block atomic='true'>\r
273                                     <block atomic='true'>\r
274                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
275                                             <parameter name="logger" value="message-log"/>\r
276                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
277                                         </record>\r
278                                         <set>\r
279                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
280         value='FAILED' />\r
281                                         </set>\r
282                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
283         resource="generic-vnf"\r
284                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
285                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
286                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
287                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
288                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
289                                             <outcome value='failure'>\r
290                                                 <set>\r
291                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
292                                                 </set>\r
293                                             </outcome>\r
294                                             <outcome value='not-found'>\r
295                                                 <set>\r
296                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
297                                                 </set>\r
298                                             </outcome>\r
299                                             <outcome value='success'>\r
300                                                 <set>\r
301                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
302                                                 </set>\r
303                                             </outcome>\r
304                                         </update>\r
305                                     </block>\r
306                                     <return status='failure'>\r
307                                         <parameter name='error-code' value='500' />\r
308                                         <parameter name='error-message' value="`'vf-module not found in AnAI with vf-module-id=' + $ss.param.vf-module-id + $error-message`" />\r
309                                     </return>\r
310                                 </block>\r
311                             </outcome>\r
312                         </get-resource>\r
313                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
314         resource="vf-module"\r
315                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
316                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
317                             <parameter name="vf-module-name" value='`$ss.param.vf-module-name`' />\r
318                             <outcome value='failure'>\r
319                                 <block atomic='true'>\r
320                                     <block atomic='true'>\r
321                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
322                                             <parameter name="logger" value="message-log"/>\r
323                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
324                                         </record>\r
325                                         <set>\r
326                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
327         value='FAILED' />\r
328                                         </set>\r
329                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
330         resource="generic-vnf"\r
331                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
332                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
333                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
334                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
335                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
336                                             <outcome value='failure'>\r
337                                                 <set>\r
338                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
339                                                 </set>\r
340                                             </outcome>\r
341                                             <outcome value='not-found'>\r
342                                                 <set>\r
343                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
344                                                 </set>\r
345                                             </outcome>\r
346                                             <outcome value='success'>\r
347                                                 <set>\r
348                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
349                                                 </set>\r
350                                             </outcome>\r
351                                         </update>\r
352                                     </block>\r
353                                     <return status='failure'>\r
354                                         <parameter name='error-code' value='500' />\r
355                                         <parameter name='error-message' value="`'Failed to update vf-module-name with vf-module-id = ' + $ss.param.vf-module-id + ' in AnAI; ' + $error-message`" />\r
356                                     </return>\r
357                                 </block>\r
358                             </outcome>\r
359                             <outcome value='not-found'>\r
360                                 <block atomic='true'>\r
361                                     <block atomic='true'>\r
362                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
363                                             <parameter name="logger" value="message-log"/>\r
364                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
365                                         </record>\r
366                                         <set>\r
367                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
368         value='FAILED' />\r
369                                         </set>\r
370                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
371         resource="generic-vnf"\r
372                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
373                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
374                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
375                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
376                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
377                                             <outcome value='failure'>\r
378                                                 <set>\r
379                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
380                                                 </set>\r
381                                             </outcome>\r
382                                             <outcome value='not-found'>\r
383                                                 <set>\r
384                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
385                                                 </set>\r
386                                             </outcome>\r
387                                             <outcome value='success'>\r
388                                                 <set>\r
389                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
390                                                 </set>\r
391                                             </outcome>\r
392                                         </update>\r
393                                     </block>\r
394                                     <return status='failure'>\r
395                                         <parameter name='error-code' value='500' />\r
396                                         <parameter name='error-message' value="`'Failed to update vf-module-name with vf-module-id =' + $ss.param.vf-module-id + ' because vf-module is not found in AAI' + $error-message`" />\r
397                                     </return>\r
398                                 </block>\r
399                             </outcome>\r
400                         </update>\r
401                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
402         resource="volume-group"\r
403                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
404                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
405                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
406                         AND volume-group-id = $ss.param.volume-group-id" \r
407         pfx="tmp.aai.volume-group" >\r
408                             <outcome value='failure'>\r
409                                 <block atomic='true'>\r
410                                     <block>\r
411                                         <block atomic='true'>\r
412                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
413                                                 <parameter name="logger" value="message-log"/>\r
414                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
415                                             </record>\r
416                                             <set>\r
417                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
418         value='FAILED' />\r
419                                             </set>\r
420                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
421         resource="generic-vnf"\r
422                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
423                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
424                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
425                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
426                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
427                                                 <outcome value='failure'>\r
428                                                     <set>\r
429                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
430                                                     </set>\r
431                                                 </outcome>\r
432                                                 <outcome value='not-found'>\r
433                                                     <set>\r
434                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
435                                                     </set>\r
436                                                 </outcome>\r
437                                                 <outcome value='success'>\r
438                                                     <set>\r
439                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
440                                                     </set>\r
441                                                 </outcome>\r
442                                             </update>\r
443                                         </block>\r
444                                         <block atomic='true'>\r
445                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
446                                                 <parameter name="logger" value="message-log"/>\r
447                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
448                                             </record>\r
449                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
450         resource="vf-module"\r
451                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
452                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
453                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
454                                                 <outcome value='failure'>\r
455                                                     <set>\r
456                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
457                                                     </set>\r
458                                                 </outcome>\r
459                                                 <outcome value='not-found'>\r
460                                                     <set>\r
461                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
462                                                     </set>\r
463                                                 </outcome>\r
464                                                 <outcome value='success'>\r
465                                                     <set>\r
466                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
467                                                     </set>\r
468                                                 </outcome>\r
469                                             </update>\r
470                                         </block>\r
471                                     </block>\r
472                                     <return status='failure'>\r
473                                         <parameter name='error-code' value='500' />\r
474                                         <parameter name='error-message' value="`'Failed to get volume-group in AnAI with volume-group-id = ' + $ss.param.volume-group-id + $error-message`" />\r
475                                     </return>\r
476                                 </block>\r
477                             </outcome>\r
478                             <outcome value='not-found'>\r
479                                 <block atomic='true'>\r
480                                     <block>\r
481                                         <block atomic='true'>\r
482                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
483                                                 <parameter name="logger" value="message-log"/>\r
484                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
485                                             </record>\r
486                                             <set>\r
487                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
488         value='FAILED' />\r
489                                             </set>\r
490                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
491         resource="generic-vnf"\r
492                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
493                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
494                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
495                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
496                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
497                                                 <outcome value='failure'>\r
498                                                     <set>\r
499                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
500                                                     </set>\r
501                                                 </outcome>\r
502                                                 <outcome value='not-found'>\r
503                                                     <set>\r
504                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
505                                                     </set>\r
506                                                 </outcome>\r
507                                                 <outcome value='success'>\r
508                                                     <set>\r
509                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
510                                                     </set>\r
511                                                 </outcome>\r
512                                             </update>\r
513                                         </block>\r
514                                         <block atomic='true'>\r
515                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
516                                                 <parameter name="logger" value="message-log"/>\r
517                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
518                                             </record>\r
519                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
520         resource="vf-module"\r
521                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
522                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
523                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
524                                                 <outcome value='failure'>\r
525                                                     <set>\r
526                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
527                                                     </set>\r
528                                                 </outcome>\r
529                                                 <outcome value='not-found'>\r
530                                                     <set>\r
531                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
532                                                     </set>\r
533                                                 </outcome>\r
534                                                 <outcome value='success'>\r
535                                                     <set>\r
536                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
537                                                     </set>\r
538                                                 </outcome>\r
539                                             </update>\r
540                                         </block>\r
541                                     </block>\r
542                                     <return status='failure'>\r
543                                         <parameter name='error-code' value='500' />\r
544                                         <parameter name='error-message' value="`'volume-group not found in AnAI with volume-group-id=' + $ss.param.volume-group-id + $error-message`" />\r
545                                     </return>\r
546                                 </block>\r
547                             </outcome>\r
548                         </get-resource>\r
549                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
550         resource="volume-group"\r
551                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
552                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
553                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
554                         AND volume-group-id = $ss.param.volume-group-id" >\r
555                             <parameter name="volume-group-name" value='`$ss.param.volume-group-name`' />\r
556                             <parameter name="volume-group-id" value='`$ss.param.volume-group-id`' />\r
557                             <outcome value='failure'>\r
558                                 <block atomic='true'>\r
559                                     <block>\r
560                                         <block atomic='true'>\r
561                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
562                                                 <parameter name="logger" value="message-log"/>\r
563                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
564                                             </record>\r
565                                             <set>\r
566                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
567         value='FAILED' />\r
568                                             </set>\r
569                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
570         resource="generic-vnf"\r
571                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
572                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
573                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
574                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
575                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
576                                                 <outcome value='failure'>\r
577                                                     <set>\r
578                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
579                                                     </set>\r
580                                                 </outcome>\r
581                                                 <outcome value='not-found'>\r
582                                                     <set>\r
583                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
584                                                     </set>\r
585                                                 </outcome>\r
586                                                 <outcome value='success'>\r
587                                                     <set>\r
588                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
589                                                     </set>\r
590                                                 </outcome>\r
591                                             </update>\r
592                                         </block>\r
593                                         <block atomic='true'>\r
594                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
595                                                 <parameter name="logger" value="message-log"/>\r
596                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
597                                             </record>\r
598                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
599         resource="vf-module"\r
600                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
601                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
602                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
603                                                 <outcome value='failure'>\r
604                                                     <set>\r
605                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
606                                                     </set>\r
607                                                 </outcome>\r
608                                                 <outcome value='not-found'>\r
609                                                     <set>\r
610                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
611                                                     </set>\r
612                                                 </outcome>\r
613                                                 <outcome value='success'>\r
614                                                     <set>\r
615                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
616                                                     </set>\r
617                                                 </outcome>\r
618                                             </update>\r
619                                         </block>\r
620                                     </block>\r
621                                     <return status='failure'>\r
622                                         <parameter name='error-code' value='500' />\r
623                                         <parameter name='error-message' value="`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`" />\r
624                                     </return>\r
625                                 </block>\r
626                             </outcome>\r
627                             <outcome value='not-found'>\r
628                                 <block atomic='true'>\r
629                                     <block>\r
630                                         <block atomic='true'>\r
631                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
632                                                 <parameter name="logger" value="message-log"/>\r
633                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
634                                             </record>\r
635                                             <set>\r
636                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
637         value='FAILED' />\r
638                                             </set>\r
639                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
640         resource="generic-vnf"\r
641                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
642                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
643                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
644                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
645                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
646                                                 <outcome value='failure'>\r
647                                                     <set>\r
648                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
649                                                     </set>\r
650                                                 </outcome>\r
651                                                 <outcome value='not-found'>\r
652                                                     <set>\r
653                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
654                                                     </set>\r
655                                                 </outcome>\r
656                                                 <outcome value='success'>\r
657                                                     <set>\r
658                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
659                                                     </set>\r
660                                                 </outcome>\r
661                                             </update>\r
662                                         </block>\r
663                                         <block atomic='true'>\r
664                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
665                                                 <parameter name="logger" value="message-log"/>\r
666                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
667                                             </record>\r
668                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
669         resource="vf-module"\r
670                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
671                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
672                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
673                                                 <outcome value='failure'>\r
674                                                     <set>\r
675                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
676                                                     </set>\r
677                                                 </outcome>\r
678                                                 <outcome value='not-found'>\r
679                                                     <set>\r
680                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
681                                                     </set>\r
682                                                 </outcome>\r
683                                                 <outcome value='success'>\r
684                                                     <set>\r
685                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
686                                                     </set>\r
687                                                 </outcome>\r
688                                             </update>\r
689                                         </block>\r
690                                     </block>\r
691                                     <return status='failure'>\r
692                                         <parameter name='error-code' value='500' />\r
693                                         <parameter name='error-message' value="`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`" />\r
694                                     </return>\r
695                                 </block>\r
696                             </outcome>\r
697                         </update>\r
698                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
699         resource="vnfc"\r
700                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
701                             <parameter name="nfc-naming-code" value='`$ss.param.nfc-naming-code`' />\r
702                             <parameter name="nfc-function" value='`$ss.param.nfc-function`' />\r
703                             <parameter name="model-customization-id" value='`$ss.param.vnfc-model-customization-uuid`' />\r
704                             <parameter name="model-invariant-id" value='`$ss.param.vnfc-model-invariant-uuid`' />\r
705                             <parameter name="model-version-id" value='`$ss.param.vnfc-model-version`' />\r
706                             <outcome value='failure'>\r
707                                 <block atomic='true'>\r
708                                     <block>\r
709                                         <block>\r
710                                             <block atomic='true'>\r
711                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
712                                                     <parameter name="logger" value="message-log"/>\r
713                                                     <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
714                                                 </record>\r
715                                                 <set>\r
716                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
717         value='FAILED' />\r
718                                                 </set>\r
719                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
720         resource="generic-vnf"\r
721                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
722                                                     <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
723                                                     <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
724                                                     <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
725                                                     <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
726                                                     <outcome value='failure'>\r
727                                                         <set>\r
728                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
729                                                         </set>\r
730                                                     </outcome>\r
731                                                     <outcome value='not-found'>\r
732                                                         <set>\r
733                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
734                                                         </set>\r
735                                                     </outcome>\r
736                                                     <outcome value='success'>\r
737                                                         <set>\r
738                                                             <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
739                                                         </set>\r
740                                                     </outcome>\r
741                                                 </update>\r
742                                             </block>\r
743                                             <block atomic='true'>\r
744                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
745                                                     <parameter name="logger" value="message-log"/>\r
746                                                     <parameter name="field1" value="ROLLBACK vf-module update"/>\r
747                                                 </record>\r
748                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
749         resource="vf-module"\r
750                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
751                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
752                                                     <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
753                                                     <outcome value='failure'>\r
754                                                         <set>\r
755                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
756                                                         </set>\r
757                                                     </outcome>\r
758                                                     <outcome value='not-found'>\r
759                                                         <set>\r
760                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
761                                                         </set>\r
762                                                     </outcome>\r
763                                                     <outcome value='success'>\r
764                                                         <set>\r
765                                                             <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
766                                                         </set>\r
767                                                     </outcome>\r
768                                                 </update>\r
769                                             </block>\r
770                                         </block>\r
771                                         <block atomic='true'>\r
772                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
773                                                 <parameter name="logger" value="message-log"/>\r
774                                                 <parameter name="field1" value="ROLLBACK volume-group update"/>\r
775                                             </record>\r
776                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
777         resource="volume-group"\r
778                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
779                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
780                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
781                         AND volume-group-id = $ss.param.volume-group-id" >\r
782                                                 <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
783                                                 <outcome value='failure'>\r
784                                                     <set>\r
785                                                         <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
786                                                     </set>\r
787                                                 </outcome>\r
788                                                 <outcome value='not-found'>\r
789                                                     <set>\r
790                                                         <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
791                                                     </set>\r
792                                                 </outcome>\r
793                                                 <outcome value='success'>\r
794                                                     <set>\r
795                                                         <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
796                                                     </set>\r
797                                                 </outcome>\r
798                                             </update>\r
799                                         </block>\r
800                                     </block>\r
801                                     <return status='failure'>\r
802                                         <parameter name='error-code' value='500' />\r
803                                         <parameter name='error-message' value="`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`" />\r
804                                     </return>\r
805                                 </block>\r
806                             </outcome>\r
807                             <outcome value='not-found'>\r
808                                 <block atomic='true'>\r
809                                     <block>\r
810                                         <block>\r
811                                             <block atomic='true'>\r
812                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
813                                                     <parameter name="logger" value="message-log"/>\r
814                                                     <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
815                                                 </record>\r
816                                                 <set>\r
817                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
818         value='FAILED' />\r
819                                                 </set>\r
820                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
821         resource="generic-vnf"\r
822                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
823                                                     <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
824                                                     <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
825                                                     <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
826                                                     <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
827                                                     <outcome value='failure'>\r
828                                                         <set>\r
829                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
830                                                         </set>\r
831                                                     </outcome>\r
832                                                     <outcome value='not-found'>\r
833                                                         <set>\r
834                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
835                                                         </set>\r
836                                                     </outcome>\r
837                                                     <outcome value='success'>\r
838                                                         <set>\r
839                                                             <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
840                                                         </set>\r
841                                                     </outcome>\r
842                                                 </update>\r
843                                             </block>\r
844                                             <block atomic='true'>\r
845                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
846                                                     <parameter name="logger" value="message-log"/>\r
847                                                     <parameter name="field1" value="ROLLBACK vf-module update"/>\r
848                                                 </record>\r
849                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
850         resource="vf-module"\r
851                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
852                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
853                                                     <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
854                                                     <outcome value='failure'>\r
855                                                         <set>\r
856                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
857                                                         </set>\r
858                                                     </outcome>\r
859                                                     <outcome value='not-found'>\r
860                                                         <set>\r
861                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
862                                                         </set>\r
863                                                     </outcome>\r
864                                                     <outcome value='success'>\r
865                                                         <set>\r
866                                                             <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
867                                                         </set>\r
868                                                     </outcome>\r
869                                                 </update>\r
870                                             </block>\r
871                                         </block>\r
872                                         <block atomic='true'>\r
873                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
874                                                 <parameter name="logger" value="message-log"/>\r
875                                                 <parameter name="field1" value="ROLLBACK volume-group update"/>\r
876                                             </record>\r
877                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
878         resource="volume-group"\r
879                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
880                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
881                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
882                         AND volume-group-id = $ss.param.volume-group-id" >\r
883                                                 <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
884                                                 <outcome value='failure'>\r
885                                                     <set>\r
886                                                         <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
887                                                     </set>\r
888                                                 </outcome>\r
889                                                 <outcome value='not-found'>\r
890                                                     <set>\r
891                                                         <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
892                                                     </set>\r
893                                                 </outcome>\r
894                                                 <outcome value='success'>\r
895                                                     <set>\r
896                                                         <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
897                                                     </set>\r
898                                                 </outcome>\r
899                                             </update>\r
900                                         </block>\r
901                                     </block>\r
902                                     <return status='failure'>\r
903                                         <parameter name='error-code' value='500' />\r
904                                         <parameter name='error-message' value="`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`" />\r
905                                     </return>\r
906                                 </block>\r
907                             </outcome>\r
908                         </save>\r
909                         <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
910                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
911         resource="cp"\r
912                 key="cp.cp-instance-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id \r
913                 AND vnfc.vnfc.vnfc-name = $ss.param.vnfc-name" >\r
914                                 <parameter name="cp-instance-id" \r
915         value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`' />\r
916                                 <outcome value='failure'>\r
917                                     <block atomic='true'>\r
918                                         <block>\r
919                                             <block>\r
920                                                 <block>\r
921                                                     <block atomic='true'>\r
922                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
923                                                             <parameter name="logger" value="message-log"/>\r
924                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
925                                                         </record>\r
926                                                         <set>\r
927                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
928         value='FAILED' />\r
929                                                         </set>\r
930                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
931         resource="generic-vnf"\r
932                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
933                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
934                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
935                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
936                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
937                                                             <outcome value='failure'>\r
938                                                                 <set>\r
939                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
940                                                                 </set>\r
941                                                             </outcome>\r
942                                                             <outcome value='not-found'>\r
943                                                                 <set>\r
944                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
945                                                                 </set>\r
946                                                             </outcome>\r
947                                                             <outcome value='success'>\r
948                                                                 <set>\r
949                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
950                                                                 </set>\r
951                                                             </outcome>\r
952                                                         </update>\r
953                                                     </block>\r
954                                                     <block atomic='true'>\r
955                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
956                                                             <parameter name="logger" value="message-log"/>\r
957                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
958                                                         </record>\r
959                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
960         resource="vf-module"\r
961                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
962                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
963                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
964                                                             <outcome value='failure'>\r
965                                                                 <set>\r
966                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
967                                                                 </set>\r
968                                                             </outcome>\r
969                                                             <outcome value='not-found'>\r
970                                                                 <set>\r
971                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
972                                                                 </set>\r
973                                                             </outcome>\r
974                                                             <outcome value='success'>\r
975                                                                 <set>\r
976                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
977                                                                 </set>\r
978                                                             </outcome>\r
979                                                         </update>\r
980                                                     </block>\r
981                                                 </block>\r
982                                                 <block atomic='true'>\r
983                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
984                                                         <parameter name="logger" value="message-log"/>\r
985                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
986                                                     </record>\r
987                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
988         resource="volume-group"\r
989                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
990                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
991                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
992                         AND volume-group-id = $ss.param.volume-group-id" >\r
993                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
994                                                         <outcome value='failure'>\r
995                                                             <set>\r
996                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
997                                                             </set>\r
998                                                         </outcome>\r
999                                                         <outcome value='not-found'>\r
1000                                                             <set>\r
1001                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
1002                                                             </set>\r
1003                                                         </outcome>\r
1004                                                         <outcome value='success'>\r
1005                                                             <set>\r
1006                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
1007                                                             </set>\r
1008                                                         </outcome>\r
1009                                                     </update>\r
1010                                                 </block>\r
1011                                             </block>\r
1012                                             <block atomic='true'>\r
1013                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1014                                                     <parameter name="logger" value="message-log"/>\r
1015                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
1016                                                 </record>\r
1017                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1018         resource="vnfc"\r
1019                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
1020                                                     <outcome value='failure'>\r
1021                                                         <block atomic='true'>\r
1022                                                             <set>\r
1023                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1024                                                             </set>\r
1025                                                             <switch test='`$tmp.return-failure`'>\r
1026                                                                 <outcome value='true'>\r
1027                                                                     <block atomic='true'>\r
1028                                                                         <set>\r
1029                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1030         value='FAILED' />\r
1031                                                                         </set>\r
1032                                                                         <return status='failure'>\r
1033                                                                             <parameter name='error-code' value='500' />\r
1034                                                                             <parameter name='error-message' value='`$error-message`' />\r
1035                                                                         </return>\r
1036                                                                     </block>\r
1037                                                                 </outcome>\r
1038                                                             </switch>\r
1039                                                         </block>\r
1040                                                     </outcome>\r
1041                                                     <outcome value='not-found'>\r
1042                                                         <set>\r
1043                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
1044                                                         </set>\r
1045                                                     </outcome>\r
1046                                                     <outcome value='success'>\r
1047                                                         <set>\r
1048                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
1049                                                         </set>\r
1050                                                     </outcome>\r
1051                                                 </delete>\r
1052                                             </block>\r
1053                                         </block>\r
1054                                         <return status='failure'>\r
1055                                             <parameter name='error-code' value='500' />\r
1056                                             <parameter name='error-message' value="`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`" />\r
1057                                         </return>\r
1058                                     </block>\r
1059                                 </outcome>\r
1060                                 <outcome value='not-found'>\r
1061                                     <block atomic='true'>\r
1062                                         <block>\r
1063                                             <block>\r
1064                                                 <block>\r
1065                                                     <block atomic='true'>\r
1066                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1067                                                             <parameter name="logger" value="message-log"/>\r
1068                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
1069                                                         </record>\r
1070                                                         <set>\r
1071                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1072         value='FAILED' />\r
1073                                                         </set>\r
1074                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1075         resource="generic-vnf"\r
1076                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
1077                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
1078                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
1079                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
1080                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
1081                                                             <outcome value='failure'>\r
1082                                                                 <set>\r
1083                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1084                                                                 </set>\r
1085                                                             </outcome>\r
1086                                                             <outcome value='not-found'>\r
1087                                                                 <set>\r
1088                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1089                                                                 </set>\r
1090                                                             </outcome>\r
1091                                                             <outcome value='success'>\r
1092                                                                 <set>\r
1093                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
1094                                                                 </set>\r
1095                                                             </outcome>\r
1096                                                         </update>\r
1097                                                     </block>\r
1098                                                     <block atomic='true'>\r
1099                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1100                                                             <parameter name="logger" value="message-log"/>\r
1101                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
1102                                                         </record>\r
1103                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1104         resource="vf-module"\r
1105                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
1106                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
1107                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
1108                                                             <outcome value='failure'>\r
1109                                                                 <set>\r
1110                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1111                                                                 </set>\r
1112                                                             </outcome>\r
1113                                                             <outcome value='not-found'>\r
1114                                                                 <set>\r
1115                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1116                                                                 </set>\r
1117                                                             </outcome>\r
1118                                                             <outcome value='success'>\r
1119                                                                 <set>\r
1120                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
1121                                                                 </set>\r
1122                                                             </outcome>\r
1123                                                         </update>\r
1124                                                     </block>\r
1125                                                 </block>\r
1126                                                 <block atomic='true'>\r
1127                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1128                                                         <parameter name="logger" value="message-log"/>\r
1129                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
1130                                                     </record>\r
1131                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1132         resource="volume-group"\r
1133                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
1134                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
1135                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
1136                         AND volume-group-id = $ss.param.volume-group-id" >\r
1137                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
1138                                                         <outcome value='failure'>\r
1139                                                             <set>\r
1140                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1141                                                             </set>\r
1142                                                         </outcome>\r
1143                                                         <outcome value='not-found'>\r
1144                                                             <set>\r
1145                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
1146                                                             </set>\r
1147                                                         </outcome>\r
1148                                                         <outcome value='success'>\r
1149                                                             <set>\r
1150                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
1151                                                             </set>\r
1152                                                         </outcome>\r
1153                                                     </update>\r
1154                                                 </block>\r
1155                                             </block>\r
1156                                             <block atomic='true'>\r
1157                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1158                                                     <parameter name="logger" value="message-log"/>\r
1159                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
1160                                                 </record>\r
1161                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1162         resource="vnfc"\r
1163                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
1164                                                     <outcome value='failure'>\r
1165                                                         <block atomic='true'>\r
1166                                                             <set>\r
1167                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1168                                                             </set>\r
1169                                                             <switch test='`$tmp.return-failure`'>\r
1170                                                                 <outcome value='true'>\r
1171                                                                     <block atomic='true'>\r
1172                                                                         <set>\r
1173                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1174         value='FAILED' />\r
1175                                                                         </set>\r
1176                                                                         <return status='failure'>\r
1177                                                                             <parameter name='error-code' value='500' />\r
1178                                                                             <parameter name='error-message' value='`$error-message`' />\r
1179                                                                         </return>\r
1180                                                                     </block>\r
1181                                                                 </outcome>\r
1182                                                             </switch>\r
1183                                                         </block>\r
1184                                                     </outcome>\r
1185                                                     <outcome value='not-found'>\r
1186                                                         <set>\r
1187                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
1188                                                         </set>\r
1189                                                     </outcome>\r
1190                                                     <outcome value='success'>\r
1191                                                         <set>\r
1192                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
1193                                                         </set>\r
1194                                                     </outcome>\r
1195                                                 </delete>\r
1196                                             </block>\r
1197                                         </block>\r
1198                                         <return status='failure'>\r
1199                                             <parameter name='error-code' value='500' />\r
1200                                             <parameter name='error-message' value="`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`" />\r
1201                                         </return>\r
1202                                     </block>\r
1203                                 </outcome>\r
1204                                 <outcome value='success'>\r
1205                                     <for silentFailure='true' index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
1206                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1207         resource="vlan-tag"\r
1208                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
1209                                             <parameter name="vlan-tag-id" \r
1210         value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid`' />\r
1211                                             <parameter name="vlan-tag-role" \r
1212         value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-description`' />\r
1213                                             <parameter name="vlan-id-outer" \r
1214         value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-id`' />\r
1215                                             <outcome value='failure'>\r
1216                                                 <block atomic='true'>\r
1217                                                     <block>\r
1218                                                         <block>\r
1219                                                             <block>\r
1220                                                                 <block>\r
1221                                                                     <block atomic='true'>\r
1222                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1223                                                                             <parameter name="logger" value="message-log"/>\r
1224                                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
1225                                                                         </record>\r
1226                                                                         <set>\r
1227                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1228         value='FAILED' />\r
1229                                                                         </set>\r
1230                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1231         resource="generic-vnf"\r
1232                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
1233                                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
1234                                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
1235                                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
1236                                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
1237                                                                             <outcome value='failure'>\r
1238                                                                                 <set>\r
1239                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1240                                                                                 </set>\r
1241                                                                             </outcome>\r
1242                                                                             <outcome value='not-found'>\r
1243                                                                                 <set>\r
1244                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1245                                                                                 </set>\r
1246                                                                             </outcome>\r
1247                                                                             <outcome value='success'>\r
1248                                                                                 <set>\r
1249                                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
1250                                                                                 </set>\r
1251                                                                             </outcome>\r
1252                                                                         </update>\r
1253                                                                     </block>\r
1254                                                                     <block atomic='true'>\r
1255                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1256                                                                             <parameter name="logger" value="message-log"/>\r
1257                                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
1258                                                                         </record>\r
1259                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1260         resource="vf-module"\r
1261                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
1262                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
1263                                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
1264                                                                             <outcome value='failure'>\r
1265                                                                                 <set>\r
1266                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1267                                                                                 </set>\r
1268                                                                             </outcome>\r
1269                                                                             <outcome value='not-found'>\r
1270                                                                                 <set>\r
1271                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1272                                                                                 </set>\r
1273                                                                             </outcome>\r
1274                                                                             <outcome value='success'>\r
1275                                                                                 <set>\r
1276                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
1277                                                                                 </set>\r
1278                                                                             </outcome>\r
1279                                                                         </update>\r
1280                                                                     </block>\r
1281                                                                 </block>\r
1282                                                                 <block atomic='true'>\r
1283                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1284                                                                         <parameter name="logger" value="message-log"/>\r
1285                                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
1286                                                                     </record>\r
1287                                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1288         resource="volume-group"\r
1289                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
1290                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
1291                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
1292                         AND volume-group-id = $ss.param.volume-group-id" >\r
1293                                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
1294                                                                         <outcome value='failure'>\r
1295                                                                             <set>\r
1296                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1297                                                                             </set>\r
1298                                                                         </outcome>\r
1299                                                                         <outcome value='not-found'>\r
1300                                                                             <set>\r
1301                                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
1302                                                                             </set>\r
1303                                                                         </outcome>\r
1304                                                                         <outcome value='success'>\r
1305                                                                             <set>\r
1306                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
1307                                                                             </set>\r
1308                                                                         </outcome>\r
1309                                                                     </update>\r
1310                                                                 </block>\r
1311                                                             </block>\r
1312                                                             <block atomic='true'>\r
1313                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1314                                                                     <parameter name="logger" value="message-log"/>\r
1315                                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
1316                                                                 </record>\r
1317                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1318         resource="vnfc"\r
1319                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
1320                                                                     <outcome value='failure'>\r
1321                                                                         <block atomic='true'>\r
1322                                                                             <set>\r
1323                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1324                                                                             </set>\r
1325                                                                             <switch test='`$tmp.return-failure`'>\r
1326                                                                                 <outcome value='true'>\r
1327                                                                                     <block atomic='true'>\r
1328                                                                                         <set>\r
1329                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1330         value='FAILED' />\r
1331                                                                                         </set>\r
1332                                                                                         <return status='failure'>\r
1333                                                                                             <parameter name='error-code' value='500' />\r
1334                                                                                             <parameter name='error-message' value='`$error-message`' />\r
1335                                                                                         </return>\r
1336                                                                                     </block>\r
1337                                                                                 </outcome>\r
1338                                                                             </switch>\r
1339                                                                         </block>\r
1340                                                                     </outcome>\r
1341                                                                     <outcome value='not-found'>\r
1342                                                                         <set>\r
1343                                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
1344                                                                         </set>\r
1345                                                                     </outcome>\r
1346                                                                     <outcome value='success'>\r
1347                                                                         <set>\r
1348                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
1349                                                                         </set>\r
1350                                                                     </outcome>\r
1351                                                                 </delete>\r
1352                                                             </block>\r
1353                                                         </block>\r
1354                                                         <block atomic='true'>\r
1355                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1356                                                                 <parameter name="logger" value="message-log"/>\r
1357                                                                 <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
1358                                                             </record>\r
1359                                                             <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
1360                                                                 <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
1361                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1362         resource="vlan-tag"\r
1363                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
1364                                                                         <outcome value='failure'>\r
1365                                                                             <block atomic='true'>\r
1366                                                                                 <set>\r
1367                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1368                                                                                 </set>\r
1369                                                                                 <switch test='`$tmp.return-failure`'>\r
1370                                                                                     <outcome value='true'>\r
1371                                                                                         <block atomic='true'>\r
1372                                                                                             <set>\r
1373                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1374         value='FAILED' />\r
1375                                                                                             </set>\r
1376                                                                                             <return status='failure'>\r
1377                                                                                                 <parameter name='error-code' value='500' />\r
1378                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
1379                                                                                             </return>\r
1380                                                                                         </block>\r
1381                                                                                     </outcome>\r
1382                                                                                 </switch>\r
1383                                                                             </block>\r
1384                                                                         </outcome>\r
1385                                                                         <outcome value='not-found'>\r
1386                                                                             <set>\r
1387                                                                                 <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
1388                                                                             </set>\r
1389                                                                         </outcome>\r
1390                                                                         <outcome value='success'>\r
1391                                                                             <set>\r
1392                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
1393                                                                             </set>\r
1394                                                                         </outcome>\r
1395                                                                     </delete>\r
1396                                                                 </for>\r
1397                                                             </for>\r
1398                                                         </block>\r
1399                                                     </block>\r
1400                                                     <return status='failure'>\r
1401                                                         <parameter name='error-code' value='500' />\r
1402                                                         <parameter name='error-message' value="`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
1403                                                     </return>\r
1404                                                 </block>\r
1405                                             </outcome>\r
1406                                             <outcome value='not-found'>\r
1407                                                 <block atomic='true'>\r
1408                                                     <block>\r
1409                                                         <block>\r
1410                                                             <block>\r
1411                                                                 <block>\r
1412                                                                     <block atomic='true'>\r
1413                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1414                                                                             <parameter name="logger" value="message-log"/>\r
1415                                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
1416                                                                         </record>\r
1417                                                                         <set>\r
1418                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1419         value='FAILED' />\r
1420                                                                         </set>\r
1421                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1422         resource="generic-vnf"\r
1423                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
1424                                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
1425                                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
1426                                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
1427                                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
1428                                                                             <outcome value='failure'>\r
1429                                                                                 <set>\r
1430                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1431                                                                                 </set>\r
1432                                                                             </outcome>\r
1433                                                                             <outcome value='not-found'>\r
1434                                                                                 <set>\r
1435                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1436                                                                                 </set>\r
1437                                                                             </outcome>\r
1438                                                                             <outcome value='success'>\r
1439                                                                                 <set>\r
1440                                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
1441                                                                                 </set>\r
1442                                                                             </outcome>\r
1443                                                                         </update>\r
1444                                                                     </block>\r
1445                                                                     <block atomic='true'>\r
1446                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1447                                                                             <parameter name="logger" value="message-log"/>\r
1448                                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
1449                                                                         </record>\r
1450                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1451         resource="vf-module"\r
1452                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
1453                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
1454                                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
1455                                                                             <outcome value='failure'>\r
1456                                                                                 <set>\r
1457                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1458                                                                                 </set>\r
1459                                                                             </outcome>\r
1460                                                                             <outcome value='not-found'>\r
1461                                                                                 <set>\r
1462                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1463                                                                                 </set>\r
1464                                                                             </outcome>\r
1465                                                                             <outcome value='success'>\r
1466                                                                                 <set>\r
1467                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
1468                                                                                 </set>\r
1469                                                                             </outcome>\r
1470                                                                         </update>\r
1471                                                                     </block>\r
1472                                                                 </block>\r
1473                                                                 <block atomic='true'>\r
1474                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1475                                                                         <parameter name="logger" value="message-log"/>\r
1476                                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
1477                                                                     </record>\r
1478                                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1479         resource="volume-group"\r
1480                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
1481                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
1482                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
1483                         AND volume-group-id = $ss.param.volume-group-id" >\r
1484                                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
1485                                                                         <outcome value='failure'>\r
1486                                                                             <set>\r
1487                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1488                                                                             </set>\r
1489                                                                         </outcome>\r
1490                                                                         <outcome value='not-found'>\r
1491                                                                             <set>\r
1492                                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
1493                                                                             </set>\r
1494                                                                         </outcome>\r
1495                                                                         <outcome value='success'>\r
1496                                                                             <set>\r
1497                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
1498                                                                             </set>\r
1499                                                                         </outcome>\r
1500                                                                     </update>\r
1501                                                                 </block>\r
1502                                                             </block>\r
1503                                                             <block atomic='true'>\r
1504                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1505                                                                     <parameter name="logger" value="message-log"/>\r
1506                                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
1507                                                                 </record>\r
1508                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1509         resource="vnfc"\r
1510                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
1511                                                                     <outcome value='failure'>\r
1512                                                                         <block atomic='true'>\r
1513                                                                             <set>\r
1514                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1515                                                                             </set>\r
1516                                                                             <switch test='`$tmp.return-failure`'>\r
1517                                                                                 <outcome value='true'>\r
1518                                                                                     <block atomic='true'>\r
1519                                                                                         <set>\r
1520                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1521         value='FAILED' />\r
1522                                                                                         </set>\r
1523                                                                                         <return status='failure'>\r
1524                                                                                             <parameter name='error-code' value='500' />\r
1525                                                                                             <parameter name='error-message' value='`$error-message`' />\r
1526                                                                                         </return>\r
1527                                                                                     </block>\r
1528                                                                                 </outcome>\r
1529                                                                             </switch>\r
1530                                                                         </block>\r
1531                                                                     </outcome>\r
1532                                                                     <outcome value='not-found'>\r
1533                                                                         <set>\r
1534                                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
1535                                                                         </set>\r
1536                                                                     </outcome>\r
1537                                                                     <outcome value='success'>\r
1538                                                                         <set>\r
1539                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
1540                                                                         </set>\r
1541                                                                     </outcome>\r
1542                                                                 </delete>\r
1543                                                             </block>\r
1544                                                         </block>\r
1545                                                         <block atomic='true'>\r
1546                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1547                                                                 <parameter name="logger" value="message-log"/>\r
1548                                                                 <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
1549                                                             </record>\r
1550                                                             <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
1551                                                                 <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
1552                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1553         resource="vlan-tag"\r
1554                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
1555                                                                         <outcome value='failure'>\r
1556                                                                             <block atomic='true'>\r
1557                                                                                 <set>\r
1558                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1559                                                                                 </set>\r
1560                                                                                 <switch test='`$tmp.return-failure`'>\r
1561                                                                                     <outcome value='true'>\r
1562                                                                                         <block atomic='true'>\r
1563                                                                                             <set>\r
1564                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1565         value='FAILED' />\r
1566                                                                                             </set>\r
1567                                                                                             <return status='failure'>\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                                                                                     </outcome>\r
1573                                                                                 </switch>\r
1574                                                                             </block>\r
1575                                                                         </outcome>\r
1576                                                                         <outcome value='not-found'>\r
1577                                                                             <set>\r
1578                                                                                 <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
1579                                                                             </set>\r
1580                                                                         </outcome>\r
1581                                                                         <outcome value='success'>\r
1582                                                                             <set>\r
1583                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
1584                                                                             </set>\r
1585                                                                         </outcome>\r
1586                                                                     </delete>\r
1587                                                                 </for>\r
1588                                                             </for>\r
1589                                                         </block>\r
1590                                                     </block>\r
1591                                                     <return status='failure'>\r
1592                                                         <parameter name='error-code' value='500' />\r
1593                                                         <parameter name='error-message' value="`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
1594                                                     </return>\r
1595                                                 </block>\r
1596                                             </outcome>\r
1597                                             <outcome value='success'>\r
1598                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1599         resource="vlan-tag:relationship-list"\r
1600                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
1601                                                     <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
1602                                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cp.cp-instance-id" />\r
1603                                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`" />\r
1604                                                     <outcome value='failure'>\r
1605                                                         <block atomic='true'>\r
1606                                                             <block>\r
1607                                                                 <block>\r
1608                                                                     <block>\r
1609                                                                         <block>\r
1610                                                                             <block atomic='true'>\r
1611                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1612                                                                                     <parameter name="logger" value="message-log"/>\r
1613                                                                                     <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
1614                                                                                 </record>\r
1615                                                                                 <set>\r
1616                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1617         value='FAILED' />\r
1618                                                                                 </set>\r
1619                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1620         resource="generic-vnf"\r
1621                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
1622                                                                                     <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
1623                                                                                     <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
1624                                                                                     <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
1625                                                                                     <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
1626                                                                                     <outcome value='failure'>\r
1627                                                                                         <set>\r
1628                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1629                                                                                         </set>\r
1630                                                                                     </outcome>\r
1631                                                                                     <outcome value='not-found'>\r
1632                                                                                         <set>\r
1633                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1634                                                                                         </set>\r
1635                                                                                     </outcome>\r
1636                                                                                     <outcome value='success'>\r
1637                                                                                         <set>\r
1638                                                                                             <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
1639                                                                                         </set>\r
1640                                                                                     </outcome>\r
1641                                                                                 </update>\r
1642                                                                             </block>\r
1643                                                                             <block atomic='true'>\r
1644                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1645                                                                                     <parameter name="logger" value="message-log"/>\r
1646                                                                                     <parameter name="field1" value="ROLLBACK vf-module update"/>\r
1647                                                                                 </record>\r
1648                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1649         resource="vf-module"\r
1650                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
1651                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
1652                                                                                     <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
1653                                                                                     <outcome value='failure'>\r
1654                                                                                         <set>\r
1655                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1656                                                                                         </set>\r
1657                                                                                     </outcome>\r
1658                                                                                     <outcome value='not-found'>\r
1659                                                                                         <set>\r
1660                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1661                                                                                         </set>\r
1662                                                                                     </outcome>\r
1663                                                                                     <outcome value='success'>\r
1664                                                                                         <set>\r
1665                                                                                             <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
1666                                                                                         </set>\r
1667                                                                                     </outcome>\r
1668                                                                                 </update>\r
1669                                                                             </block>\r
1670                                                                         </block>\r
1671                                                                         <block atomic='true'>\r
1672                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1673                                                                                 <parameter name="logger" value="message-log"/>\r
1674                                                                                 <parameter name="field1" value="ROLLBACK volume-group update"/>\r
1675                                                                             </record>\r
1676                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1677         resource="volume-group"\r
1678                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
1679                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
1680                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
1681                         AND volume-group-id = $ss.param.volume-group-id" >\r
1682                                                                                 <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
1683                                                                                 <outcome value='failure'>\r
1684                                                                                     <set>\r
1685                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1686                                                                                     </set>\r
1687                                                                                 </outcome>\r
1688                                                                                 <outcome value='not-found'>\r
1689                                                                                     <set>\r
1690                                                                                         <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
1691                                                                                     </set>\r
1692                                                                                 </outcome>\r
1693                                                                                 <outcome value='success'>\r
1694                                                                                     <set>\r
1695                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
1696                                                                                     </set>\r
1697                                                                                 </outcome>\r
1698                                                                             </update>\r
1699                                                                         </block>\r
1700                                                                     </block>\r
1701                                                                     <block atomic='true'>\r
1702                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1703                                                                             <parameter name="logger" value="message-log"/>\r
1704                                                                             <parameter name="field1" value="ROLLBACK vnfc save"/>\r
1705                                                                         </record>\r
1706                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1707         resource="vnfc"\r
1708                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
1709                                                                             <outcome value='failure'>\r
1710                                                                                 <block atomic='true'>\r
1711                                                                                     <set>\r
1712                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1713                                                                                     </set>\r
1714                                                                                     <switch test='`$tmp.return-failure`'>\r
1715                                                                                         <outcome value='true'>\r
1716                                                                                             <block atomic='true'>\r
1717                                                                                                 <set>\r
1718                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1719         value='FAILED' />\r
1720                                                                                                 </set>\r
1721                                                                                                 <return status='failure'>\r
1722                                                                                                     <parameter name='error-code' value='500' />\r
1723                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
1724                                                                                                 </return>\r
1725                                                                                             </block>\r
1726                                                                                         </outcome>\r
1727                                                                                     </switch>\r
1728                                                                                 </block>\r
1729                                                                             </outcome>\r
1730                                                                             <outcome value='not-found'>\r
1731                                                                                 <set>\r
1732                                                                                     <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
1733                                                                                 </set>\r
1734                                                                             </outcome>\r
1735                                                                             <outcome value='success'>\r
1736                                                                                 <set>\r
1737                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
1738                                                                                 </set>\r
1739                                                                             </outcome>\r
1740                                                                         </delete>\r
1741                                                                     </block>\r
1742                                                                 </block>\r
1743                                                                 <block atomic='true'>\r
1744                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1745                                                                         <parameter name="logger" value="message-log"/>\r
1746                                                                         <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
1747                                                                     </record>\r
1748                                                                     <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
1749                                                                         <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
1750                                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1751         resource="vlan-tag"\r
1752                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
1753                                                                                 <outcome value='failure'>\r
1754                                                                                     <block atomic='true'>\r
1755                                                                                         <set>\r
1756                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1757                                                                                         </set>\r
1758                                                                                         <switch test='`$tmp.return-failure`'>\r
1759                                                                                             <outcome value='true'>\r
1760                                                                                                 <block atomic='true'>\r
1761                                                                                                     <set>\r
1762                                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1763         value='FAILED' />\r
1764                                                                                                     </set>\r
1765                                                                                                     <return status='failure'>\r
1766                                                                                                         <parameter name='error-code' value='500' />\r
1767                                                                                                         <parameter name='error-message' value='`$error-message`' />\r
1768                                                                                                     </return>\r
1769                                                                                                 </block>\r
1770                                                                                             </outcome>\r
1771                                                                                         </switch>\r
1772                                                                                     </block>\r
1773                                                                                 </outcome>\r
1774                                                                                 <outcome value='not-found'>\r
1775                                                                                     <set>\r
1776                                                                                         <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
1777                                                                                     </set>\r
1778                                                                                 </outcome>\r
1779                                                                                 <outcome value='success'>\r
1780                                                                                     <set>\r
1781                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
1782                                                                                     </set>\r
1783                                                                                 </outcome>\r
1784                                                                             </delete>\r
1785                                                                         </for>\r
1786                                                                     </for>\r
1787                                                                 </block>\r
1788                                                             </block>\r
1789                                                             <return status='failure'>\r
1790                                                                 <parameter name='error-code' value='500' />\r
1791                                                                 <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
1792                                                             </return>\r
1793                                                         </block>\r
1794                                                     </outcome>\r
1795                                                     <outcome value='not-found'>\r
1796                                                         <block atomic='true'>\r
1797                                                             <block>\r
1798                                                                 <block>\r
1799                                                                     <block>\r
1800                                                                         <block>\r
1801                                                                             <block atomic='true'>\r
1802                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1803                                                                                     <parameter name="logger" value="message-log"/>\r
1804                                                                                     <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
1805                                                                                 </record>\r
1806                                                                                 <set>\r
1807                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1808         value='FAILED' />\r
1809                                                                                 </set>\r
1810                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1811         resource="generic-vnf"\r
1812                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
1813                                                                                     <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
1814                                                                                     <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
1815                                                                                     <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
1816                                                                                     <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
1817                                                                                     <outcome value='failure'>\r
1818                                                                                         <set>\r
1819                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1820                                                                                         </set>\r
1821                                                                                     </outcome>\r
1822                                                                                     <outcome value='not-found'>\r
1823                                                                                         <set>\r
1824                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1825                                                                                         </set>\r
1826                                                                                     </outcome>\r
1827                                                                                     <outcome value='success'>\r
1828                                                                                         <set>\r
1829                                                                                             <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
1830                                                                                         </set>\r
1831                                                                                     </outcome>\r
1832                                                                                 </update>\r
1833                                                                             </block>\r
1834                                                                             <block atomic='true'>\r
1835                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1836                                                                                     <parameter name="logger" value="message-log"/>\r
1837                                                                                     <parameter name="field1" value="ROLLBACK vf-module update"/>\r
1838                                                                                 </record>\r
1839                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1840         resource="vf-module"\r
1841                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
1842                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
1843                                                                                     <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
1844                                                                                     <outcome value='failure'>\r
1845                                                                                         <set>\r
1846                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1847                                                                                         </set>\r
1848                                                                                     </outcome>\r
1849                                                                                     <outcome value='not-found'>\r
1850                                                                                         <set>\r
1851                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
1852                                                                                         </set>\r
1853                                                                                     </outcome>\r
1854                                                                                     <outcome value='success'>\r
1855                                                                                         <set>\r
1856                                                                                             <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
1857                                                                                         </set>\r
1858                                                                                     </outcome>\r
1859                                                                                 </update>\r
1860                                                                             </block>\r
1861                                                                         </block>\r
1862                                                                         <block atomic='true'>\r
1863                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1864                                                                                 <parameter name="logger" value="message-log"/>\r
1865                                                                                 <parameter name="field1" value="ROLLBACK volume-group update"/>\r
1866                                                                             </record>\r
1867                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1868         resource="volume-group"\r
1869                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
1870                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
1871                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
1872                         AND volume-group-id = $ss.param.volume-group-id" >\r
1873                                                                                 <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
1874                                                                                 <outcome value='failure'>\r
1875                                                                                     <set>\r
1876                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1877                                                                                     </set>\r
1878                                                                                 </outcome>\r
1879                                                                                 <outcome value='not-found'>\r
1880                                                                                     <set>\r
1881                                                                                         <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
1882                                                                                     </set>\r
1883                                                                                 </outcome>\r
1884                                                                                 <outcome value='success'>\r
1885                                                                                     <set>\r
1886                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
1887                                                                                     </set>\r
1888                                                                                 </outcome>\r
1889                                                                             </update>\r
1890                                                                         </block>\r
1891                                                                     </block>\r
1892                                                                     <block atomic='true'>\r
1893                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1894                                                                             <parameter name="logger" value="message-log"/>\r
1895                                                                             <parameter name="field1" value="ROLLBACK vnfc save"/>\r
1896                                                                         </record>\r
1897                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1898         resource="vnfc"\r
1899                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
1900                                                                             <outcome value='failure'>\r
1901                                                                                 <block atomic='true'>\r
1902                                                                                     <set>\r
1903                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1904                                                                                     </set>\r
1905                                                                                     <switch test='`$tmp.return-failure`'>\r
1906                                                                                         <outcome value='true'>\r
1907                                                                                             <block atomic='true'>\r
1908                                                                                                 <set>\r
1909                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1910         value='FAILED' />\r
1911                                                                                                 </set>\r
1912                                                                                                 <return status='failure'>\r
1913                                                                                                     <parameter name='error-code' value='500' />\r
1914                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
1915                                                                                                 </return>\r
1916                                                                                             </block>\r
1917                                                                                         </outcome>\r
1918                                                                                     </switch>\r
1919                                                                                 </block>\r
1920                                                                             </outcome>\r
1921                                                                             <outcome value='not-found'>\r
1922                                                                                 <set>\r
1923                                                                                     <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
1924                                                                                 </set>\r
1925                                                                             </outcome>\r
1926                                                                             <outcome value='success'>\r
1927                                                                                 <set>\r
1928                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
1929                                                                                 </set>\r
1930                                                                             </outcome>\r
1931                                                                         </delete>\r
1932                                                                     </block>\r
1933                                                                 </block>\r
1934                                                                 <block atomic='true'>\r
1935                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1936                                                                         <parameter name="logger" value="message-log"/>\r
1937                                                                         <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
1938                                                                     </record>\r
1939                                                                     <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
1940                                                                         <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
1941                                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1942         resource="vlan-tag"\r
1943                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
1944                                                                                 <outcome value='failure'>\r
1945                                                                                     <block atomic='true'>\r
1946                                                                                         <set>\r
1947                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
1948                                                                                         </set>\r
1949                                                                                         <switch test='`$tmp.return-failure`'>\r
1950                                                                                             <outcome value='true'>\r
1951                                                                                                 <block atomic='true'>\r
1952                                                                                                     <set>\r
1953                                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
1954         value='FAILED' />\r
1955                                                                                                     </set>\r
1956                                                                                                     <return status='failure'>\r
1957                                                                                                         <parameter name='error-code' value='500' />\r
1958                                                                                                         <parameter name='error-message' value='`$error-message`' />\r
1959                                                                                                     </return>\r
1960                                                                                                 </block>\r
1961                                                                                             </outcome>\r
1962                                                                                         </switch>\r
1963                                                                                     </block>\r
1964                                                                                 </outcome>\r
1965                                                                                 <outcome value='not-found'>\r
1966                                                                                     <set>\r
1967                                                                                         <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
1968                                                                                     </set>\r
1969                                                                                 </outcome>\r
1970                                                                                 <outcome value='success'>\r
1971                                                                                     <set>\r
1972                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
1973                                                                                     </set>\r
1974                                                                                 </outcome>\r
1975                                                                             </delete>\r
1976                                                                         </for>\r
1977                                                                     </for>\r
1978                                                                 </block>\r
1979                                                             </block>\r
1980                                                             <return status='failure'>\r
1981                                                                 <parameter name='error-code' value='500' />\r
1982                                                                 <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
1983                                                             </return>\r
1984                                                         </block>\r
1985                                                     </outcome>\r
1986                                                 </save>\r
1987                                             </outcome>\r
1988                                         </save>\r
1989                                     </for>\r
1990                                 </outcome>\r
1991                             </save>\r
1992                         </for>\r
1993                         <block atomic='true'>\r
1994                             <switch test="`$ss.param.oam-interface-name != ''`">\r
1995                                 <outcome value='true'>\r
1996                                     <block atomic='true'>\r
1997                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1998         resource="l-interface"\r
1999                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
2000                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
2001                                             <parameter name="interface-name" value='`$ss.param.oam-interface-name`' />\r
2002                                             <parameter name="interface-role" value='OAM' />\r
2003                                             <outcome value='failure'>\r
2004                                                 <block atomic='true'>\r
2005                                                     <block>\r
2006                                                         <block>\r
2007                                                             <block>\r
2008                                                                 <block>\r
2009                                                                     <block atomic='true'>\r
2010                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2011                                                                             <parameter name="logger" value="message-log"/>\r
2012                                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
2013                                                                         </record>\r
2014                                                                         <set>\r
2015                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2016         value='FAILED' />\r
2017                                                                         </set>\r
2018                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2019         resource="generic-vnf"\r
2020                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
2021                                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
2022                                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
2023                                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
2024                                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
2025                                                                             <outcome value='failure'>\r
2026                                                                                 <set>\r
2027                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2028                                                                                 </set>\r
2029                                                                             </outcome>\r
2030                                                                             <outcome value='not-found'>\r
2031                                                                                 <set>\r
2032                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2033                                                                                 </set>\r
2034                                                                             </outcome>\r
2035                                                                             <outcome value='success'>\r
2036                                                                                 <set>\r
2037                                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
2038                                                                                 </set>\r
2039                                                                             </outcome>\r
2040                                                                         </update>\r
2041                                                                     </block>\r
2042                                                                     <block atomic='true'>\r
2043                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2044                                                                             <parameter name="logger" value="message-log"/>\r
2045                                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
2046                                                                         </record>\r
2047                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2048         resource="vf-module"\r
2049                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
2050                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
2051                                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
2052                                                                             <outcome value='failure'>\r
2053                                                                                 <set>\r
2054                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2055                                                                                 </set>\r
2056                                                                             </outcome>\r
2057                                                                             <outcome value='not-found'>\r
2058                                                                                 <set>\r
2059                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2060                                                                                 </set>\r
2061                                                                             </outcome>\r
2062                                                                             <outcome value='success'>\r
2063                                                                                 <set>\r
2064                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
2065                                                                                 </set>\r
2066                                                                             </outcome>\r
2067                                                                         </update>\r
2068                                                                     </block>\r
2069                                                                 </block>\r
2070                                                                 <block atomic='true'>\r
2071                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2072                                                                         <parameter name="logger" value="message-log"/>\r
2073                                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
2074                                                                     </record>\r
2075                                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2076         resource="volume-group"\r
2077                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
2078                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
2079                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
2080                         AND volume-group-id = $ss.param.volume-group-id" >\r
2081                                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
2082                                                                         <outcome value='failure'>\r
2083                                                                             <set>\r
2084                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2085                                                                             </set>\r
2086                                                                         </outcome>\r
2087                                                                         <outcome value='not-found'>\r
2088                                                                             <set>\r
2089                                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
2090                                                                             </set>\r
2091                                                                         </outcome>\r
2092                                                                         <outcome value='success'>\r
2093                                                                             <set>\r
2094                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
2095                                                                             </set>\r
2096                                                                         </outcome>\r
2097                                                                     </update>\r
2098                                                                 </block>\r
2099                                                             </block>\r
2100                                                             <block atomic='true'>\r
2101                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2102                                                                     <parameter name="logger" value="message-log"/>\r
2103                                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
2104                                                                 </record>\r
2105                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2106         resource="vnfc"\r
2107                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
2108                                                                     <outcome value='failure'>\r
2109                                                                         <block atomic='true'>\r
2110                                                                             <set>\r
2111                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2112                                                                             </set>\r
2113                                                                             <switch test='`$tmp.return-failure`'>\r
2114                                                                                 <outcome value='true'>\r
2115                                                                                     <block atomic='true'>\r
2116                                                                                         <set>\r
2117                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2118         value='FAILED' />\r
2119                                                                                         </set>\r
2120                                                                                         <return status='failure'>\r
2121                                                                                             <parameter name='error-code' value='500' />\r
2122                                                                                             <parameter name='error-message' value='`$error-message`' />\r
2123                                                                                         </return>\r
2124                                                                                     </block>\r
2125                                                                                 </outcome>\r
2126                                                                             </switch>\r
2127                                                                         </block>\r
2128                                                                     </outcome>\r
2129                                                                     <outcome value='not-found'>\r
2130                                                                         <set>\r
2131                                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
2132                                                                         </set>\r
2133                                                                     </outcome>\r
2134                                                                     <outcome value='success'>\r
2135                                                                         <set>\r
2136                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
2137                                                                         </set>\r
2138                                                                     </outcome>\r
2139                                                                 </delete>\r
2140                                                             </block>\r
2141                                                         </block>\r
2142                                                         <block atomic='true'>\r
2143                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2144                                                                 <parameter name="logger" value="message-log"/>\r
2145                                                                 <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
2146                                                             </record>\r
2147                                                             <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
2148                                                                 <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
2149                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2150         resource="vlan-tag"\r
2151                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
2152                                                                         <outcome value='failure'>\r
2153                                                                             <block atomic='true'>\r
2154                                                                                 <set>\r
2155                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2156                                                                                 </set>\r
2157                                                                                 <switch test='`$tmp.return-failure`'>\r
2158                                                                                     <outcome value='true'>\r
2159                                                                                         <block atomic='true'>\r
2160                                                                                             <set>\r
2161                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2162         value='FAILED' />\r
2163                                                                                             </set>\r
2164                                                                                             <return status='failure'>\r
2165                                                                                                 <parameter name='error-code' value='500' />\r
2166                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
2167                                                                                             </return>\r
2168                                                                                         </block>\r
2169                                                                                     </outcome>\r
2170                                                                                 </switch>\r
2171                                                                             </block>\r
2172                                                                         </outcome>\r
2173                                                                         <outcome value='not-found'>\r
2174                                                                             <set>\r
2175                                                                                 <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
2176                                                                             </set>\r
2177                                                                         </outcome>\r
2178                                                                         <outcome value='success'>\r
2179                                                                             <set>\r
2180                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
2181                                                                             </set>\r
2182                                                                         </outcome>\r
2183                                                                     </delete>\r
2184                                                                 </for>\r
2185                                                             </for>\r
2186                                                         </block>\r
2187                                                     </block>\r
2188                                                     <return status='failure'>\r
2189                                                         <parameter name='error-code' value='500' />\r
2190                                                         <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`" />\r
2191                                                     </return>\r
2192                                                 </block>\r
2193                                             </outcome>\r
2194                                             <outcome value='not-found'>\r
2195                                                 <block atomic='true'>\r
2196                                                     <block>\r
2197                                                         <block>\r
2198                                                             <block>\r
2199                                                                 <block>\r
2200                                                                     <block atomic='true'>\r
2201                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2202                                                                             <parameter name="logger" value="message-log"/>\r
2203                                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
2204                                                                         </record>\r
2205                                                                         <set>\r
2206                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2207         value='FAILED' />\r
2208                                                                         </set>\r
2209                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2210         resource="generic-vnf"\r
2211                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
2212                                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
2213                                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
2214                                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
2215                                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
2216                                                                             <outcome value='failure'>\r
2217                                                                                 <set>\r
2218                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2219                                                                                 </set>\r
2220                                                                             </outcome>\r
2221                                                                             <outcome value='not-found'>\r
2222                                                                                 <set>\r
2223                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2224                                                                                 </set>\r
2225                                                                             </outcome>\r
2226                                                                             <outcome value='success'>\r
2227                                                                                 <set>\r
2228                                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
2229                                                                                 </set>\r
2230                                                                             </outcome>\r
2231                                                                         </update>\r
2232                                                                     </block>\r
2233                                                                     <block atomic='true'>\r
2234                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2235                                                                             <parameter name="logger" value="message-log"/>\r
2236                                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
2237                                                                         </record>\r
2238                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2239         resource="vf-module"\r
2240                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
2241                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
2242                                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
2243                                                                             <outcome value='failure'>\r
2244                                                                                 <set>\r
2245                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2246                                                                                 </set>\r
2247                                                                             </outcome>\r
2248                                                                             <outcome value='not-found'>\r
2249                                                                                 <set>\r
2250                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2251                                                                                 </set>\r
2252                                                                             </outcome>\r
2253                                                                             <outcome value='success'>\r
2254                                                                                 <set>\r
2255                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
2256                                                                                 </set>\r
2257                                                                             </outcome>\r
2258                                                                         </update>\r
2259                                                                     </block>\r
2260                                                                 </block>\r
2261                                                                 <block atomic='true'>\r
2262                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2263                                                                         <parameter name="logger" value="message-log"/>\r
2264                                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
2265                                                                     </record>\r
2266                                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2267         resource="volume-group"\r
2268                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
2269                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
2270                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
2271                         AND volume-group-id = $ss.param.volume-group-id" >\r
2272                                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
2273                                                                         <outcome value='failure'>\r
2274                                                                             <set>\r
2275                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2276                                                                             </set>\r
2277                                                                         </outcome>\r
2278                                                                         <outcome value='not-found'>\r
2279                                                                             <set>\r
2280                                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
2281                                                                             </set>\r
2282                                                                         </outcome>\r
2283                                                                         <outcome value='success'>\r
2284                                                                             <set>\r
2285                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
2286                                                                             </set>\r
2287                                                                         </outcome>\r
2288                                                                     </update>\r
2289                                                                 </block>\r
2290                                                             </block>\r
2291                                                             <block atomic='true'>\r
2292                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2293                                                                     <parameter name="logger" value="message-log"/>\r
2294                                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
2295                                                                 </record>\r
2296                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2297         resource="vnfc"\r
2298                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
2299                                                                     <outcome value='failure'>\r
2300                                                                         <block atomic='true'>\r
2301                                                                             <set>\r
2302                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2303                                                                             </set>\r
2304                                                                             <switch test='`$tmp.return-failure`'>\r
2305                                                                                 <outcome value='true'>\r
2306                                                                                     <block atomic='true'>\r
2307                                                                                         <set>\r
2308                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2309         value='FAILED' />\r
2310                                                                                         </set>\r
2311                                                                                         <return status='failure'>\r
2312                                                                                             <parameter name='error-code' value='500' />\r
2313                                                                                             <parameter name='error-message' value='`$error-message`' />\r
2314                                                                                         </return>\r
2315                                                                                     </block>\r
2316                                                                                 </outcome>\r
2317                                                                             </switch>\r
2318                                                                         </block>\r
2319                                                                     </outcome>\r
2320                                                                     <outcome value='not-found'>\r
2321                                                                         <set>\r
2322                                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
2323                                                                         </set>\r
2324                                                                     </outcome>\r
2325                                                                     <outcome value='success'>\r
2326                                                                         <set>\r
2327                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
2328                                                                         </set>\r
2329                                                                     </outcome>\r
2330                                                                 </delete>\r
2331                                                             </block>\r
2332                                                         </block>\r
2333                                                         <block atomic='true'>\r
2334                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2335                                                                 <parameter name="logger" value="message-log"/>\r
2336                                                                 <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
2337                                                             </record>\r
2338                                                             <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
2339                                                                 <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
2340                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2341         resource="vlan-tag"\r
2342                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
2343                                                                         <outcome value='failure'>\r
2344                                                                             <block atomic='true'>\r
2345                                                                                 <set>\r
2346                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2347                                                                                 </set>\r
2348                                                                                 <switch test='`$tmp.return-failure`'>\r
2349                                                                                     <outcome value='true'>\r
2350                                                                                         <block atomic='true'>\r
2351                                                                                             <set>\r
2352                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2353         value='FAILED' />\r
2354                                                                                             </set>\r
2355                                                                                             <return status='failure'>\r
2356                                                                                                 <parameter name='error-code' value='500' />\r
2357                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
2358                                                                                             </return>\r
2359                                                                                         </block>\r
2360                                                                                     </outcome>\r
2361                                                                                 </switch>\r
2362                                                                             </block>\r
2363                                                                         </outcome>\r
2364                                                                         <outcome value='not-found'>\r
2365                                                                             <set>\r
2366                                                                                 <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
2367                                                                             </set>\r
2368                                                                         </outcome>\r
2369                                                                         <outcome value='success'>\r
2370                                                                             <set>\r
2371                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
2372                                                                             </set>\r
2373                                                                         </outcome>\r
2374                                                                     </delete>\r
2375                                                                 </for>\r
2376                                                             </for>\r
2377                                                         </block>\r
2378                                                     </block>\r
2379                                                     <return status='failure'>\r
2380                                                         <parameter name='error-code' value='500' />\r
2381                                                         <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`" />\r
2382                                                     </return>\r
2383                                                 </block>\r
2384                                             </outcome>\r
2385                                         </save>\r
2386                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2387         resource="l3-interface-ipv4-address-list"\r
2388                 key="l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address \r
2389                 AND generic-vnf.vnf-id = $ss.param.vnf-id \r
2390                 AND l-interface.interface-name = $ss.param.oam-interface-name" >\r
2391                                             <parameter name="l3-interface-ipv4-address" value='`$ss.param.ipv4-oam-address`' />\r
2392                                             <parameter name="l3-interface-ipv4-prefix-length" value='`$ss.param.ipv4-oam-address-prefix`' />\r
2393                                             <outcome value='failure'>\r
2394                                                 <block atomic='true'>\r
2395                                                     <block>\r
2396                                                         <block>\r
2397                                                             <block>\r
2398                                                                 <block>\r
2399                                                                     <block>\r
2400                                                                         <block atomic='true'>\r
2401                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2402                                                                                 <parameter name="logger" value="message-log"/>\r
2403                                                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
2404                                                                             </record>\r
2405                                                                             <set>\r
2406                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2407         value='FAILED' />\r
2408                                                                             </set>\r
2409                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2410         resource="generic-vnf"\r
2411                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
2412                                                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
2413                                                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
2414                                                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
2415                                                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
2416                                                                                 <outcome value='failure'>\r
2417                                                                                     <set>\r
2418                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2419                                                                                     </set>\r
2420                                                                                 </outcome>\r
2421                                                                                 <outcome value='not-found'>\r
2422                                                                                     <set>\r
2423                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2424                                                                                     </set>\r
2425                                                                                 </outcome>\r
2426                                                                                 <outcome value='success'>\r
2427                                                                                     <set>\r
2428                                                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
2429                                                                                     </set>\r
2430                                                                                 </outcome>\r
2431                                                                             </update>\r
2432                                                                         </block>\r
2433                                                                         <block atomic='true'>\r
2434                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2435                                                                                 <parameter name="logger" value="message-log"/>\r
2436                                                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
2437                                                                             </record>\r
2438                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2439         resource="vf-module"\r
2440                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
2441                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
2442                                                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
2443                                                                                 <outcome value='failure'>\r
2444                                                                                     <set>\r
2445                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2446                                                                                     </set>\r
2447                                                                                 </outcome>\r
2448                                                                                 <outcome value='not-found'>\r
2449                                                                                     <set>\r
2450                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2451                                                                                     </set>\r
2452                                                                                 </outcome>\r
2453                                                                                 <outcome value='success'>\r
2454                                                                                     <set>\r
2455                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
2456                                                                                     </set>\r
2457                                                                                 </outcome>\r
2458                                                                             </update>\r
2459                                                                         </block>\r
2460                                                                     </block>\r
2461                                                                     <block atomic='true'>\r
2462                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2463                                                                             <parameter name="logger" value="message-log"/>\r
2464                                                                             <parameter name="field1" value="ROLLBACK volume-group update"/>\r
2465                                                                         </record>\r
2466                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2467         resource="volume-group"\r
2468                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
2469                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
2470                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
2471                         AND volume-group-id = $ss.param.volume-group-id" >\r
2472                                                                             <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
2473                                                                             <outcome value='failure'>\r
2474                                                                                 <set>\r
2475                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2476                                                                                 </set>\r
2477                                                                             </outcome>\r
2478                                                                             <outcome value='not-found'>\r
2479                                                                                 <set>\r
2480                                                                                     <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
2481                                                                                 </set>\r
2482                                                                             </outcome>\r
2483                                                                             <outcome value='success'>\r
2484                                                                                 <set>\r
2485                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
2486                                                                                 </set>\r
2487                                                                             </outcome>\r
2488                                                                         </update>\r
2489                                                                     </block>\r
2490                                                                 </block>\r
2491                                                                 <block atomic='true'>\r
2492                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2493                                                                         <parameter name="logger" value="message-log"/>\r
2494                                                                         <parameter name="field1" value="ROLLBACK vnfc save"/>\r
2495                                                                     </record>\r
2496                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2497         resource="vnfc"\r
2498                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
2499                                                                         <outcome value='failure'>\r
2500                                                                             <block atomic='true'>\r
2501                                                                                 <set>\r
2502                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2503                                                                                 </set>\r
2504                                                                                 <switch test='`$tmp.return-failure`'>\r
2505                                                                                     <outcome value='true'>\r
2506                                                                                         <block atomic='true'>\r
2507                                                                                             <set>\r
2508                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2509         value='FAILED' />\r
2510                                                                                             </set>\r
2511                                                                                             <return status='failure'>\r
2512                                                                                                 <parameter name='error-code' value='500' />\r
2513                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
2514                                                                                             </return>\r
2515                                                                                         </block>\r
2516                                                                                     </outcome>\r
2517                                                                                 </switch>\r
2518                                                                             </block>\r
2519                                                                         </outcome>\r
2520                                                                         <outcome value='not-found'>\r
2521                                                                             <set>\r
2522                                                                                 <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
2523                                                                             </set>\r
2524                                                                         </outcome>\r
2525                                                                         <outcome value='success'>\r
2526                                                                             <set>\r
2527                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
2528                                                                             </set>\r
2529                                                                         </outcome>\r
2530                                                                     </delete>\r
2531                                                                 </block>\r
2532                                                             </block>\r
2533                                                             <block atomic='true'>\r
2534                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2535                                                                     <parameter name="logger" value="message-log"/>\r
2536                                                                     <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
2537                                                                 </record>\r
2538                                                                 <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
2539                                                                     <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
2540                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2541         resource="vlan-tag"\r
2542                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
2543                                                                             <outcome value='failure'>\r
2544                                                                                 <block atomic='true'>\r
2545                                                                                     <set>\r
2546                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2547                                                                                     </set>\r
2548                                                                                     <switch test='`$tmp.return-failure`'>\r
2549                                                                                         <outcome value='true'>\r
2550                                                                                             <block atomic='true'>\r
2551                                                                                                 <set>\r
2552                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2553         value='FAILED' />\r
2554                                                                                                 </set>\r
2555                                                                                                 <return status='failure'>\r
2556                                                                                                     <parameter name='error-code' value='500' />\r
2557                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
2558                                                                                                 </return>\r
2559                                                                                             </block>\r
2560                                                                                         </outcome>\r
2561                                                                                     </switch>\r
2562                                                                                 </block>\r
2563                                                                             </outcome>\r
2564                                                                             <outcome value='not-found'>\r
2565                                                                                 <set>\r
2566                                                                                     <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
2567                                                                                 </set>\r
2568                                                                             </outcome>\r
2569                                                                             <outcome value='success'>\r
2570                                                                                 <set>\r
2571                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
2572                                                                                 </set>\r
2573                                                                             </outcome>\r
2574                                                                         </delete>\r
2575                                                                     </for>\r
2576                                                                 </for>\r
2577                                                             </block>\r
2578                                                         </block>\r
2579                                                         <block atomic='true'>\r
2580                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2581                                                                 <parameter name="logger" value="message-log"/>\r
2582                                                                 <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
2583                                                             </record>\r
2584                                                             <switch test="`$ss.param.oam-interface-name != ''`">\r
2585                                                                 <outcome value='true'>\r
2586                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2587         resource="l-interface"\r
2588                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
2589                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
2590                                                                         <outcome value='failure'>\r
2591                                                                             <block atomic='true'>\r
2592                                                                                 <set>\r
2593                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2594                                                                                 </set>\r
2595                                                                                 <switch test='`$tmp.return-failure`'>\r
2596                                                                                     <outcome value='true'>\r
2597                                                                                         <block atomic='true'>\r
2598                                                                                             <set>\r
2599                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2600         value='FAILED' />\r
2601                                                                                             </set>\r
2602                                                                                             <return status='failure'>\r
2603                                                                                                 <parameter name='error-code' value='500' />\r
2604                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
2605                                                                                             </return>\r
2606                                                                                         </block>\r
2607                                                                                     </outcome>\r
2608                                                                                 </switch>\r
2609                                                                             </block>\r
2610                                                                         </outcome>\r
2611                                                                         <outcome value='not-found'>\r
2612                                                                             <set>\r
2613                                                                                 <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
2614                                                                             </set>\r
2615                                                                         </outcome>\r
2616                                                                         <outcome value='success'>\r
2617                                                                             <set>\r
2618                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
2619                                                                             </set>\r
2620                                                                         </outcome>\r
2621                                                                     </delete>\r
2622                                                                 </outcome>\r
2623                                                             </switch>\r
2624                                                         </block>\r
2625                                                     </block>\r
2626                                                     <return status='failure'>\r
2627                                                         <parameter name='error-code' value='500' />\r
2628                                                         <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`" />\r
2629                                                     </return>\r
2630                                                 </block>\r
2631                                             </outcome>\r
2632                                             <outcome value='not-found'>\r
2633                                                 <block atomic='true'>\r
2634                                                     <block>\r
2635                                                         <block>\r
2636                                                             <block>\r
2637                                                                 <block>\r
2638                                                                     <block>\r
2639                                                                         <block atomic='true'>\r
2640                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2641                                                                                 <parameter name="logger" value="message-log"/>\r
2642                                                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
2643                                                                             </record>\r
2644                                                                             <set>\r
2645                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2646         value='FAILED' />\r
2647                                                                             </set>\r
2648                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2649         resource="generic-vnf"\r
2650                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
2651                                                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
2652                                                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
2653                                                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
2654                                                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
2655                                                                                 <outcome value='failure'>\r
2656                                                                                     <set>\r
2657                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2658                                                                                     </set>\r
2659                                                                                 </outcome>\r
2660                                                                                 <outcome value='not-found'>\r
2661                                                                                     <set>\r
2662                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2663                                                                                     </set>\r
2664                                                                                 </outcome>\r
2665                                                                                 <outcome value='success'>\r
2666                                                                                     <set>\r
2667                                                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
2668                                                                                     </set>\r
2669                                                                                 </outcome>\r
2670                                                                             </update>\r
2671                                                                         </block>\r
2672                                                                         <block atomic='true'>\r
2673                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2674                                                                                 <parameter name="logger" value="message-log"/>\r
2675                                                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
2676                                                                             </record>\r
2677                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2678         resource="vf-module"\r
2679                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
2680                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
2681                                                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
2682                                                                                 <outcome value='failure'>\r
2683                                                                                     <set>\r
2684                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2685                                                                                     </set>\r
2686                                                                                 </outcome>\r
2687                                                                                 <outcome value='not-found'>\r
2688                                                                                     <set>\r
2689                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2690                                                                                     </set>\r
2691                                                                                 </outcome>\r
2692                                                                                 <outcome value='success'>\r
2693                                                                                     <set>\r
2694                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
2695                                                                                     </set>\r
2696                                                                                 </outcome>\r
2697                                                                             </update>\r
2698                                                                         </block>\r
2699                                                                     </block>\r
2700                                                                     <block atomic='true'>\r
2701                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2702                                                                             <parameter name="logger" value="message-log"/>\r
2703                                                                             <parameter name="field1" value="ROLLBACK volume-group update"/>\r
2704                                                                         </record>\r
2705                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2706         resource="volume-group"\r
2707                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
2708                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
2709                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
2710                         AND volume-group-id = $ss.param.volume-group-id" >\r
2711                                                                             <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
2712                                                                             <outcome value='failure'>\r
2713                                                                                 <set>\r
2714                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2715                                                                                 </set>\r
2716                                                                             </outcome>\r
2717                                                                             <outcome value='not-found'>\r
2718                                                                                 <set>\r
2719                                                                                     <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
2720                                                                                 </set>\r
2721                                                                             </outcome>\r
2722                                                                             <outcome value='success'>\r
2723                                                                                 <set>\r
2724                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
2725                                                                                 </set>\r
2726                                                                             </outcome>\r
2727                                                                         </update>\r
2728                                                                     </block>\r
2729                                                                 </block>\r
2730                                                                 <block atomic='true'>\r
2731                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2732                                                                         <parameter name="logger" value="message-log"/>\r
2733                                                                         <parameter name="field1" value="ROLLBACK vnfc save"/>\r
2734                                                                     </record>\r
2735                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2736         resource="vnfc"\r
2737                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
2738                                                                         <outcome value='failure'>\r
2739                                                                             <block atomic='true'>\r
2740                                                                                 <set>\r
2741                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2742                                                                                 </set>\r
2743                                                                                 <switch test='`$tmp.return-failure`'>\r
2744                                                                                     <outcome value='true'>\r
2745                                                                                         <block atomic='true'>\r
2746                                                                                             <set>\r
2747                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2748         value='FAILED' />\r
2749                                                                                             </set>\r
2750                                                                                             <return status='failure'>\r
2751                                                                                                 <parameter name='error-code' value='500' />\r
2752                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
2753                                                                                             </return>\r
2754                                                                                         </block>\r
2755                                                                                     </outcome>\r
2756                                                                                 </switch>\r
2757                                                                             </block>\r
2758                                                                         </outcome>\r
2759                                                                         <outcome value='not-found'>\r
2760                                                                             <set>\r
2761                                                                                 <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
2762                                                                             </set>\r
2763                                                                         </outcome>\r
2764                                                                         <outcome value='success'>\r
2765                                                                             <set>\r
2766                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
2767                                                                             </set>\r
2768                                                                         </outcome>\r
2769                                                                     </delete>\r
2770                                                                 </block>\r
2771                                                             </block>\r
2772                                                             <block atomic='true'>\r
2773                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2774                                                                     <parameter name="logger" value="message-log"/>\r
2775                                                                     <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
2776                                                                 </record>\r
2777                                                                 <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
2778                                                                     <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
2779                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2780         resource="vlan-tag"\r
2781                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
2782                                                                             <outcome value='failure'>\r
2783                                                                                 <block atomic='true'>\r
2784                                                                                     <set>\r
2785                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2786                                                                                     </set>\r
2787                                                                                     <switch test='`$tmp.return-failure`'>\r
2788                                                                                         <outcome value='true'>\r
2789                                                                                             <block atomic='true'>\r
2790                                                                                                 <set>\r
2791                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2792         value='FAILED' />\r
2793                                                                                                 </set>\r
2794                                                                                                 <return status='failure'>\r
2795                                                                                                     <parameter name='error-code' value='500' />\r
2796                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
2797                                                                                                 </return>\r
2798                                                                                             </block>\r
2799                                                                                         </outcome>\r
2800                                                                                     </switch>\r
2801                                                                                 </block>\r
2802                                                                             </outcome>\r
2803                                                                             <outcome value='not-found'>\r
2804                                                                                 <set>\r
2805                                                                                     <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
2806                                                                                 </set>\r
2807                                                                             </outcome>\r
2808                                                                             <outcome value='success'>\r
2809                                                                                 <set>\r
2810                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
2811                                                                                 </set>\r
2812                                                                             </outcome>\r
2813                                                                         </delete>\r
2814                                                                     </for>\r
2815                                                                 </for>\r
2816                                                             </block>\r
2817                                                         </block>\r
2818                                                         <block atomic='true'>\r
2819                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2820                                                                 <parameter name="logger" value="message-log"/>\r
2821                                                                 <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
2822                                                             </record>\r
2823                                                             <switch test="`$ss.param.oam-interface-name != ''`">\r
2824                                                                 <outcome value='true'>\r
2825                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2826         resource="l-interface"\r
2827                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
2828                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
2829                                                                         <outcome value='failure'>\r
2830                                                                             <block atomic='true'>\r
2831                                                                                 <set>\r
2832                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2833                                                                                 </set>\r
2834                                                                                 <switch test='`$tmp.return-failure`'>\r
2835                                                                                     <outcome value='true'>\r
2836                                                                                         <block atomic='true'>\r
2837                                                                                             <set>\r
2838                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2839         value='FAILED' />\r
2840                                                                                             </set>\r
2841                                                                                             <return status='failure'>\r
2842                                                                                                 <parameter name='error-code' value='500' />\r
2843                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
2844                                                                                             </return>\r
2845                                                                                         </block>\r
2846                                                                                     </outcome>\r
2847                                                                                 </switch>\r
2848                                                                             </block>\r
2849                                                                         </outcome>\r
2850                                                                         <outcome value='not-found'>\r
2851                                                                             <set>\r
2852                                                                                 <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
2853                                                                             </set>\r
2854                                                                         </outcome>\r
2855                                                                         <outcome value='success'>\r
2856                                                                             <set>\r
2857                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
2858                                                                             </set>\r
2859                                                                         </outcome>\r
2860                                                                     </delete>\r
2861                                                                 </outcome>\r
2862                                                             </switch>\r
2863                                                         </block>\r
2864                                                     </block>\r
2865                                                     <return status='failure'>\r
2866                                                         <parameter name='error-code' value='500' />\r
2867                                                         <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`" />\r
2868                                                     </return>\r
2869                                                 </block>\r
2870                                             </outcome>\r
2871                                         </save>\r
2872                                     </block>\r
2873                                 </outcome>\r
2874                             </switch>\r
2875                             <switch test="`$ss.param.lo0-interface-name != ''`">\r
2876                                 <outcome value='true'>\r
2877                                     <block atomic='true'>\r
2878                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2879         resource="l-interface"\r
2880                 key="l-interface.interface-name = $ss.param.lo0-interface-name\r
2881                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
2882                                             <parameter name="interface-name" value='`$ss.param.lo0-interface-name`' />\r
2883                                             <parameter name="interface-role" value='loopback' />\r
2884                                             <outcome value='failure'>\r
2885                                                 <block atomic='true'>\r
2886                                                     <block>\r
2887                                                         <block>\r
2888                                                             <block>\r
2889                                                                 <block>\r
2890                                                                     <block>\r
2891                                                                         <block atomic='true'>\r
2892                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2893                                                                                 <parameter name="logger" value="message-log"/>\r
2894                                                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
2895                                                                             </record>\r
2896                                                                             <set>\r
2897                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
2898         value='FAILED' />\r
2899                                                                             </set>\r
2900                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2901         resource="generic-vnf"\r
2902                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
2903                                                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
2904                                                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
2905                                                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
2906                                                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
2907                                                                                 <outcome value='failure'>\r
2908                                                                                     <set>\r
2909                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2910                                                                                     </set>\r
2911                                                                                 </outcome>\r
2912                                                                                 <outcome value='not-found'>\r
2913                                                                                     <set>\r
2914                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2915                                                                                     </set>\r
2916                                                                                 </outcome>\r
2917                                                                                 <outcome value='success'>\r
2918                                                                                     <set>\r
2919                                                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
2920                                                                                     </set>\r
2921                                                                                 </outcome>\r
2922                                                                             </update>\r
2923                                                                         </block>\r
2924                                                                         <block atomic='true'>\r
2925                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2926                                                                                 <parameter name="logger" value="message-log"/>\r
2927                                                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
2928                                                                             </record>\r
2929                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2930         resource="vf-module"\r
2931                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
2932                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
2933                                                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
2934                                                                                 <outcome value='failure'>\r
2935                                                                                     <set>\r
2936                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2937                                                                                     </set>\r
2938                                                                                 </outcome>\r
2939                                                                                 <outcome value='not-found'>\r
2940                                                                                     <set>\r
2941                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
2942                                                                                     </set>\r
2943                                                                                 </outcome>\r
2944                                                                                 <outcome value='success'>\r
2945                                                                                     <set>\r
2946                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
2947                                                                                     </set>\r
2948                                                                                 </outcome>\r
2949                                                                             </update>\r
2950                                                                         </block>\r
2951                                                                     </block>\r
2952                                                                     <block atomic='true'>\r
2953                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2954                                                                             <parameter name="logger" value="message-log"/>\r
2955                                                                             <parameter name="field1" value="ROLLBACK volume-group update"/>\r
2956                                                                         </record>\r
2957                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2958         resource="volume-group"\r
2959                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
2960                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
2961                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
2962                         AND volume-group-id = $ss.param.volume-group-id" >\r
2963                                                                             <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
2964                                                                             <outcome value='failure'>\r
2965                                                                                 <set>\r
2966                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2967                                                                                 </set>\r
2968                                                                             </outcome>\r
2969                                                                             <outcome value='not-found'>\r
2970                                                                                 <set>\r
2971                                                                                     <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
2972                                                                                 </set>\r
2973                                                                             </outcome>\r
2974                                                                             <outcome value='success'>\r
2975                                                                                 <set>\r
2976                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
2977                                                                                 </set>\r
2978                                                                             </outcome>\r
2979                                                                         </update>\r
2980                                                                     </block>\r
2981                                                                 </block>\r
2982                                                                 <block atomic='true'>\r
2983                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
2984                                                                         <parameter name="logger" value="message-log"/>\r
2985                                                                         <parameter name="field1" value="ROLLBACK vnfc save"/>\r
2986                                                                     </record>\r
2987                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
2988         resource="vnfc"\r
2989                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
2990                                                                         <outcome value='failure'>\r
2991                                                                             <block atomic='true'>\r
2992                                                                                 <set>\r
2993                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
2994                                                                                 </set>\r
2995                                                                                 <switch test='`$tmp.return-failure`'>\r
2996                                                                                     <outcome value='true'>\r
2997                                                                                         <block atomic='true'>\r
2998                                                                                             <set>\r
2999                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3000         value='FAILED' />\r
3001                                                                                             </set>\r
3002                                                                                             <return status='failure'>\r
3003                                                                                                 <parameter name='error-code' value='500' />\r
3004                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
3005                                                                                             </return>\r
3006                                                                                         </block>\r
3007                                                                                     </outcome>\r
3008                                                                                 </switch>\r
3009                                                                             </block>\r
3010                                                                         </outcome>\r
3011                                                                         <outcome value='not-found'>\r
3012                                                                             <set>\r
3013                                                                                 <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
3014                                                                             </set>\r
3015                                                                         </outcome>\r
3016                                                                         <outcome value='success'>\r
3017                                                                             <set>\r
3018                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
3019                                                                             </set>\r
3020                                                                         </outcome>\r
3021                                                                     </delete>\r
3022                                                                 </block>\r
3023                                                             </block>\r
3024                                                             <block atomic='true'>\r
3025                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3026                                                                     <parameter name="logger" value="message-log"/>\r
3027                                                                     <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
3028                                                                 </record>\r
3029                                                                 <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
3030                                                                     <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
3031                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3032         resource="vlan-tag"\r
3033                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
3034                                                                             <outcome value='failure'>\r
3035                                                                                 <block atomic='true'>\r
3036                                                                                     <set>\r
3037                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3038                                                                                     </set>\r
3039                                                                                     <switch test='`$tmp.return-failure`'>\r
3040                                                                                         <outcome value='true'>\r
3041                                                                                             <block atomic='true'>\r
3042                                                                                                 <set>\r
3043                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3044         value='FAILED' />\r
3045                                                                                                 </set>\r
3046                                                                                                 <return status='failure'>\r
3047                                                                                                     <parameter name='error-code' value='500' />\r
3048                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
3049                                                                                                 </return>\r
3050                                                                                             </block>\r
3051                                                                                         </outcome>\r
3052                                                                                     </switch>\r
3053                                                                                 </block>\r
3054                                                                             </outcome>\r
3055                                                                             <outcome value='not-found'>\r
3056                                                                                 <set>\r
3057                                                                                     <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
3058                                                                                 </set>\r
3059                                                                             </outcome>\r
3060                                                                             <outcome value='success'>\r
3061                                                                                 <set>\r
3062                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
3063                                                                                 </set>\r
3064                                                                             </outcome>\r
3065                                                                         </delete>\r
3066                                                                     </for>\r
3067                                                                 </for>\r
3068                                                             </block>\r
3069                                                         </block>\r
3070                                                         <block atomic='true'>\r
3071                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3072                                                                 <parameter name="logger" value="message-log"/>\r
3073                                                                 <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
3074                                                             </record>\r
3075                                                             <switch test="`$ss.param.oam-interface-name != ''`">\r
3076                                                                 <outcome value='true'>\r
3077                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3078         resource="l-interface"\r
3079                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
3080                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3081                                                                         <outcome value='failure'>\r
3082                                                                             <block atomic='true'>\r
3083                                                                                 <set>\r
3084                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3085                                                                                 </set>\r
3086                                                                                 <switch test='`$tmp.return-failure`'>\r
3087                                                                                     <outcome value='true'>\r
3088                                                                                         <block atomic='true'>\r
3089                                                                                             <set>\r
3090                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3091         value='FAILED' />\r
3092                                                                                             </set>\r
3093                                                                                             <return status='failure'>\r
3094                                                                                                 <parameter name='error-code' value='500' />\r
3095                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
3096                                                                                             </return>\r
3097                                                                                         </block>\r
3098                                                                                     </outcome>\r
3099                                                                                 </switch>\r
3100                                                                             </block>\r
3101                                                                         </outcome>\r
3102                                                                         <outcome value='not-found'>\r
3103                                                                             <set>\r
3104                                                                                 <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
3105                                                                             </set>\r
3106                                                                         </outcome>\r
3107                                                                         <outcome value='success'>\r
3108                                                                             <set>\r
3109                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
3110                                                                             </set>\r
3111                                                                         </outcome>\r
3112                                                                     </delete>\r
3113                                                                 </outcome>\r
3114                                                             </switch>\r
3115                                                         </block>\r
3116                                                     </block>\r
3117                                                     <return status='failure'>\r
3118                                                         <parameter name='error-code' value='500' />\r
3119                                                         <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`" />\r
3120                                                     </return>\r
3121                                                 </block>\r
3122                                             </outcome>\r
3123                                             <outcome value='not-found'>\r
3124                                                 <block atomic='true'>\r
3125                                                     <block>\r
3126                                                         <block>\r
3127                                                             <block>\r
3128                                                                 <block>\r
3129                                                                     <block>\r
3130                                                                         <block atomic='true'>\r
3131                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3132                                                                                 <parameter name="logger" value="message-log"/>\r
3133                                                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
3134                                                                             </record>\r
3135                                                                             <set>\r
3136                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3137         value='FAILED' />\r
3138                                                                             </set>\r
3139                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3140         resource="generic-vnf"\r
3141                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
3142                                                                                 <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
3143                                                                                 <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
3144                                                                                 <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
3145                                                                                 <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
3146                                                                                 <outcome value='failure'>\r
3147                                                                                     <set>\r
3148                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3149                                                                                     </set>\r
3150                                                                                 </outcome>\r
3151                                                                                 <outcome value='not-found'>\r
3152                                                                                     <set>\r
3153                                                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3154                                                                                     </set>\r
3155                                                                                 </outcome>\r
3156                                                                                 <outcome value='success'>\r
3157                                                                                     <set>\r
3158                                                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
3159                                                                                     </set>\r
3160                                                                                 </outcome>\r
3161                                                                             </update>\r
3162                                                                         </block>\r
3163                                                                         <block atomic='true'>\r
3164                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3165                                                                                 <parameter name="logger" value="message-log"/>\r
3166                                                                                 <parameter name="field1" value="ROLLBACK vf-module update"/>\r
3167                                                                             </record>\r
3168                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3169         resource="vf-module"\r
3170                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
3171                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
3172                                                                                 <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
3173                                                                                 <outcome value='failure'>\r
3174                                                                                     <set>\r
3175                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
3176                                                                                     </set>\r
3177                                                                                 </outcome>\r
3178                                                                                 <outcome value='not-found'>\r
3179                                                                                     <set>\r
3180                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
3181                                                                                     </set>\r
3182                                                                                 </outcome>\r
3183                                                                                 <outcome value='success'>\r
3184                                                                                     <set>\r
3185                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
3186                                                                                     </set>\r
3187                                                                                 </outcome>\r
3188                                                                             </update>\r
3189                                                                         </block>\r
3190                                                                     </block>\r
3191                                                                     <block atomic='true'>\r
3192                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3193                                                                             <parameter name="logger" value="message-log"/>\r
3194                                                                             <parameter name="field1" value="ROLLBACK volume-group update"/>\r
3195                                                                         </record>\r
3196                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3197         resource="volume-group"\r
3198                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
3199                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
3200                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
3201                         AND volume-group-id = $ss.param.volume-group-id" >\r
3202                                                                             <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
3203                                                                             <outcome value='failure'>\r
3204                                                                                 <set>\r
3205                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3206                                                                                 </set>\r
3207                                                                             </outcome>\r
3208                                                                             <outcome value='not-found'>\r
3209                                                                                 <set>\r
3210                                                                                     <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
3211                                                                                 </set>\r
3212                                                                             </outcome>\r
3213                                                                             <outcome value='success'>\r
3214                                                                                 <set>\r
3215                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
3216                                                                                 </set>\r
3217                                                                             </outcome>\r
3218                                                                         </update>\r
3219                                                                     </block>\r
3220                                                                 </block>\r
3221                                                                 <block atomic='true'>\r
3222                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3223                                                                         <parameter name="logger" value="message-log"/>\r
3224                                                                         <parameter name="field1" value="ROLLBACK vnfc save"/>\r
3225                                                                     </record>\r
3226                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3227         resource="vnfc"\r
3228                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
3229                                                                         <outcome value='failure'>\r
3230                                                                             <block atomic='true'>\r
3231                                                                                 <set>\r
3232                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3233                                                                                 </set>\r
3234                                                                                 <switch test='`$tmp.return-failure`'>\r
3235                                                                                     <outcome value='true'>\r
3236                                                                                         <block atomic='true'>\r
3237                                                                                             <set>\r
3238                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3239         value='FAILED' />\r
3240                                                                                             </set>\r
3241                                                                                             <return status='failure'>\r
3242                                                                                                 <parameter name='error-code' value='500' />\r
3243                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
3244                                                                                             </return>\r
3245                                                                                         </block>\r
3246                                                                                     </outcome>\r
3247                                                                                 </switch>\r
3248                                                                             </block>\r
3249                                                                         </outcome>\r
3250                                                                         <outcome value='not-found'>\r
3251                                                                             <set>\r
3252                                                                                 <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
3253                                                                             </set>\r
3254                                                                         </outcome>\r
3255                                                                         <outcome value='success'>\r
3256                                                                             <set>\r
3257                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
3258                                                                             </set>\r
3259                                                                         </outcome>\r
3260                                                                     </delete>\r
3261                                                                 </block>\r
3262                                                             </block>\r
3263                                                             <block atomic='true'>\r
3264                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3265                                                                     <parameter name="logger" value="message-log"/>\r
3266                                                                     <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
3267                                                                 </record>\r
3268                                                                 <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
3269                                                                     <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
3270                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3271         resource="vlan-tag"\r
3272                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
3273                                                                             <outcome value='failure'>\r
3274                                                                                 <block atomic='true'>\r
3275                                                                                     <set>\r
3276                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3277                                                                                     </set>\r
3278                                                                                     <switch test='`$tmp.return-failure`'>\r
3279                                                                                         <outcome value='true'>\r
3280                                                                                             <block atomic='true'>\r
3281                                                                                                 <set>\r
3282                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3283         value='FAILED' />\r
3284                                                                                                 </set>\r
3285                                                                                                 <return status='failure'>\r
3286                                                                                                     <parameter name='error-code' value='500' />\r
3287                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
3288                                                                                                 </return>\r
3289                                                                                             </block>\r
3290                                                                                         </outcome>\r
3291                                                                                     </switch>\r
3292                                                                                 </block>\r
3293                                                                             </outcome>\r
3294                                                                             <outcome value='not-found'>\r
3295                                                                                 <set>\r
3296                                                                                     <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
3297                                                                                 </set>\r
3298                                                                             </outcome>\r
3299                                                                             <outcome value='success'>\r
3300                                                                                 <set>\r
3301                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
3302                                                                                 </set>\r
3303                                                                             </outcome>\r
3304                                                                         </delete>\r
3305                                                                     </for>\r
3306                                                                 </for>\r
3307                                                             </block>\r
3308                                                         </block>\r
3309                                                         <block atomic='true'>\r
3310                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3311                                                                 <parameter name="logger" value="message-log"/>\r
3312                                                                 <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
3313                                                             </record>\r
3314                                                             <switch test="`$ss.param.oam-interface-name != ''`">\r
3315                                                                 <outcome value='true'>\r
3316                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3317         resource="l-interface"\r
3318                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
3319                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3320                                                                         <outcome value='failure'>\r
3321                                                                             <block atomic='true'>\r
3322                                                                                 <set>\r
3323                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3324                                                                                 </set>\r
3325                                                                                 <switch test='`$tmp.return-failure`'>\r
3326                                                                                     <outcome value='true'>\r
3327                                                                                         <block atomic='true'>\r
3328                                                                                             <set>\r
3329                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3330         value='FAILED' />\r
3331                                                                                             </set>\r
3332                                                                                             <return status='failure'>\r
3333                                                                                                 <parameter name='error-code' value='500' />\r
3334                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
3335                                                                                             </return>\r
3336                                                                                         </block>\r
3337                                                                                     </outcome>\r
3338                                                                                 </switch>\r
3339                                                                             </block>\r
3340                                                                         </outcome>\r
3341                                                                         <outcome value='not-found'>\r
3342                                                                             <set>\r
3343                                                                                 <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
3344                                                                             </set>\r
3345                                                                         </outcome>\r
3346                                                                         <outcome value='success'>\r
3347                                                                             <set>\r
3348                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
3349                                                                             </set>\r
3350                                                                         </outcome>\r
3351                                                                     </delete>\r
3352                                                                 </outcome>\r
3353                                                             </switch>\r
3354                                                         </block>\r
3355                                                     </block>\r
3356                                                     <return status='failure'>\r
3357                                                         <parameter name='error-code' value='500' />\r
3358                                                         <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`" />\r
3359                                                     </return>\r
3360                                                 </block>\r
3361                                             </outcome>\r
3362                                         </save>\r
3363                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3364         resource="l3-interface-ipv4-address-list"\r
3365                 key="l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address \r
3366                 AND generic-vnf.vnf-id = $ss.param.vnf-id \r
3367                 AND l-interface.interface-name = $ss.param.lo0-interface-name" >\r
3368                                             <parameter name="l3-interface-ipv4-address" value='`$ss.param.loopback0-ipv4-address`' />\r
3369                                             <parameter name="l3-interface-ipv4-prefix-length" value='32' />\r
3370                                             <outcome value='failure'>\r
3371                                                 <block atomic='true'>\r
3372                                                     <block>\r
3373                                                         <block>\r
3374                                                             <block>\r
3375                                                                 <block>\r
3376                                                                     <block>\r
3377                                                                         <block>\r
3378                                                                             <block atomic='true'>\r
3379                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3380                                                                                     <parameter name="logger" value="message-log"/>\r
3381                                                                                     <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
3382                                                                                 </record>\r
3383                                                                                 <set>\r
3384                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3385         value='FAILED' />\r
3386                                                                                 </set>\r
3387                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3388         resource="generic-vnf"\r
3389                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
3390                                                                                     <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
3391                                                                                     <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
3392                                                                                     <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
3393                                                                                     <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
3394                                                                                     <outcome value='failure'>\r
3395                                                                                         <set>\r
3396                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3397                                                                                         </set>\r
3398                                                                                     </outcome>\r
3399                                                                                     <outcome value='not-found'>\r
3400                                                                                         <set>\r
3401                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3402                                                                                         </set>\r
3403                                                                                     </outcome>\r
3404                                                                                     <outcome value='success'>\r
3405                                                                                         <set>\r
3406                                                                                             <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
3407                                                                                         </set>\r
3408                                                                                     </outcome>\r
3409                                                                                 </update>\r
3410                                                                             </block>\r
3411                                                                             <block atomic='true'>\r
3412                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3413                                                                                     <parameter name="logger" value="message-log"/>\r
3414                                                                                     <parameter name="field1" value="ROLLBACK vf-module update"/>\r
3415                                                                                 </record>\r
3416                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3417         resource="vf-module"\r
3418                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
3419                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
3420                                                                                     <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
3421                                                                                     <outcome value='failure'>\r
3422                                                                                         <set>\r
3423                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
3424                                                                                         </set>\r
3425                                                                                     </outcome>\r
3426                                                                                     <outcome value='not-found'>\r
3427                                                                                         <set>\r
3428                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
3429                                                                                         </set>\r
3430                                                                                     </outcome>\r
3431                                                                                     <outcome value='success'>\r
3432                                                                                         <set>\r
3433                                                                                             <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
3434                                                                                         </set>\r
3435                                                                                     </outcome>\r
3436                                                                                 </update>\r
3437                                                                             </block>\r
3438                                                                         </block>\r
3439                                                                         <block atomic='true'>\r
3440                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3441                                                                                 <parameter name="logger" value="message-log"/>\r
3442                                                                                 <parameter name="field1" value="ROLLBACK volume-group update"/>\r
3443                                                                             </record>\r
3444                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3445         resource="volume-group"\r
3446                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
3447                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
3448                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
3449                         AND volume-group-id = $ss.param.volume-group-id" >\r
3450                                                                                 <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
3451                                                                                 <outcome value='failure'>\r
3452                                                                                     <set>\r
3453                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3454                                                                                     </set>\r
3455                                                                                 </outcome>\r
3456                                                                                 <outcome value='not-found'>\r
3457                                                                                     <set>\r
3458                                                                                         <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
3459                                                                                     </set>\r
3460                                                                                 </outcome>\r
3461                                                                                 <outcome value='success'>\r
3462                                                                                     <set>\r
3463                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
3464                                                                                     </set>\r
3465                                                                                 </outcome>\r
3466                                                                             </update>\r
3467                                                                         </block>\r
3468                                                                     </block>\r
3469                                                                     <block atomic='true'>\r
3470                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3471                                                                             <parameter name="logger" value="message-log"/>\r
3472                                                                             <parameter name="field1" value="ROLLBACK vnfc save"/>\r
3473                                                                         </record>\r
3474                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3475         resource="vnfc"\r
3476                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
3477                                                                             <outcome value='failure'>\r
3478                                                                                 <block atomic='true'>\r
3479                                                                                     <set>\r
3480                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3481                                                                                     </set>\r
3482                                                                                     <switch test='`$tmp.return-failure`'>\r
3483                                                                                         <outcome value='true'>\r
3484                                                                                             <block atomic='true'>\r
3485                                                                                                 <set>\r
3486                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3487         value='FAILED' />\r
3488                                                                                                 </set>\r
3489                                                                                                 <return status='failure'>\r
3490                                                                                                     <parameter name='error-code' value='500' />\r
3491                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
3492                                                                                                 </return>\r
3493                                                                                             </block>\r
3494                                                                                         </outcome>\r
3495                                                                                     </switch>\r
3496                                                                                 </block>\r
3497                                                                             </outcome>\r
3498                                                                             <outcome value='not-found'>\r
3499                                                                                 <set>\r
3500                                                                                     <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
3501                                                                                 </set>\r
3502                                                                             </outcome>\r
3503                                                                             <outcome value='success'>\r
3504                                                                                 <set>\r
3505                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
3506                                                                                 </set>\r
3507                                                                             </outcome>\r
3508                                                                         </delete>\r
3509                                                                     </block>\r
3510                                                                 </block>\r
3511                                                                 <block atomic='true'>\r
3512                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3513                                                                         <parameter name="logger" value="message-log"/>\r
3514                                                                         <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
3515                                                                     </record>\r
3516                                                                     <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
3517                                                                         <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
3518                                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3519         resource="vlan-tag"\r
3520                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
3521                                                                                 <outcome value='failure'>\r
3522                                                                                     <block atomic='true'>\r
3523                                                                                         <set>\r
3524                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3525                                                                                         </set>\r
3526                                                                                         <switch test='`$tmp.return-failure`'>\r
3527                                                                                             <outcome value='true'>\r
3528                                                                                                 <block atomic='true'>\r
3529                                                                                                     <set>\r
3530                                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3531         value='FAILED' />\r
3532                                                                                                     </set>\r
3533                                                                                                     <return status='failure'>\r
3534                                                                                                         <parameter name='error-code' value='500' />\r
3535                                                                                                         <parameter name='error-message' value='`$error-message`' />\r
3536                                                                                                     </return>\r
3537                                                                                                 </block>\r
3538                                                                                             </outcome>\r
3539                                                                                         </switch>\r
3540                                                                                     </block>\r
3541                                                                                 </outcome>\r
3542                                                                                 <outcome value='not-found'>\r
3543                                                                                     <set>\r
3544                                                                                         <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
3545                                                                                     </set>\r
3546                                                                                 </outcome>\r
3547                                                                                 <outcome value='success'>\r
3548                                                                                     <set>\r
3549                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
3550                                                                                     </set>\r
3551                                                                                 </outcome>\r
3552                                                                             </delete>\r
3553                                                                         </for>\r
3554                                                                     </for>\r
3555                                                                 </block>\r
3556                                                             </block>\r
3557                                                             <block atomic='true'>\r
3558                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3559                                                                     <parameter name="logger" value="message-log"/>\r
3560                                                                     <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
3561                                                                 </record>\r
3562                                                                 <switch test="`$ss.param.oam-interface-name != ''`">\r
3563                                                                     <outcome value='true'>\r
3564                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3565         resource="l-interface"\r
3566                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
3567                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3568                                                                             <outcome value='failure'>\r
3569                                                                                 <block atomic='true'>\r
3570                                                                                     <set>\r
3571                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3572                                                                                     </set>\r
3573                                                                                     <switch test='`$tmp.return-failure`'>\r
3574                                                                                         <outcome value='true'>\r
3575                                                                                             <block atomic='true'>\r
3576                                                                                                 <set>\r
3577                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3578         value='FAILED' />\r
3579                                                                                                 </set>\r
3580                                                                                                 <return status='failure'>\r
3581                                                                                                     <parameter name='error-code' value='500' />\r
3582                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
3583                                                                                                 </return>\r
3584                                                                                             </block>\r
3585                                                                                         </outcome>\r
3586                                                                                     </switch>\r
3587                                                                                 </block>\r
3588                                                                             </outcome>\r
3589                                                                             <outcome value='not-found'>\r
3590                                                                                 <set>\r
3591                                                                                     <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
3592                                                                                 </set>\r
3593                                                                             </outcome>\r
3594                                                                             <outcome value='success'>\r
3595                                                                                 <set>\r
3596                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
3597                                                                                 </set>\r
3598                                                                             </outcome>\r
3599                                                                         </delete>\r
3600                                                                     </outcome>\r
3601                                                                 </switch>\r
3602                                                             </block>\r
3603                                                         </block>\r
3604                                                         <block atomic='true'>\r
3605                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3606                                                                 <parameter name="logger" value="message-log"/>\r
3607                                                                 <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
3608                                                             </record>\r
3609                                                             <switch test="`$ss.param.lo0-interface-name != ''`">\r
3610                                                                 <outcome value='true'>\r
3611                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3612         resource="l-interface"\r
3613                 key="l-interface.interface-name = $ss.param.lo0-interface-name\r
3614                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3615                                                                         <outcome value='failure'>\r
3616                                                                             <block atomic='true'>\r
3617                                                                                 <set>\r
3618                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3619                                                                                 </set>\r
3620                                                                                 <switch test='`$tmp.return-failure`'>\r
3621                                                                                     <outcome value='true'>\r
3622                                                                                         <block atomic='true'>\r
3623                                                                                             <set>\r
3624                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3625         value='FAILED' />\r
3626                                                                                             </set>\r
3627                                                                                             <return status='failure'>\r
3628                                                                                                 <parameter name='error-code' value='500' />\r
3629                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
3630                                                                                             </return>\r
3631                                                                                         </block>\r
3632                                                                                     </outcome>\r
3633                                                                                 </switch>\r
3634                                                                             </block>\r
3635                                                                         </outcome>\r
3636                                                                         <outcome value='not-found'>\r
3637                                                                             <set>\r
3638                                                                                 <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
3639                                                                             </set>\r
3640                                                                         </outcome>\r
3641                                                                         <outcome value='success'>\r
3642                                                                             <set>\r
3643                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
3644                                                                             </set>\r
3645                                                                         </outcome>\r
3646                                                                     </delete>\r
3647                                                                 </outcome>\r
3648                                                             </switch>\r
3649                                                         </block>\r
3650                                                     </block>\r
3651                                                     <return status='failure'>\r
3652                                                         <parameter name='error-code' value='500' />\r
3653                                                         <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`" />\r
3654                                                     </return>\r
3655                                                 </block>\r
3656                                             </outcome>\r
3657                                             <outcome value='not-found'>\r
3658                                                 <block atomic='true'>\r
3659                                                     <block>\r
3660                                                         <block>\r
3661                                                             <block>\r
3662                                                                 <block>\r
3663                                                                     <block>\r
3664                                                                         <block>\r
3665                                                                             <block atomic='true'>\r
3666                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3667                                                                                     <parameter name="logger" value="message-log"/>\r
3668                                                                                     <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
3669                                                                                 </record>\r
3670                                                                                 <set>\r
3671                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3672         value='FAILED' />\r
3673                                                                                 </set>\r
3674                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3675         resource="generic-vnf"\r
3676                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
3677                                                                                     <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
3678                                                                                     <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
3679                                                                                     <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
3680                                                                                     <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
3681                                                                                     <outcome value='failure'>\r
3682                                                                                         <set>\r
3683                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3684                                                                                         </set>\r
3685                                                                                     </outcome>\r
3686                                                                                     <outcome value='not-found'>\r
3687                                                                                         <set>\r
3688                                                                                             <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3689                                                                                         </set>\r
3690                                                                                     </outcome>\r
3691                                                                                     <outcome value='success'>\r
3692                                                                                         <set>\r
3693                                                                                             <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
3694                                                                                         </set>\r
3695                                                                                     </outcome>\r
3696                                                                                 </update>\r
3697                                                                             </block>\r
3698                                                                             <block atomic='true'>\r
3699                                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3700                                                                                     <parameter name="logger" value="message-log"/>\r
3701                                                                                     <parameter name="field1" value="ROLLBACK vf-module update"/>\r
3702                                                                                 </record>\r
3703                                                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3704         resource="vf-module"\r
3705                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
3706                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
3707                                                                                     <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
3708                                                                                     <outcome value='failure'>\r
3709                                                                                         <set>\r
3710                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
3711                                                                                         </set>\r
3712                                                                                     </outcome>\r
3713                                                                                     <outcome value='not-found'>\r
3714                                                                                         <set>\r
3715                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
3716                                                                                         </set>\r
3717                                                                                     </outcome>\r
3718                                                                                     <outcome value='success'>\r
3719                                                                                         <set>\r
3720                                                                                             <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
3721                                                                                         </set>\r
3722                                                                                     </outcome>\r
3723                                                                                 </update>\r
3724                                                                             </block>\r
3725                                                                         </block>\r
3726                                                                         <block atomic='true'>\r
3727                                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3728                                                                                 <parameter name="logger" value="message-log"/>\r
3729                                                                                 <parameter name="field1" value="ROLLBACK volume-group update"/>\r
3730                                                                             </record>\r
3731                                                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3732         resource="volume-group"\r
3733                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
3734                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
3735                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
3736                         AND volume-group-id = $ss.param.volume-group-id" >\r
3737                                                                                 <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
3738                                                                                 <outcome value='failure'>\r
3739                                                                                     <set>\r
3740                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3741                                                                                     </set>\r
3742                                                                                 </outcome>\r
3743                                                                                 <outcome value='not-found'>\r
3744                                                                                     <set>\r
3745                                                                                         <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
3746                                                                                     </set>\r
3747                                                                                 </outcome>\r
3748                                                                                 <outcome value='success'>\r
3749                                                                                     <set>\r
3750                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
3751                                                                                     </set>\r
3752                                                                                 </outcome>\r
3753                                                                             </update>\r
3754                                                                         </block>\r
3755                                                                     </block>\r
3756                                                                     <block atomic='true'>\r
3757                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3758                                                                             <parameter name="logger" value="message-log"/>\r
3759                                                                             <parameter name="field1" value="ROLLBACK vnfc save"/>\r
3760                                                                         </record>\r
3761                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3762         resource="vnfc"\r
3763                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
3764                                                                             <outcome value='failure'>\r
3765                                                                                 <block atomic='true'>\r
3766                                                                                     <set>\r
3767                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3768                                                                                     </set>\r
3769                                                                                     <switch test='`$tmp.return-failure`'>\r
3770                                                                                         <outcome value='true'>\r
3771                                                                                             <block atomic='true'>\r
3772                                                                                                 <set>\r
3773                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3774         value='FAILED' />\r
3775                                                                                                 </set>\r
3776                                                                                                 <return status='failure'>\r
3777                                                                                                     <parameter name='error-code' value='500' />\r
3778                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
3779                                                                                                 </return>\r
3780                                                                                             </block>\r
3781                                                                                         </outcome>\r
3782                                                                                     </switch>\r
3783                                                                                 </block>\r
3784                                                                             </outcome>\r
3785                                                                             <outcome value='not-found'>\r
3786                                                                                 <set>\r
3787                                                                                     <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
3788                                                                                 </set>\r
3789                                                                             </outcome>\r
3790                                                                             <outcome value='success'>\r
3791                                                                                 <set>\r
3792                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
3793                                                                                 </set>\r
3794                                                                             </outcome>\r
3795                                                                         </delete>\r
3796                                                                     </block>\r
3797                                                                 </block>\r
3798                                                                 <block atomic='true'>\r
3799                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3800                                                                         <parameter name="logger" value="message-log"/>\r
3801                                                                         <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
3802                                                                     </record>\r
3803                                                                     <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
3804                                                                         <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
3805                                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3806         resource="vlan-tag"\r
3807                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
3808                                                                                 <outcome value='failure'>\r
3809                                                                                     <block atomic='true'>\r
3810                                                                                         <set>\r
3811                                                                                             <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3812                                                                                         </set>\r
3813                                                                                         <switch test='`$tmp.return-failure`'>\r
3814                                                                                             <outcome value='true'>\r
3815                                                                                                 <block atomic='true'>\r
3816                                                                                                     <set>\r
3817                                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3818         value='FAILED' />\r
3819                                                                                                     </set>\r
3820                                                                                                     <return status='failure'>\r
3821                                                                                                         <parameter name='error-code' value='500' />\r
3822                                                                                                         <parameter name='error-message' value='`$error-message`' />\r
3823                                                                                                     </return>\r
3824                                                                                                 </block>\r
3825                                                                                             </outcome>\r
3826                                                                                         </switch>\r
3827                                                                                     </block>\r
3828                                                                                 </outcome>\r
3829                                                                                 <outcome value='not-found'>\r
3830                                                                                     <set>\r
3831                                                                                         <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
3832                                                                                     </set>\r
3833                                                                                 </outcome>\r
3834                                                                                 <outcome value='success'>\r
3835                                                                                     <set>\r
3836                                                                                         <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
3837                                                                                     </set>\r
3838                                                                                 </outcome>\r
3839                                                                             </delete>\r
3840                                                                         </for>\r
3841                                                                     </for>\r
3842                                                                 </block>\r
3843                                                             </block>\r
3844                                                             <block atomic='true'>\r
3845                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3846                                                                     <parameter name="logger" value="message-log"/>\r
3847                                                                     <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
3848                                                                 </record>\r
3849                                                                 <switch test="`$ss.param.oam-interface-name != ''`">\r
3850                                                                     <outcome value='true'>\r
3851                                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3852         resource="l-interface"\r
3853                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
3854                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3855                                                                             <outcome value='failure'>\r
3856                                                                                 <block atomic='true'>\r
3857                                                                                     <set>\r
3858                                                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3859                                                                                     </set>\r
3860                                                                                     <switch test='`$tmp.return-failure`'>\r
3861                                                                                         <outcome value='true'>\r
3862                                                                                             <block atomic='true'>\r
3863                                                                                                 <set>\r
3864                                                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3865         value='FAILED' />\r
3866                                                                                                 </set>\r
3867                                                                                                 <return status='failure'>\r
3868                                                                                                     <parameter name='error-code' value='500' />\r
3869                                                                                                     <parameter name='error-message' value='`$error-message`' />\r
3870                                                                                                 </return>\r
3871                                                                                             </block>\r
3872                                                                                         </outcome>\r
3873                                                                                     </switch>\r
3874                                                                                 </block>\r
3875                                                                             </outcome>\r
3876                                                                             <outcome value='not-found'>\r
3877                                                                                 <set>\r
3878                                                                                     <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
3879                                                                                 </set>\r
3880                                                                             </outcome>\r
3881                                                                             <outcome value='success'>\r
3882                                                                                 <set>\r
3883                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
3884                                                                                 </set>\r
3885                                                                             </outcome>\r
3886                                                                         </delete>\r
3887                                                                     </outcome>\r
3888                                                                 </switch>\r
3889                                                             </block>\r
3890                                                         </block>\r
3891                                                         <block atomic='true'>\r
3892                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3893                                                                 <parameter name="logger" value="message-log"/>\r
3894                                                                 <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
3895                                                             </record>\r
3896                                                             <switch test="`$ss.param.lo0-interface-name != ''`">\r
3897                                                                 <outcome value='true'>\r
3898                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3899         resource="l-interface"\r
3900                 key="l-interface.interface-name = $ss.param.lo0-interface-name\r
3901                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3902                                                                         <outcome value='failure'>\r
3903                                                                             <block atomic='true'>\r
3904                                                                                 <set>\r
3905                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3906                                                                                 </set>\r
3907                                                                                 <switch test='`$tmp.return-failure`'>\r
3908                                                                                     <outcome value='true'>\r
3909                                                                                         <block atomic='true'>\r
3910                                                                                             <set>\r
3911                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3912         value='FAILED' />\r
3913                                                                                             </set>\r
3914                                                                                             <return status='failure'>\r
3915                                                                                                 <parameter name='error-code' value='500' />\r
3916                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
3917                                                                                             </return>\r
3918                                                                                         </block>\r
3919                                                                                     </outcome>\r
3920                                                                                 </switch>\r
3921                                                                             </block>\r
3922                                                                         </outcome>\r
3923                                                                         <outcome value='not-found'>\r
3924                                                                             <set>\r
3925                                                                                 <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
3926                                                                             </set>\r
3927                                                                         </outcome>\r
3928                                                                         <outcome value='success'>\r
3929                                                                             <set>\r
3930                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
3931                                                                             </set>\r
3932                                                                         </outcome>\r
3933                                                                     </delete>\r
3934                                                                 </outcome>\r
3935                                                             </switch>\r
3936                                                         </block>\r
3937                                                     </block>\r
3938                                                     <return status='failure'>\r
3939                                                         <parameter name='error-code' value='500' />\r
3940                                                         <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`" />\r
3941                                                     </return>\r
3942                                                 </block>\r
3943                                             </outcome>\r
3944                                         </save>\r
3945                                     </block>\r
3946                                 </outcome>\r
3947                             </switch>\r
3948                         </block>\r
3949                         <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
3950                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3951         resource="generic-vnf:relationship-list"\r
3952                 key="generic-vnf.vnf-id = $ss.param.vnf-id" >\r
3953                                 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
3954                                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
3955                                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$ss.network[$n].netid`" />\r
3956                                 <outcome value='failure'>\r
3957                                     <block atomic='true'>\r
3958                                         <block>\r
3959                                             <block>\r
3960                                                 <block>\r
3961                                                     <block>\r
3962                                                         <block>\r
3963                                                             <block>\r
3964                                                                 <block>\r
3965                                                                     <block atomic='true'>\r
3966                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
3967                                                                             <parameter name="logger" value="message-log"/>\r
3968                                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
3969                                                                         </record>\r
3970                                                                         <set>\r
3971                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
3972         value='FAILED' />\r
3973                                                                         </set>\r
3974                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
3975         resource="generic-vnf"\r
3976                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
3977                                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
3978                                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
3979                                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
3980                                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
3981                                                                             <outcome value='failure'>\r
3982                                                                                 <set>\r
3983                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3984                                                                                 </set>\r
3985                                                                             </outcome>\r
3986                                                                             <outcome value='not-found'>\r
3987                                                                                 <set>\r
3988                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
3989                                                                                 </set>\r
3990                                                                             </outcome>\r
3991                                                                             <outcome value='success'>\r
3992                                                                                 <set>\r
3993                                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
3994                                                                                 </set>\r
3995                                                                             </outcome>\r
3996                                                                         </update>\r
3997                                                                     </block>\r
3998                                                                     <block atomic='true'>\r
3999                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4000                                                                             <parameter name="logger" value="message-log"/>\r
4001                                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
4002                                                                         </record>\r
4003                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4004         resource="vf-module"\r
4005                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
4006                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
4007                                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
4008                                                                             <outcome value='failure'>\r
4009                                                                                 <set>\r
4010                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
4011                                                                                 </set>\r
4012                                                                             </outcome>\r
4013                                                                             <outcome value='not-found'>\r
4014                                                                                 <set>\r
4015                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
4016                                                                                 </set>\r
4017                                                                             </outcome>\r
4018                                                                             <outcome value='success'>\r
4019                                                                                 <set>\r
4020                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
4021                                                                                 </set>\r
4022                                                                             </outcome>\r
4023                                                                         </update>\r
4024                                                                     </block>\r
4025                                                                 </block>\r
4026                                                                 <block atomic='true'>\r
4027                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4028                                                                         <parameter name="logger" value="message-log"/>\r
4029                                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
4030                                                                     </record>\r
4031                                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4032         resource="volume-group"\r
4033                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
4034                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
4035                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
4036                         AND volume-group-id = $ss.param.volume-group-id" >\r
4037                                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
4038                                                                         <outcome value='failure'>\r
4039                                                                             <set>\r
4040                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4041                                                                             </set>\r
4042                                                                         </outcome>\r
4043                                                                         <outcome value='not-found'>\r
4044                                                                             <set>\r
4045                                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
4046                                                                             </set>\r
4047                                                                         </outcome>\r
4048                                                                         <outcome value='success'>\r
4049                                                                             <set>\r
4050                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
4051                                                                             </set>\r
4052                                                                         </outcome>\r
4053                                                                     </update>\r
4054                                                                 </block>\r
4055                                                             </block>\r
4056                                                             <block atomic='true'>\r
4057                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4058                                                                     <parameter name="logger" value="message-log"/>\r
4059                                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
4060                                                                 </record>\r
4061                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4062         resource="vnfc"\r
4063                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
4064                                                                     <outcome value='failure'>\r
4065                                                                         <block atomic='true'>\r
4066                                                                             <set>\r
4067                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4068                                                                             </set>\r
4069                                                                             <switch test='`$tmp.return-failure`'>\r
4070                                                                                 <outcome value='true'>\r
4071                                                                                     <block atomic='true'>\r
4072                                                                                         <set>\r
4073                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4074         value='FAILED' />\r
4075                                                                                         </set>\r
4076                                                                                         <return status='failure'>\r
4077                                                                                             <parameter name='error-code' value='500' />\r
4078                                                                                             <parameter name='error-message' value='`$error-message`' />\r
4079                                                                                         </return>\r
4080                                                                                     </block>\r
4081                                                                                 </outcome>\r
4082                                                                             </switch>\r
4083                                                                         </block>\r
4084                                                                     </outcome>\r
4085                                                                     <outcome value='not-found'>\r
4086                                                                         <set>\r
4087                                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
4088                                                                         </set>\r
4089                                                                     </outcome>\r
4090                                                                     <outcome value='success'>\r
4091                                                                         <set>\r
4092                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
4093                                                                         </set>\r
4094                                                                     </outcome>\r
4095                                                                 </delete>\r
4096                                                             </block>\r
4097                                                         </block>\r
4098                                                         <block atomic='true'>\r
4099                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4100                                                                 <parameter name="logger" value="message-log"/>\r
4101                                                                 <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
4102                                                             </record>\r
4103                                                             <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
4104                                                                 <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
4105                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4106         resource="vlan-tag"\r
4107                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
4108                                                                         <outcome value='failure'>\r
4109                                                                             <block atomic='true'>\r
4110                                                                                 <set>\r
4111                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4112                                                                                 </set>\r
4113                                                                                 <switch test='`$tmp.return-failure`'>\r
4114                                                                                     <outcome value='true'>\r
4115                                                                                         <block atomic='true'>\r
4116                                                                                             <set>\r
4117                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4118         value='FAILED' />\r
4119                                                                                             </set>\r
4120                                                                                             <return status='failure'>\r
4121                                                                                                 <parameter name='error-code' value='500' />\r
4122                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
4123                                                                                             </return>\r
4124                                                                                         </block>\r
4125                                                                                     </outcome>\r
4126                                                                                 </switch>\r
4127                                                                             </block>\r
4128                                                                         </outcome>\r
4129                                                                         <outcome value='not-found'>\r
4130                                                                             <set>\r
4131                                                                                 <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
4132                                                                             </set>\r
4133                                                                         </outcome>\r
4134                                                                         <outcome value='success'>\r
4135                                                                             <set>\r
4136                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
4137                                                                             </set>\r
4138                                                                         </outcome>\r
4139                                                                     </delete>\r
4140                                                                 </for>\r
4141                                                             </for>\r
4142                                                         </block>\r
4143                                                     </block>\r
4144                                                     <block atomic='true'>\r
4145                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4146                                                             <parameter name="logger" value="message-log"/>\r
4147                                                             <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
4148                                                         </record>\r
4149                                                         <switch test="`$ss.param.oam-interface-name != ''`">\r
4150                                                             <outcome value='true'>\r
4151                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4152         resource="l-interface"\r
4153                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
4154                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
4155                                                                     <outcome value='failure'>\r
4156                                                                         <block atomic='true'>\r
4157                                                                             <set>\r
4158                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4159                                                                             </set>\r
4160                                                                             <switch test='`$tmp.return-failure`'>\r
4161                                                                                 <outcome value='true'>\r
4162                                                                                     <block atomic='true'>\r
4163                                                                                         <set>\r
4164                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4165         value='FAILED' />\r
4166                                                                                         </set>\r
4167                                                                                         <return status='failure'>\r
4168                                                                                             <parameter name='error-code' value='500' />\r
4169                                                                                             <parameter name='error-message' value='`$error-message`' />\r
4170                                                                                         </return>\r
4171                                                                                     </block>\r
4172                                                                                 </outcome>\r
4173                                                                             </switch>\r
4174                                                                         </block>\r
4175                                                                     </outcome>\r
4176                                                                     <outcome value='not-found'>\r
4177                                                                         <set>\r
4178                                                                             <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
4179                                                                         </set>\r
4180                                                                     </outcome>\r
4181                                                                     <outcome value='success'>\r
4182                                                                         <set>\r
4183                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
4184                                                                         </set>\r
4185                                                                     </outcome>\r
4186                                                                 </delete>\r
4187                                                             </outcome>\r
4188                                                         </switch>\r
4189                                                     </block>\r
4190                                                 </block>\r
4191                                                 <block atomic='true'>\r
4192                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4193                                                         <parameter name="logger" value="message-log"/>\r
4194                                                         <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
4195                                                     </record>\r
4196                                                     <switch test="`$ss.param.lo0-interface-name != ''`">\r
4197                                                         <outcome value='true'>\r
4198                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4199         resource="l-interface"\r
4200                 key="l-interface.interface-name = $ss.param.lo0-interface-name\r
4201                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
4202                                                                 <outcome value='failure'>\r
4203                                                                     <block atomic='true'>\r
4204                                                                         <set>\r
4205                                                                             <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4206                                                                         </set>\r
4207                                                                         <switch test='`$tmp.return-failure`'>\r
4208                                                                             <outcome value='true'>\r
4209                                                                                 <block atomic='true'>\r
4210                                                                                     <set>\r
4211                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4212         value='FAILED' />\r
4213                                                                                     </set>\r
4214                                                                                     <return status='failure'>\r
4215                                                                                         <parameter name='error-code' value='500' />\r
4216                                                                                         <parameter name='error-message' value='`$error-message`' />\r
4217                                                                                     </return>\r
4218                                                                                 </block>\r
4219                                                                             </outcome>\r
4220                                                                         </switch>\r
4221                                                                     </block>\r
4222                                                                 </outcome>\r
4223                                                                 <outcome value='not-found'>\r
4224                                                                     <set>\r
4225                                                                         <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
4226                                                                     </set>\r
4227                                                                 </outcome>\r
4228                                                                 <outcome value='success'>\r
4229                                                                     <set>\r
4230                                                                         <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
4231                                                                     </set>\r
4232                                                                 </outcome>\r
4233                                                             </delete>\r
4234                                                         </outcome>\r
4235                                                     </switch>\r
4236                                                 </block>\r
4237                                             </block>\r
4238                                             <block atomic='true'>\r
4239                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4240                                                     <parameter name="logger" value="message-log"/>\r
4241                                                     <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>\r
4242                                                 </record>\r
4243                                                 <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
4244                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
4245         resource="generic-vnf:relationship-list" \r
4246                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
4247                 AND related-to = l3-network \r
4248                 AND l3-network.network-id = $ss.network[$n].netid" >\r
4249                                                         <outcome value='failure'>\r
4250                                                             <block atomic='true'>\r
4251                                                                 <set>\r
4252                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4253                                                                 </set>\r
4254                                                                 <switch test='`$tmp.return-failure`'>\r
4255                                                                     <outcome value='true'>\r
4256                                                                         <block atomic='true'>\r
4257                                                                             <set>\r
4258                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4259         value='FAILED' />\r
4260                                                                             </set>\r
4261                                                                             <return status='failure'>\r
4262                                                                                 <parameter name='error-code' value='500' />\r
4263                                                                                 <parameter name='error-message' value='`$error-message`' />\r
4264                                                                             </return>\r
4265                                                                         </block>\r
4266                                                                     </outcome>\r
4267                                                                 </switch>\r
4268                                                             </block>\r
4269                                                         </outcome>\r
4270                                                         <outcome value='not-found'>\r
4271                                                             <set>\r
4272                                                                 <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />\r
4273                                                             </set>\r
4274                                                         </outcome>\r
4275                                                         <outcome value='success'>\r
4276                                                             <set>\r
4277                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
4278                                                             </set>\r
4279                                                         </outcome>\r
4280                                                     </delete>\r
4281                                                 </for>\r
4282                                             </block>\r
4283                                         </block>\r
4284                                         <return status='failure'>\r
4285                                             <parameter name='error-code' value='500' />\r
4286                                             <parameter name='error-message' value="`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`" />\r
4287                                         </return>\r
4288                                     </block>\r
4289                                 </outcome>\r
4290                                 <outcome value='not-found'>\r
4291                                     <block atomic='true'>\r
4292                                         <block>\r
4293                                             <block>\r
4294                                                 <block>\r
4295                                                     <block>\r
4296                                                         <block>\r
4297                                                             <block>\r
4298                                                                 <block>\r
4299                                                                     <block atomic='true'>\r
4300                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4301                                                                             <parameter name="logger" value="message-log"/>\r
4302                                                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
4303                                                                         </record>\r
4304                                                                         <set>\r
4305                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4306         value='FAILED' />\r
4307                                                                         </set>\r
4308                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4309         resource="generic-vnf"\r
4310                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
4311                                                                             <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
4312                                                                             <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
4313                                                                             <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
4314                                                                             <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
4315                                                                             <outcome value='failure'>\r
4316                                                                                 <set>\r
4317                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4318                                                                                 </set>\r
4319                                                                             </outcome>\r
4320                                                                             <outcome value='not-found'>\r
4321                                                                                 <set>\r
4322                                                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4323                                                                                 </set>\r
4324                                                                             </outcome>\r
4325                                                                             <outcome value='success'>\r
4326                                                                                 <set>\r
4327                                                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
4328                                                                                 </set>\r
4329                                                                             </outcome>\r
4330                                                                         </update>\r
4331                                                                     </block>\r
4332                                                                     <block atomic='true'>\r
4333                                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4334                                                                             <parameter name="logger" value="message-log"/>\r
4335                                                                             <parameter name="field1" value="ROLLBACK vf-module update"/>\r
4336                                                                         </record>\r
4337                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4338         resource="vf-module"\r
4339                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
4340                         AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
4341                                                                             <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
4342                                                                             <outcome value='failure'>\r
4343                                                                                 <set>\r
4344                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
4345                                                                                 </set>\r
4346                                                                             </outcome>\r
4347                                                                             <outcome value='not-found'>\r
4348                                                                                 <set>\r
4349                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
4350                                                                                 </set>\r
4351                                                                             </outcome>\r
4352                                                                             <outcome value='success'>\r
4353                                                                                 <set>\r
4354                                                                                     <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
4355                                                                                 </set>\r
4356                                                                             </outcome>\r
4357                                                                         </update>\r
4358                                                                     </block>\r
4359                                                                 </block>\r
4360                                                                 <block atomic='true'>\r
4361                                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4362                                                                         <parameter name="logger" value="message-log"/>\r
4363                                                                         <parameter name="field1" value="ROLLBACK volume-group update"/>\r
4364                                                                     </record>\r
4365                                                                     <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4366         resource="volume-group"\r
4367                 key="cloud-region.cloud-owner = $prop.cloud-owner  \r
4368                         AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
4369                         AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
4370                         AND volume-group-id = $ss.param.volume-group-id" >\r
4371                                                                         <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
4372                                                                         <outcome value='failure'>\r
4373                                                                             <set>\r
4374                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4375                                                                             </set>\r
4376                                                                         </outcome>\r
4377                                                                         <outcome value='not-found'>\r
4378                                                                             <set>\r
4379                                                                                 <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
4380                                                                             </set>\r
4381                                                                         </outcome>\r
4382                                                                         <outcome value='success'>\r
4383                                                                             <set>\r
4384                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
4385                                                                             </set>\r
4386                                                                         </outcome>\r
4387                                                                     </update>\r
4388                                                                 </block>\r
4389                                                             </block>\r
4390                                                             <block atomic='true'>\r
4391                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4392                                                                     <parameter name="logger" value="message-log"/>\r
4393                                                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
4394                                                                 </record>\r
4395                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4396         resource="vnfc"\r
4397                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
4398                                                                     <outcome value='failure'>\r
4399                                                                         <block atomic='true'>\r
4400                                                                             <set>\r
4401                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4402                                                                             </set>\r
4403                                                                             <switch test='`$tmp.return-failure`'>\r
4404                                                                                 <outcome value='true'>\r
4405                                                                                     <block atomic='true'>\r
4406                                                                                         <set>\r
4407                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4408         value='FAILED' />\r
4409                                                                                         </set>\r
4410                                                                                         <return status='failure'>\r
4411                                                                                             <parameter name='error-code' value='500' />\r
4412                                                                                             <parameter name='error-message' value='`$error-message`' />\r
4413                                                                                         </return>\r
4414                                                                                     </block>\r
4415                                                                                 </outcome>\r
4416                                                                             </switch>\r
4417                                                                         </block>\r
4418                                                                     </outcome>\r
4419                                                                     <outcome value='not-found'>\r
4420                                                                         <set>\r
4421                                                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
4422                                                                         </set>\r
4423                                                                     </outcome>\r
4424                                                                     <outcome value='success'>\r
4425                                                                         <set>\r
4426                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
4427                                                                         </set>\r
4428                                                                     </outcome>\r
4429                                                                 </delete>\r
4430                                                             </block>\r
4431                                                         </block>\r
4432                                                         <block atomic='true'>\r
4433                                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4434                                                                 <parameter name="logger" value="message-log"/>\r
4435                                                                 <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
4436                                                             </record>\r
4437                                                             <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
4438                                                                 <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
4439                                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4440         resource="vlan-tag"\r
4441                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
4442                                                                         <outcome value='failure'>\r
4443                                                                             <block atomic='true'>\r
4444                                                                                 <set>\r
4445                                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4446                                                                                 </set>\r
4447                                                                                 <switch test='`$tmp.return-failure`'>\r
4448                                                                                     <outcome value='true'>\r
4449                                                                                         <block atomic='true'>\r
4450                                                                                             <set>\r
4451                                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4452         value='FAILED' />\r
4453                                                                                             </set>\r
4454                                                                                             <return status='failure'>\r
4455                                                                                                 <parameter name='error-code' value='500' />\r
4456                                                                                                 <parameter name='error-message' value='`$error-message`' />\r
4457                                                                                             </return>\r
4458                                                                                         </block>\r
4459                                                                                     </outcome>\r
4460                                                                                 </switch>\r
4461                                                                             </block>\r
4462                                                                         </outcome>\r
4463                                                                         <outcome value='not-found'>\r
4464                                                                             <set>\r
4465                                                                                 <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
4466                                                                             </set>\r
4467                                                                         </outcome>\r
4468                                                                         <outcome value='success'>\r
4469                                                                             <set>\r
4470                                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
4471                                                                             </set>\r
4472                                                                         </outcome>\r
4473                                                                     </delete>\r
4474                                                                 </for>\r
4475                                                             </for>\r
4476                                                         </block>\r
4477                                                     </block>\r
4478                                                     <block atomic='true'>\r
4479                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4480                                                             <parameter name="logger" value="message-log"/>\r
4481                                                             <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
4482                                                         </record>\r
4483                                                         <switch test="`$ss.param.oam-interface-name != ''`">\r
4484                                                             <outcome value='true'>\r
4485                                                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4486         resource="l-interface"\r
4487                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
4488                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
4489                                                                     <outcome value='failure'>\r
4490                                                                         <block atomic='true'>\r
4491                                                                             <set>\r
4492                                                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4493                                                                             </set>\r
4494                                                                             <switch test='`$tmp.return-failure`'>\r
4495                                                                                 <outcome value='true'>\r
4496                                                                                     <block atomic='true'>\r
4497                                                                                         <set>\r
4498                                                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4499         value='FAILED' />\r
4500                                                                                         </set>\r
4501                                                                                         <return status='failure'>\r
4502                                                                                             <parameter name='error-code' value='500' />\r
4503                                                                                             <parameter name='error-message' value='`$error-message`' />\r
4504                                                                                         </return>\r
4505                                                                                     </block>\r
4506                                                                                 </outcome>\r
4507                                                                             </switch>\r
4508                                                                         </block>\r
4509                                                                     </outcome>\r
4510                                                                     <outcome value='not-found'>\r
4511                                                                         <set>\r
4512                                                                             <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
4513                                                                         </set>\r
4514                                                                     </outcome>\r
4515                                                                     <outcome value='success'>\r
4516                                                                         <set>\r
4517                                                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
4518                                                                         </set>\r
4519                                                                     </outcome>\r
4520                                                                 </delete>\r
4521                                                             </outcome>\r
4522                                                         </switch>\r
4523                                                     </block>\r
4524                                                 </block>\r
4525                                                 <block atomic='true'>\r
4526                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4527                                                         <parameter name="logger" value="message-log"/>\r
4528                                                         <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
4529                                                     </record>\r
4530                                                     <switch test="`$ss.param.lo0-interface-name != ''`">\r
4531                                                         <outcome value='true'>\r
4532                                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4533         resource="l-interface"\r
4534                 key="l-interface.interface-name = $ss.param.lo0-interface-name\r
4535                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
4536                                                                 <outcome value='failure'>\r
4537                                                                     <block atomic='true'>\r
4538                                                                         <set>\r
4539                                                                             <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4540                                                                         </set>\r
4541                                                                         <switch test='`$tmp.return-failure`'>\r
4542                                                                             <outcome value='true'>\r
4543                                                                                 <block atomic='true'>\r
4544                                                                                     <set>\r
4545                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4546         value='FAILED' />\r
4547                                                                                     </set>\r
4548                                                                                     <return status='failure'>\r
4549                                                                                         <parameter name='error-code' value='500' />\r
4550                                                                                         <parameter name='error-message' value='`$error-message`' />\r
4551                                                                                     </return>\r
4552                                                                                 </block>\r
4553                                                                             </outcome>\r
4554                                                                         </switch>\r
4555                                                                     </block>\r
4556                                                                 </outcome>\r
4557                                                                 <outcome value='not-found'>\r
4558                                                                     <set>\r
4559                                                                         <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
4560                                                                     </set>\r
4561                                                                 </outcome>\r
4562                                                                 <outcome value='success'>\r
4563                                                                     <set>\r
4564                                                                         <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
4565                                                                     </set>\r
4566                                                                 </outcome>\r
4567                                                             </delete>\r
4568                                                         </outcome>\r
4569                                                     </switch>\r
4570                                                 </block>\r
4571                                             </block>\r
4572                                             <block atomic='true'>\r
4573                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4574                                                     <parameter name="logger" value="message-log"/>\r
4575                                                     <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>\r
4576                                                 </record>\r
4577                                                 <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
4578                                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
4579         resource="generic-vnf:relationship-list" \r
4580                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
4581                 AND related-to = l3-network \r
4582                 AND l3-network.network-id = $ss.network[$n].netid" >\r
4583                                                         <outcome value='failure'>\r
4584                                                             <block atomic='true'>\r
4585                                                                 <set>\r
4586                                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4587                                                                 </set>\r
4588                                                                 <switch test='`$tmp.return-failure`'>\r
4589                                                                     <outcome value='true'>\r
4590                                                                         <block atomic='true'>\r
4591                                                                             <set>\r
4592                                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4593         value='FAILED' />\r
4594                                                                             </set>\r
4595                                                                             <return status='failure'>\r
4596                                                                                 <parameter name='error-code' value='500' />\r
4597                                                                                 <parameter name='error-message' value='`$error-message`' />\r
4598                                                                             </return>\r
4599                                                                         </block>\r
4600                                                                     </outcome>\r
4601                                                                 </switch>\r
4602                                                             </block>\r
4603                                                         </outcome>\r
4604                                                         <outcome value='not-found'>\r
4605                                                             <set>\r
4606                                                                 <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />\r
4607                                                             </set>\r
4608                                                         </outcome>\r
4609                                                         <outcome value='success'>\r
4610                                                             <set>\r
4611                                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
4612                                                             </set>\r
4613                                                         </outcome>\r
4614                                                     </delete>\r
4615                                                 </for>\r
4616                                             </block>\r
4617                                         </block>\r
4618                                         <return status='failure'>\r
4619                                             <parameter name='error-code' value='500' />\r
4620                                             <parameter name='error-message' value="`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`" />\r
4621                                         </return>\r
4622                                     </block>\r
4623                                 </outcome>\r
4624                             </save>\r
4625                         </for>\r
4626                         <set>\r
4627                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4628         value='SUCCESS' />\r
4629                         </set>\r
4630                     </block>\r
4631                 </outcome>\r
4632                 <outcome value='unassign'>\r
4633                     <block atomic='true'>\r
4634                         <block>\r
4635                             <set>\r
4636                                 <parameter name='nidx' value='0' />\r
4637                             </set>\r
4638                             <for silentFailure='true' index="bidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`" >\r
4639                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\r
4640                                     <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
4641                                     <parameter name="target" value="sriov"/>\r
4642                                     <outcome value='true'>\r
4643                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >\r
4644                                             <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
4645                                             <parameter name="target" value="_net_id"/>\r
4646                                             <outcome value='true'>\r
4647                                                 <block>\r
4648                                                     <set>\r
4649                                                         <parameter name='ss.network[$nidx].netid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4650                                                     </set>\r
4651                                                     <set>\r
4652                                                         <parameter name='nidx' value='`$nidx + 1`' />\r
4653                                                     </set>\r
4654                                                 </block>\r
4655                                             </outcome>\r
4656                                         </execute>\r
4657                                     </outcome>\r
4658                                     <outcome value='false'>\r
4659                                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`'>\r
4660                                             <outcome value='vf_module_id'>\r
4661                                                 <set>\r
4662                                                     <parameter name='ss.param.vf-module-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4663                                                 </set>\r
4664                                             </outcome>\r
4665                                             <outcome value='vf_module_name'>\r
4666                                                 <set>\r
4667                                                     <parameter name='ss.param.vf-module-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4668                                                 </set>\r
4669                                             </outcome>\r
4670                                             <outcome value='volume_group_id'>\r
4671                                                 <set>\r
4672                                                     <parameter name='ss.param.volume-group-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4673                                                 </set>\r
4674                                             </outcome>\r
4675                                             <outcome value='volume-group-name'>\r
4676                                                 <set>\r
4677                                                     <parameter name='ss.param.volume-group-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4678                                                 </set>\r
4679                                             </outcome>\r
4680                                             <outcome value='aic-cloud-region'>\r
4681                                                 <set>\r
4682                                                     <parameter name='ss.param.aic-cloud-region' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4683                                                 </set>\r
4684                                             </outcome>\r
4685                                             <outcome value='vnfc-name'>\r
4686                                                 <set>\r
4687                                                     <parameter name='ss.param.vnfc-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4688                                                     <parameter name='ss.param.vnfc-name-index' value='`$bidx`' />\r
4689                                                 </set>\r
4690                                             </outcome>\r
4691                                             <outcome value='oam-interface-name'>\r
4692                                                 <set>\r
4693                                                     <parameter name='ss.param.oam-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4694                                                     <parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />\r
4695                                                 </set>\r
4696                                             </outcome>\r
4697                                             <outcome value='=รข\80\9dlo0-interface-name'>\r
4698                                                 <set>\r
4699                                                     <parameter name='ss.param.lo0-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4700                                                     <parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />\r
4701                                                 </set>\r
4702                                             </outcome>\r
4703                                             <outcome value='ipv4-oam-address'>\r
4704                                                 <set>\r
4705                                                     <parameter name='ss.param.ipv4-oam-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4706                                                     <parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />\r
4707                                                 </set>\r
4708                                             </outcome>\r
4709                                             <outcome value='ipv4-oam-address-prefix'>\r
4710                                                 <set>\r
4711                                                     <parameter name='ss.param.ipv4-oam-address-prefix' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4712                                                     <parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />\r
4713                                                 </set>\r
4714                                             </outcome>\r
4715                                             <outcome value='loopback0_ipv4_address'>\r
4716                                                 <set>\r
4717                                                     <parameter name='ss.param.loopback0-ipv4-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4718                                                     <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />\r
4719                                                 </set>\r
4720                                             </outcome>\r
4721                                             <outcome value='aai-vf-module-put'>\r
4722                                                 <set>\r
4723                                                     <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\r
4724                                                 </set>\r
4725                                             </outcome>\r
4726                                             <outcome value='nfc-naming-code'>\r
4727                                                 <set>\r
4728                                                     <parameter name='ss.param.nfc-naming-code' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4729                                                     <parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />\r
4730                                                 </set>\r
4731                                             </outcome>\r
4732                                             <outcome value='nfc-function'>\r
4733                                                 <set>\r
4734                                                     <parameter name='ss.param.nfc-function' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4735                                                     <parameter name='ss.param.nfc-function-index' value='`$bidx`' />\r
4736                                                 </set>\r
4737                                             </outcome>\r
4738                                             <outcome value='vnfc-model-customization-uuid'>\r
4739                                                 <set>\r
4740                                                     <parameter name='ss.param.vnfc-model-customization-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4741                                                     <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />\r
4742                                                 </set>\r
4743                                             </outcome>\r
4744                                             <outcome value='vnfc-model-invariant-uuid'>\r
4745                                                 <set>\r
4746                                                     <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4747                                                     <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />\r
4748                                                 </set>\r
4749                                             </outcome>\r
4750                                             <outcome value='vnfc-model-version'>\r
4751                                                 <set>\r
4752                                                     <parameter name='ss.param.vnfc-model-version' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4753                                                     <parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />\r
4754                                                 </set>\r
4755                                             </outcome>\r
4756                                             <outcome value='ipv4-loopback0-address'>\r
4757                                                 <set>\r
4758                                                     <parameter name='ss.param.ipv4-loopback0-address' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4759                                                     <parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />\r
4760                                                 </set>\r
4761                                             </outcome>\r
4762                                             <outcome value='as-number'>\r
4763                                                 <set>\r
4764                                                     <parameter name='ss.param.as-number' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4765                                                     <parameter name='ss.param.as-number-index' value='`$bidx`' />\r
4766                                                 </set>\r
4767                                             </outcome>\r
4768                                             <outcome value='vlan-id-outer'>\r
4769                                                 <set>\r
4770                                                     <parameter name='ss.param.vlan-id-outer' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
4771                                                     <parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />\r
4772                                                 </set>\r
4773                                             </outcome>\r
4774                                         </switch>\r
4775                                     </outcome>\r
4776                                 </execute>\r
4777                             </for>\r
4778                             <set>\r
4779                                 <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\r
4780                             </set>\r
4781                         </block>\r
4782                         <set>\r
4783                             <parameter name='tmp.return-failure' value ='true' />\r
4784                         </set>\r
4785                         <set>\r
4786                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4787         value='DELETED' />\r
4788                         </set>\r
4789                         <block>\r
4790                             <block atomic='true'>\r
4791                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4792                                     <parameter name="logger" value="message-log"/>\r
4793                                     <parameter name="field1" value="ROLLBACK vnfc save"/>\r
4794                                 </record>\r
4795                                 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4796         resource="vnfc"\r
4797                 key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
4798                                     <outcome value='failure'>\r
4799                                         <block atomic='true'>\r
4800                                             <set>\r
4801                                                 <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4802                                             </set>\r
4803                                             <switch test='`$tmp.return-failure`'>\r
4804                                                 <outcome value='true'>\r
4805                                                     <block atomic='true'>\r
4806                                                         <set>\r
4807                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4808         value='FAILED' />\r
4809                                                         </set>\r
4810                                                         <return status='failure'>\r
4811                                                             <parameter name='error-code' value='500' />\r
4812                                                             <parameter name='error-message' value='`$error-message`' />\r
4813                                                         </return>\r
4814                                                     </block>\r
4815                                                 </outcome>\r
4816                                             </switch>\r
4817                                         </block>\r
4818                                     </outcome>\r
4819                                     <outcome value='not-found'>\r
4820                                         <set>\r
4821                                             <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
4822                                         </set>\r
4823                                     </outcome>\r
4824                                     <outcome value='success'>\r
4825                                         <set>\r
4826                                             <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
4827                                         </set>\r
4828                                     </outcome>\r
4829                                 </delete>\r
4830                             </block>\r
4831                             <block atomic='true'>\r
4832                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4833                                     <parameter name="logger" value="message-log"/>\r
4834                                     <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
4835                                 </record>\r
4836                                 <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
4837                                     <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
4838                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4839         resource="vlan-tag"\r
4840                 key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
4841                                             <outcome value='failure'>\r
4842                                                 <block atomic='true'>\r
4843                                                     <set>\r
4844                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4845                                                     </set>\r
4846                                                     <switch test='`$tmp.return-failure`'>\r
4847                                                         <outcome value='true'>\r
4848                                                             <block atomic='true'>\r
4849                                                                 <set>\r
4850                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4851         value='FAILED' />\r
4852                                                                 </set>\r
4853                                                                 <return status='failure'>\r
4854                                                                     <parameter name='error-code' value='500' />\r
4855                                                                     <parameter name='error-message' value='`$error-message`' />\r
4856                                                                 </return>\r
4857                                                             </block>\r
4858                                                         </outcome>\r
4859                                                     </switch>\r
4860                                                 </block>\r
4861                                             </outcome>\r
4862                                             <outcome value='not-found'>\r
4863                                                 <set>\r
4864                                                     <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
4865                                                 </set>\r
4866                                             </outcome>\r
4867                                             <outcome value='success'>\r
4868                                                 <set>\r
4869                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
4870                                                 </set>\r
4871                                             </outcome>\r
4872                                         </delete>\r
4873                                     </for>\r
4874                                 </for>\r
4875                             </block>\r
4876                             <block atomic='true'>\r
4877                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4878                                     <parameter name="logger" value="message-log"/>\r
4879                                     <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
4880                                 </record>\r
4881                                 <switch test="`$ss.param.oam-interface-name != ''`">\r
4882                                     <outcome value='true'>\r
4883                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4884         resource="l-interface"\r
4885                 key="l-interface.interface-name = $ss.param.oam-interface-name\r
4886                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
4887                                             <outcome value='failure'>\r
4888                                                 <block atomic='true'>\r
4889                                                     <set>\r
4890                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4891                                                     </set>\r
4892                                                     <switch test='`$tmp.return-failure`'>\r
4893                                                         <outcome value='true'>\r
4894                                                             <block atomic='true'>\r
4895                                                                 <set>\r
4896                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4897         value='FAILED' />\r
4898                                                                 </set>\r
4899                                                                 <return status='failure'>\r
4900                                                                     <parameter name='error-code' value='500' />\r
4901                                                                     <parameter name='error-message' value='`$error-message`' />\r
4902                                                                 </return>\r
4903                                                             </block>\r
4904                                                         </outcome>\r
4905                                                     </switch>\r
4906                                                 </block>\r
4907                                             </outcome>\r
4908                                             <outcome value='not-found'>\r
4909                                                 <set>\r
4910                                                     <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
4911                                                 </set>\r
4912                                             </outcome>\r
4913                                             <outcome value='success'>\r
4914                                                 <set>\r
4915                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
4916                                                 </set>\r
4917                                             </outcome>\r
4918                                         </delete>\r
4919                                     </outcome>\r
4920                                 </switch>\r
4921                             </block>\r
4922                             <block atomic='true'>\r
4923                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4924                                     <parameter name="logger" value="message-log"/>\r
4925                                     <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
4926                                 </record>\r
4927                                 <switch test="`$ss.param.lo0-interface-name != ''`">\r
4928                                     <outcome value='true'>\r
4929                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
4930         resource="l-interface"\r
4931                 key="l-interface.interface-name = $ss.param.lo0-interface-name\r
4932                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
4933                                             <outcome value='failure'>\r
4934                                                 <block atomic='true'>\r
4935                                                     <set>\r
4936                                                         <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4937                                                     </set>\r
4938                                                     <switch test='`$tmp.return-failure`'>\r
4939                                                         <outcome value='true'>\r
4940                                                             <block atomic='true'>\r
4941                                                                 <set>\r
4942                                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4943         value='FAILED' />\r
4944                                                                 </set>\r
4945                                                                 <return status='failure'>\r
4946                                                                     <parameter name='error-code' value='500' />\r
4947                                                                     <parameter name='error-message' value='`$error-message`' />\r
4948                                                                 </return>\r
4949                                                             </block>\r
4950                                                         </outcome>\r
4951                                                     </switch>\r
4952                                                 </block>\r
4953                                             </outcome>\r
4954                                             <outcome value='not-found'>\r
4955                                                 <set>\r
4956                                                     <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
4957                                                 </set>\r
4958                                             </outcome>\r
4959                                             <outcome value='success'>\r
4960                                                 <set>\r
4961                                                     <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
4962                                                 </set>\r
4963                                             </outcome>\r
4964                                         </delete>\r
4965                                     </outcome>\r
4966                                 </switch>\r
4967                             </block>\r
4968                             <block atomic='true'>\r
4969                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
4970                                     <parameter name="logger" value="message-log"/>\r
4971                                     <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>\r
4972                                 </record>\r
4973                                 <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
4974                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
4975         resource="generic-vnf:relationship-list" \r
4976                 key="generic-vnf.vnf-id = $ss.param.vnf-id \r
4977                 AND related-to = l3-network \r
4978                 AND l3-network.network-id = $ss.network[$n].netid" >\r
4979                                         <outcome value='failure'>\r
4980                                             <block atomic='true'>\r
4981                                                 <set>\r
4982                                                     <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
4983                                                 </set>\r
4984                                                 <switch test='`$tmp.return-failure`'>\r
4985                                                     <outcome value='true'>\r
4986                                                         <block atomic='true'>\r
4987                                                             <set>\r
4988                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
4989         value='FAILED' />\r
4990                                                             </set>\r
4991                                                             <return status='failure'>\r
4992                                                                 <parameter name='error-code' value='500' />\r
4993                                                                 <parameter name='error-message' value='`$error-message`' />\r
4994                                                             </return>\r
4995                                                         </block>\r
4996                                                     </outcome>\r
4997                                                 </switch>\r
4998                                             </block>\r
4999                                         </outcome>\r
5000                                         <outcome value='not-found'>\r
5001                                             <set>\r
5002                                                 <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />\r
5003                                             </set>\r
5004                                         </outcome>\r
5005                                         <outcome value='success'>\r
5006                                             <set>\r
5007                                                 <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
5008                                             </set>\r
5009                                         </outcome>\r
5010                                     </delete>\r
5011                                 </for>\r
5012                             </block>\r
5013                         </block>\r
5014                     </block>\r
5015                 </outcome>\r
5016             </switch>\r
5017             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
5018                 <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\r
5019             </execute>\r
5020         </block>\r
5021     </method>\r
5022 </service-logic>