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-name`'>
\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-name is null" />
\r
15 <switch test='`$ss.capability-action`'>
\r
17 <return status="failure">
\r
18 <parameter name="ack-final" value="Y" />
\r
19 <parameter name="error-code" value="500"/>
\r
20 <parameter name="error-message" value="ss.capability-action is null" />
\r
23 <outcome value='assign'>
\r
24 <block atomic='true'>
\r
25 <for silentFailure='true' index="aidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
\r
26 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].name`'>
\r
27 <outcome value='vnf_name'>
\r
29 <parameter name='ss.param.vnf-name' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
\r
30 <parameter name='ss.param.vnf-name-index' value='`$aidx`' />
\r
33 <outcome value='vnf_id'>
\r
35 <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
\r
36 <parameter name='ss.param.vnf-id-index' value='`$aidx`' />
\r
39 <outcome value='license-assignment-group-uuid'>
\r
41 <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
42 <parameter name='ss.param.license-assignment-group-uuid-index' value='`$aidx`' />
\r
45 <outcome value='entitlement-assignment-group-uuid'>
\r
47 <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
48 <parameter name='ss.param.entitlement-assignment-group-uuid-index' value='`$aidx`' />
\r
51 <outcome value='aai-vnf-put'>
\r
53 <parameter name='ss.param.aai-vnf-put-index' value='`$aidx`' />
\r
56 <outcome value='license-key'>
\r
58 <parameter name='ss.param.license-key' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
\r
59 <parameter name='ss.param.license-key-index' value='`$aidx`' />
\r
62 <outcome value='entitlement-key'>
\r
64 <parameter name='ss.param.entitlement-key' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
\r
65 <parameter name='ss.param.entitlement-key-index' value='`$aidx`' />
\r
70 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
71 resource="generic-vnf"
\r
72 key="generic-vnf.vnf-id = $ss.param.vnf-id "
\r
74 <outcome value='failure'>
\r
75 <block atomic='true'>
\r
77 <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
80 <return status='failure'>
\r
81 <parameter name='error-code' value='500' />
\r
82 <parameter name='error-message' value="`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`" />
\r
86 <outcome value='not-found'>
\r
87 <block atomic='true'>
\r
89 <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
92 <return status='failure'>
\r
93 <parameter name='error-code' value='500' />
\r
94 <parameter name='error-message' value="`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`" />
\r
100 <parameter name="ss.selflink"
\r
101 value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' +
\r
102 $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id +
\r
103 '/service-data/vnfs/vnf/' +
\r
104 $ss.param.vnf-id +
\r
105 '/vnf-data/vnf-topology/'`" />
\r
107 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
108 resource="generic-vnf"
\r
109 key="generic-vnf.vnf-id = $ss.param.vnf-id " >
\r
110 <parameter name="vnf-name" value="`$ss.param.vnf-name`" />
\r
111 <parameter name="prov-status" value="PREPROV" />
\r
112 <parameter name="operational-status" value="out-of-service-path" />
\r
113 <parameter name="selflink" value="`$ss.selflink`" />
\r
114 <parameter name="model-customization-id"
\r
115 value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid`" />
\r
116 <parameter name="model-invariant-id"
\r
117 value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-invariant-uuid`" />
\r
118 <parameter name="model-version-id"
\r
119 value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-uuid`" />
\r
120 <outcome value='failure'>
\r
121 <block atomic='true'>
\r
123 <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
126 <return status='failure'>
\r
127 <parameter name='error-code' value='500' />
\r
128 <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`" />
\r
132 <outcome value='not-found'>
\r
133 <block atomic='true'>
\r
135 <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
138 <return status='failure'>
\r
139 <parameter name='error-code' value='500' />
\r
140 <parameter name='error-message' value="`'generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`" />
\r
145 <switch test="`$ss.param.license-assignment-group-uuid != ''`">
\r
146 <outcome value='true'>
\r
147 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
\r
148 <parameter name='source' value='`$ss.param.license-assignment-group-uuid`' />
\r
149 <parameter name='target' value='$' />
\r
150 <outcome value='true'>
\r
151 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
152 <parameter name="logger" value="message-log"/>
\r
153 <parameter name="field1" value="__TIMESTAMP__"/>
\r
154 <parameter name="field2" value="`'ss.param.license-assignment-group-uuid = ' + $ss.param.license-assignment-group-uuid`"/>
\r
155 <parameter name="field3" value="__SKIP saving license object in AnAI__"/>
\r
158 <outcome value='false'>
\r
159 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
161 key="license.group-uuid = $ss.param.license-assignment-group-uuid
\r
162 AND license.resource-uuid = $ss.param.license-key
\r
163 AND generic-vnf.vnf-id = $ss.param.vnf-id" >
\r
164 <parameter name="group-uuid" value='`$ss.param.license-assignment-group-uuid`' />
\r
165 <parameter name="resource-uuid" value='`$ss.param.license-key`' />
\r
166 <outcome value='failure'>
\r
167 <block atomic='true'>
\r
169 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
170 <parameter name="logger" value="message-log"/>
\r
171 <parameter name="field1" value="ROLLBACK generic-vnf update"/>
\r
174 <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
177 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
178 resource="generic-vnf"
\r
179 key="generic-vnf.vnf-id = $ss.param.vnf-id " >
\r
180 <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
\r
181 <outcome value='failure'>
\r
183 <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
\r
186 <outcome value='not-found'>
\r
188 <parameter name='error-message' value="`$error-message + ' 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
191 <outcome value='success'>
\r
193 <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />
\r
198 <return status='failure'>
\r
199 <parameter name='error-code' value='500' />
\r
200 <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 AA. ' + $error-message`" />
\r
204 <outcome value='not-found'>
\r
205 <block atomic='true'>
\r
207 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
208 <parameter name="logger" value="message-log"/>
\r
209 <parameter name="field1" value="ROLLBACK generic-vnf update"/>
\r
212 <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
215 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
216 resource="generic-vnf"
\r
217 key="generic-vnf.vnf-id = $ss.param.vnf-id " >
\r
218 <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
\r
219 <outcome value='failure'>
\r
221 <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
\r
224 <outcome value='not-found'>
\r
226 <parameter name='error-message' value="`$error-message + ' 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
229 <outcome value='success'>
\r
231 <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />
\r
236 <return status='failure'>
\r
237 <parameter name='error-code' value='500' />
\r
238 <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. ' + $error-message`" />
\r
242 <outcome value='success'>
\r
244 <parameter name='ss.license-updated' value='true' />
\r
252 <switch test="`$ss.param.entitlement-assignment-group-uuid != ''`">
\r
253 <outcome value='true'>
\r
254 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
\r
255 <parameter name='source' value='`$ss.param.entitlement-assignment-group-uuid`' />
\r
256 <parameter name='target' value='$' />
\r
257 <outcome value='true'>
\r
258 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
259 <parameter name="logger" value="message-log"/>
\r
260 <parameter name="field1" value="__TIMESTAMP__"/>
\r
261 <parameter name="field2" value="`'ss.param.entitlement-assignment-group-uuid = ' + $ss.param.entitlement-assignment-group-uuid`"/>
\r
262 <parameter name="field3" value="__SKIP saving entitlement object in AnAI__"/>
\r
265 <outcome value='false'>
\r
266 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
267 resource="entitlement"
\r
268 key="entitlement.group-uuid = $ss.param.entitlement-assignment-group-uuid
\r
269 AND entitlement.resource-uuid = $ss.param.entitlement-key
\r
270 AND generic-vnf.vnf-id = $ss.param.vnf-id" >
\r
271 <parameter name="group-uuid" value='`$ss.param.entitlement-assignment-group-uuid`' />
\r
272 <parameter name="resource-uuid" value='`$ss.param.entitlement-key`' />
\r
273 <outcome value='failure'>
\r
274 <block atomic='true'>
\r
277 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
278 <parameter name="logger" value="message-log"/>
\r
279 <parameter name="field1" value="ROLLBACK generic-vnf update"/>
\r
282 <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
285 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
286 resource="generic-vnf"
\r
287 key="generic-vnf.vnf-id = $ss.param.vnf-id " >
\r
288 <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
\r
289 <outcome value='failure'>
\r
291 <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
\r
294 <outcome value='not-found'>
\r
296 <parameter name='error-message' value="`$error-message + ' 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
299 <outcome value='success'>
\r
301 <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />
\r
306 <switch test="`$ss.license-updated`">
\r
307 <outcome value='true'>
\r
309 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
310 <parameter name="logger" value="message-log"/>
\r
311 <parameter name="field1" value="ROLLBACK license"/>
\r
313 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
315 key="license.group-uuid = $ss.param.license-assignment-group-uuid
\r
316 AND license.resource-uuid = $ss.param.license-key" >
\r
317 <outcome value='failure'>
\r
319 <parameter name='error-message' value="`$error-message + ' 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
322 <outcome value='not-found'>
\r
324 <parameter name='error-message' value="`$error-message + ' 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
327 <outcome value='success'>
\r
329 <parameter name='error-message' value="`$error-message + ' Rollback of license completed. '`" />
\r
337 <return status='failure'>
\r
338 <parameter name='error-code' value='500' />
\r
339 <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. ' + $error-message`" />
\r
343 <outcome value='not-found'>
\r
344 <block atomic='true'>
\r
347 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
348 <parameter name="logger" value="message-log"/>
\r
349 <parameter name="field1" value="ROLLBACK generic-vnf update"/>
\r
352 <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
355 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
356 resource="generic-vnf"
\r
357 key="generic-vnf.vnf-id = $ss.param.vnf-id " >
\r
358 <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
\r
359 <outcome value='failure'>
\r
361 <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
\r
364 <outcome value='not-found'>
\r
366 <parameter name='error-message' value="`$error-message + ' 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
369 <outcome value='success'>
\r
371 <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />
\r
376 <switch test="`$ss.license-updated`">
\r
377 <outcome value='true'>
\r
379 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r
380 <parameter name="logger" value="message-log"/>
\r
381 <parameter name="field1" value="ROLLBACK license"/>
\r
383 <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
385 key="license.group-uuid = $ss.param.license-assignment-group-uuid
\r
386 AND license.resource-uuid = $ss.param.license-key" >
\r
387 <outcome value='failure'>
\r
389 <parameter name='error-message' value="`$error-message + ' 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
392 <outcome value='not-found'>
\r
394 <parameter name='error-message' value="`$error-message + ' 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
397 <outcome value='success'>
\r
399 <parameter name='error-message' value="`$error-message + ' Rollback of license completed. '`" />
\r
407 <return status='failure'>
\r
408 <parameter name='error-code' value='500' />
\r
409 <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. ' + $error-message`" />
\r
419 <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
426 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].value'
\r
429 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
\r
430 <parameter name='filename' value='/var/tmp/ss-aai-vnfput.log' />
\r