Merge "self-serve DG for Casablanca"
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-vnf-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-vnf-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                         <for silentFailure='true' index="aidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">\r
17                             <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].name`'>\r
18                                 <outcome value='vnf_name'>\r
19                                     <set>\r
20                                         <parameter name='ss.param.vnf-name' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\r
21                                         <parameter name='ss.param.vnf-name-index' value='`$aidx`' />\r
22                                     </set>\r
23                                 </outcome>\r
24                                 <outcome value='vnf_id'>\r
25                                     <set>\r
26                                         <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\r
27                                         <parameter name='ss.param.vnf-id-index' value='`$aidx`' />\r
28                                     </set>\r
29                                 </outcome>\r
30                                 <outcome value='license-assignment-group-uuid'>\r
31                                     <set>\r
32                                         <parameter name='ss.param.license-assignment-group-uuid' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\r
33                                         <parameter name='ss.param.license-assignment-group-uuid-index' value='`$aidx`' />\r
34                                     </set>\r
35                                 </outcome>\r
36                                 <outcome value='entitlement-assignment-group-uuid'>\r
37                                     <set>\r
38                                         <parameter name='ss.param.entitlement-assignment-group-uuid' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\r
39                                         <parameter name='ss.param.entitlement-assignment-group-uuid-index' value='`$aidx`' />\r
40                                     </set>\r
41                                 </outcome>\r
42                                 <outcome value='aai-vnf-put'>\r
43                                     <set>\r
44                                         <parameter name='ss.param.aai-vnf-put-index' value='`$aidx`' />\r
45                                     </set>\r
46                                 </outcome>\r
47                             </switch>\r
48                         </for>\r
49                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
50         resource="generic-vnf"\r
51                 key="generic-vnf.vnf-id = $ss.param.vnf-id "\r
52         pfx="tmp.aai.vnf" >\r
53                             <outcome value='failure'>\r
54                                 <block atomic='true'>\r
55                                     <set>\r
56                                         <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
57         value='FAILED' />\r
58                                     </set>\r
59                                     <return status='failure'>\r
60                                         <parameter name='error-code' value='500' />\r
61                                         <parameter name='error-message' value="`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`" />\r
62                                     </return>\r
63                                 </block>\r
64                             </outcome>\r
65                             <outcome value='not-found'>\r
66                                 <block atomic='true'>\r
67                                     <set>\r
68                                         <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
69         value='FAILED' />\r
70                                     </set>\r
71                                     <return status='failure'>\r
72                                         <parameter name='error-code' value='500' />\r
73                                         <parameter name='error-message' value="`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`" />\r
74                                     </return>\r
75                                 </block>\r
76                             </outcome>\r
77                         </get-resource>\r
78                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
79         resource="generic-vnf"\r
80                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
81                             <parameter name="vnf-name" value='`$ss.param.vnf-name`' />\r
82                             <outcome value='failure'>\r
83                                 <block atomic='true'>\r
84                                     <set>\r
85                                         <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
86         value='FAILED' />\r
87                                     </set>\r
88                                     <return status='failure'>\r
89                                         <parameter name='error-code' value='500' />\r
90                                         <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`" />\r
91                                     </return>\r
92                                 </block>\r
93                             </outcome>\r
94                             <outcome value='not-found'>\r
95                                 <block atomic='true'>\r
96                                     <set>\r
97                                         <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
98         value='FAILED' />\r
99                                     </set>\r
100                                     <return status='failure'>\r
101                                         <parameter name='error-code' value='500' />\r
102                                         <parameter name='error-message' value="`'generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`" />\r
103                                     </return>\r
104                                 </block>\r
105                             </outcome>\r
106                         </update>\r
107                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
108         resource="license"\r
109                 key="license.group-uuid = $ss.param.license-assignment-group-uuid \r
110                 AND license.resource-uuid = $ss.param.license-key\r
111                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
112                             <parameter name="group-uuid" value='`$ss.param.license-assignment-group-uuid`' />\r
113                             <parameter name="resource-uuid" value='`$ss.param.license-key`' />\r
114                             <outcome value='failure'>\r
115                                 <block atomic='true'>\r
116                                     <block>\r
117                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
118                                             <parameter name="logger" value="message-log"/>\r
119                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
120                                         </record>\r
121                                         <set>\r
122                                             <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-put-index].resource-resolution-data.status' \r
123         value='FAILED' />\r
124                                         </set>\r
125                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
126         resource="generic-vnf"\r
127                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
128                                             <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
129                                             <outcome value='failure'>\r
130                                                 <set>\r
131                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
132                                                 </set>\r
133                                             </outcome>\r
134                                             <outcome value='not-found'>\r
135                                                 <set>\r
136                                                     <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
137                                                 </set>\r
138                                             </outcome>\r
139                                             <outcome value='success'>\r
140                                                 <set>\r
141                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
142                                                 </set>\r
143                                             </outcome>\r
144                                         </update>\r
145                                     </block>\r
146                                     <return status='failure'>\r
147                                         <parameter name='error-code' value='500' />\r
148                                         <parameter name='error-message' value="`'Failed to save license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI'`" />\r
149                                     </return>\r
150                                 </block>\r
151                             </outcome>\r
152                             <outcome value='not-found'>\r
153                                 <block atomic='true'>\r
154                                     <block>\r
155                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
156                                             <parameter name="logger" value="message-log"/>\r
157                                             <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
158                                         </record>\r
159                                         <set>\r
160                                             <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-put-index].resource-resolution-data.status' \r
161         value='FAILED' />\r
162                                         </set>\r
163                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
164         resource="generic-vnf"\r
165                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
166                                             <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
167                                             <outcome value='failure'>\r
168                                                 <set>\r
169                                                     <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
170                                                 </set>\r
171                                             </outcome>\r
172                                             <outcome value='not-found'>\r
173                                                 <set>\r
174                                                     <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
175                                                 </set>\r
176                                             </outcome>\r
177                                             <outcome value='success'>\r
178                                                 <set>\r
179                                                     <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
180                                                 </set>\r
181                                             </outcome>\r
182                                         </update>\r
183                                     </block>\r
184                                     <return status='failure'>\r
185                                         <parameter name='error-code' value='500' />\r
186                                         <parameter name='error-message' value="`'license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' is not found in AAI'`" />\r
187                                     </return>\r
188                                 </block>\r
189                             </outcome>\r
190                         </save>\r
191                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
192         resource="entitlement"\r
193                 key="entitlement.group-uuid = $ss.param.entitlement-assignment-group-uuid \r
194                 AND entitlement.resource-uuid = $ss.param.entitlement-key\r
195                 AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
196                             <parameter name="group-uuid" value='`$ss.param.entitlement-assignment-group-uuid`' />\r
197                             <parameter name="resource-uuid" value='`$ss.param.entitlement-key`' />\r
198                             <outcome value='failure'>\r
199                                 <block atomic='true'>\r
200                                     <block>\r
201                                         <block>\r
202                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
203                                                 <parameter name="logger" value="message-log"/>\r
204                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
205                                             </record>\r
206                                             <set>\r
207                                                 <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-put-index].resource-resolution-data.status' \r
208         value='FAILED' />\r
209                                             </set>\r
210                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
211         resource="generic-vnf"\r
212                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
213                                                 <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
214                                                 <outcome value='failure'>\r
215                                                     <set>\r
216                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
217                                                     </set>\r
218                                                 </outcome>\r
219                                                 <outcome value='not-found'>\r
220                                                     <set>\r
221                                                         <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
222                                                     </set>\r
223                                                 </outcome>\r
224                                                 <outcome value='success'>\r
225                                                     <set>\r
226                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
227                                                     </set>\r
228                                                 </outcome>\r
229                                             </update>\r
230                                         </block>\r
231                                         <block>\r
232                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
233                                                 <parameter name="logger" value="message-log"/>\r
234                                                 <parameter name="field1" value="ROLLBACK license"/>\r
235                                             </record>\r
236                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
237         resource="license"\r
238                 key="license.group-uuid = $ss.param.license-assignment-group-uuid \r
239                 AND license.resource-uuid = $ss.param.license-key" >\r
240                                                 <outcome value='failure'>\r
241                                                     <set>\r
242                                                         <parameter name='error-message' value="`' Failed to rollback license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
243                                                     </set>\r
244                                                 </outcome>\r
245                                                 <outcome value='not-found'>\r
246                                                     <set>\r
247                                                         <parameter name='error-message' value="`' Failed to rollback license because license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' NOT FOUND in AAI. SILENT SUCCESS! '`" />\r
248                                                     </set>\r
249                                                 </outcome>\r
250                                                 <outcome value='success'>\r
251                                                     <set>\r
252                                                         <parameter name='error-message' value=" Rollback of license completed. " />\r
253                                                     </set>\r
254                                                 </outcome>\r
255                                             </delete>\r
256                                         </block>\r
257                                     </block>\r
258                                     <return status='failure'>\r
259                                         <parameter name='error-code' value='500' />\r
260                                         <parameter name='error-message' value="`'Failed to save entitlement with group-uuid = ' + $ss.param.entitlement-assignment-group-uuid + ' AND entitlement.resource-uuid = ' + $ss.param.entitlement-key + ' in AAI'`" />\r
261                                     </return>\r
262                                 </block>\r
263                             </outcome>\r
264                             <outcome value='not-found'>\r
265                                 <block atomic='true'>\r
266                                     <block>\r
267                                         <block>\r
268                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
269                                                 <parameter name="logger" value="message-log"/>\r
270                                                 <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
271                                             </record>\r
272                                             <set>\r
273                                                 <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-put-index].resource-resolution-data.status' \r
274         value='FAILED' />\r
275                                             </set>\r
276                                             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
277         resource="generic-vnf"\r
278                 key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
279                                                 <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
280                                                 <outcome value='failure'>\r
281                                                     <set>\r
282                                                         <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
283                                                     </set>\r
284                                                 </outcome>\r
285                                                 <outcome value='not-found'>\r
286                                                     <set>\r
287                                                         <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
288                                                     </set>\r
289                                                 </outcome>\r
290                                                 <outcome value='success'>\r
291                                                     <set>\r
292                                                         <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
293                                                     </set>\r
294                                                 </outcome>\r
295                                             </update>\r
296                                         </block>\r
297                                         <block>\r
298                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
299                                                 <parameter name="logger" value="message-log"/>\r
300                                                 <parameter name="field1" value="ROLLBACK license"/>\r
301                                             </record>\r
302                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
303         resource="license"\r
304                 key="license.group-uuid = $ss.param.license-assignment-group-uuid \r
305                 AND license.resource-uuid = $ss.param.license-key" >\r
306                                                 <outcome value='failure'>\r
307                                                     <set>\r
308                                                         <parameter name='error-message' value="`' Failed to rollback license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
309                                                     </set>\r
310                                                 </outcome>\r
311                                                 <outcome value='not-found'>\r
312                                                     <set>\r
313                                                         <parameter name='error-message' value="`' Failed to rollback license because license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' NOT FOUND in AAI. SILENT SUCCESS! '`" />\r
314                                                     </set>\r
315                                                 </outcome>\r
316                                                 <outcome value='success'>\r
317                                                     <set>\r
318                                                         <parameter name='error-message' value=" Rollback of license completed. " />\r
319                                                     </set>\r
320                                                 </outcome>\r
321                                             </delete>\r
322                                         </block>\r
323                                     </block>\r
324                                     <return status='failure'>\r
325                                         <parameter name='error-code' value='500' />\r
326                                         <parameter name='error-message' value="`'entitlement with group-uuid = ' + $ss.param.entitlement-assignment-group-uuid + ' AND entitlement.resource-uuid = ' + $ss.param.entitlement-key + ' is not found in AAI'`" />\r
327                                     </return>\r
328                                 </block>\r
329                             </outcome>\r
330                         </save>\r
331                         <set>\r
332                             <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
333         value='SUCCESS' />\r
334                         </set>\r
335                     </block>\r
336                 </outcome>\r
337             </switch>\r
338             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
339                 <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\r
340             </execute>\r
341         </block>\r
342     </method>\r
343 </service-logic>