self-serve DG bug fixes
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml
index e791088..877c272 100644 (file)
@@ -3,6 +3,15 @@
     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
     <method rpc='self-serve-aai-vnf-put' mode='sync'>\r
         <block atomic="true">\r
+            <switch test='`$ss.capability-name`'>\r
+                <outcome value=''>\r
+                    <return status="failure">\r
+                        <parameter name="ack-final" value="Y" />\r
+                        <parameter name="error-code" value="500"/>\r
+                        <parameter name="error-message" value="ss.capability-name is null" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
             <switch test='`$ss.capability-action`'>\r
                 <outcome value=''>\r
                     <return status="failure">\r
                                         <parameter name='ss.param.aai-vnf-put-index' value='`$aidx`' />\r
                                     </set>\r
                                 </outcome>\r
+                                <outcome value='license-key'>\r
+                                    <set>\r
+                                        <parameter name='ss.param.license-key' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\r
+                                        <parameter name='ss.param.license-key-index' value='`$aidx`' />\r
+                                    </set>\r
+                                </outcome>\r
+                                <outcome value='entitlement-key'>\r
+                                    <set>\r
+                                        <parameter name='ss.param.entitlement-key' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\r
+                                        <parameter name='ss.param.entitlement-key-index' value='`$aidx`' />\r
+                                    </set>\r
+                                </outcome>\r
                             </switch>\r
                         </for>\r
                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
                                 </block>\r
                             </outcome>\r
                         </get-resource>\r
+                        <set>\r
+                            <parameter name="ss.selflink" \r
+       value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + \r
+       $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id + \r
+       '/service-data/vnfs/vnf/' + \r
+       $ss.param.vnf-id + \r
+       '/vnf-data/vnf-topology/'`" />\r
+                        </set>\r
                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="generic-vnf"\r
                key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
-                            <parameter name="vnf-name" value='`$ss.param.vnf-name`' />\r
+                            <parameter name="vnf-name" value="`$ss.param.vnf-name`" />\r
+                            <parameter name="prov-status" value="PREPROV" />\r
+                            <parameter name="operational-status" value="out-of-service-path" />\r
+                            <parameter name="selflink" value="`$ss.selflink`" />\r
+                            <parameter name="model-customization-id" \r
+       value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid`" />\r
+                            <parameter name="model-invariant-id" \r
+       value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-invariant-uuid`" />\r
+                            <parameter name="model-version-id" \r
+       value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-uuid`" />\r
                             <outcome value='failure'>\r
                                 <block atomic='true'>\r
                                     <set>\r
                                 </block>\r
                             </outcome>\r
                         </update>\r
-                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                        <switch test="`$ss.param.license-assignment-group-uuid != ''`">\r
+                            <outcome value='true'>\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                    <parameter name='source' value='`$ss.param.license-assignment-group-uuid`' />\r
+                                    <parameter name='target' value='$' />\r
+                                    <outcome value='true'>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                            <parameter name="logger" value="message-log"/>\r
+                                            <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                            <parameter name="field2" value="`'ss.param.license-assignment-group-uuid = ' + $ss.param.license-assignment-group-uuid`"/>\r
+                                            <parameter name="field3" value="__SKIP saving license object in AnAI__"/>\r
+                                        </record>\r
+                                    </outcome>\r
+                                    <outcome value='false'>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="license"\r
                key="license.group-uuid = $ss.param.license-assignment-group-uuid \r
                AND license.resource-uuid = $ss.param.license-key\r
                AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
-                            <parameter name="group-uuid" value='`$ss.param.license-assignment-group-uuid`' />\r
-                            <parameter name="resource-uuid" value='`$ss.param.license-key`' />\r
-                            <outcome value='failure'>\r
-                                <block atomic='true'>\r
-                                    <block>\r
-                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                            <parameter name="logger" value="message-log"/>\r
-                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
-                                        </record>\r
-                                        <set>\r
-                                            <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
+                                            <parameter name="group-uuid" value='`$ss.param.license-assignment-group-uuid`' />\r
+                                            <parameter name="resource-uuid" value='`$ss.param.license-key`' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                        </record>\r
+                                                        <set>\r
+                                                            <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
        value='FAILED' />\r
-                                        </set>\r
-                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                        </set>\r
+                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="generic-vnf"\r
                key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
-                                            <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
-                                            <outcome value='failure'>\r
-                                                <set>\r
-                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                </set>\r
+                                                            <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
+                                                            <outcome value='failure'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\r
+                                                                <set>\r
+                                                                    <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
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </update>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <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
+                                                    </return>\r
+                                                </block>\r
                                             </outcome>\r
                                             <outcome value='not-found'>\r
-                                                <set>\r
-                                                    <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
-                                                </set>\r
-                                            </outcome>\r
-                                            <outcome value='success'>\r
-                                                <set>\r
-                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
-                                                </set>\r
-                                            </outcome>\r
-                                        </update>\r
-                                    </block>\r
-                                    <return status='failure'>\r
-                                        <parameter name='error-code' value='500' />\r
-                                        <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
-                                    </return>\r
-                                </block>\r
-                            </outcome>\r
-                            <outcome value='not-found'>\r
-                                <block atomic='true'>\r
-                                    <block>\r
-                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                            <parameter name="logger" value="message-log"/>\r
-                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
-                                        </record>\r
-                                        <set>\r
-                                            <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
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                        </record>\r
+                                                        <set>\r
+                                                            <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
        value='FAILED' />\r
-                                        </set>\r
-                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                        </set>\r
+                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="generic-vnf"\r
                key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
-                                            <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
-                                            <outcome value='failure'>\r
-                                                <set>\r
-                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                </set>\r
-                                            </outcome>\r
-                                            <outcome value='not-found'>\r
-                                                <set>\r
-                                                    <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
-                                                </set>\r
+                                                            <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
+                                                            <outcome value='failure'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\r
+                                                                <set>\r
+                                                                    <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
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </update>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <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
+                                                    </return>\r
+                                                </block>\r
                                             </outcome>\r
                                             <outcome value='success'>\r
                                                 <set>\r
-                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                    <parameter name='ss.license-updated' value='true' />\r
                                                 </set>\r
                                             </outcome>\r
-                                        </update>\r
-                                    </block>\r
-                                    <return status='failure'>\r
-                                        <parameter name='error-code' value='500' />\r
-                                        <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
-                                    </return>\r
-                                </block>\r
+                                        </save>\r
+                                    </outcome>\r
+                                </execute>\r
                             </outcome>\r
-                        </save>\r
-                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                        </switch>\r
+                        <switch test="`$ss.param.entitlement-assignment-group-uuid != ''`">\r
+                            <outcome value='true'>\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                    <parameter name='source' value='`$ss.param.entitlement-assignment-group-uuid`' />\r
+                                    <parameter name='target' value='$' />\r
+                                    <outcome value='true'>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                            <parameter name="logger" value="message-log"/>\r
+                                            <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                            <parameter name="field2" value="`'ss.param.entitlement-assignment-group-uuid = ' + $ss.param.entitlement-assignment-group-uuid`"/>\r
+                                            <parameter name="field3" value="__SKIP saving entitlement object in AnAI__"/>\r
+                                        </record>\r
+                                    </outcome>\r
+                                    <outcome value='false'>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="entitlement"\r
                key="entitlement.group-uuid = $ss.param.entitlement-assignment-group-uuid \r
                AND entitlement.resource-uuid = $ss.param.entitlement-key\r
                AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
-                            <parameter name="group-uuid" value='`$ss.param.entitlement-assignment-group-uuid`' />\r
-                            <parameter name="resource-uuid" value='`$ss.param.entitlement-key`' />\r
-                            <outcome value='failure'>\r
-                                <block atomic='true'>\r
-                                    <block>\r
-                                        <block>\r
-                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                                <parameter name="logger" value="message-log"/>\r
-                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
-                                            </record>\r
-                                            <set>\r
-                                                <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
+                                            <parameter name="group-uuid" value='`$ss.param.entitlement-assignment-group-uuid`' />\r
+                                            <parameter name="resource-uuid" value='`$ss.param.entitlement-key`' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                            </record>\r
+                                                            <set>\r
+                                                                <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
        value='FAILED' />\r
-                                            </set>\r
-                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                            </set>\r
+                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="generic-vnf"\r
                key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
-                                                <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
-                                                <outcome value='failure'>\r
-                                                    <set>\r
-                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='not-found'>\r
-                                                    <set>\r
-                                                        <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
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='success'>\r
-                                                    <set>\r
-                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                            </update>\r
-                                        </block>\r
-                                        <block>\r
-                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                                <parameter name="logger" value="message-log"/>\r
-                                                <parameter name="field1" value="ROLLBACK license"/>\r
-                                            </record>\r
-                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
+                                                                <outcome value='failure'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='not-found'>\r
+                                                                    <set>\r
+                                                                        <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
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='success'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </update>\r
+                                                        </block>\r
+                                                        <switch test="`$ss.license-updated`">\r
+                                                            <outcome value='true'>\r
+                                                                <block>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK license"/>\r
+                                                                    </record>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="license"\r
                key="license.group-uuid = $ss.param.license-assignment-group-uuid \r
                AND license.resource-uuid = $ss.param.license-key" >\r
-                                                <outcome value='failure'>\r
-                                                    <set>\r
-                                                        <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
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='not-found'>\r
-                                                    <set>\r
-                                                        <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
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='success'>\r
-                                                    <set>\r
-                                                        <parameter name='error-message' value=" Rollback of license completed. " />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                            </delete>\r
-                                        </block>\r
-                                    </block>\r
-                                    <return status='failure'>\r
-                                        <parameter name='error-code' value='500' />\r
-                                        <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
-                                    </return>\r
-                                </block>\r
-                            </outcome>\r
-                            <outcome value='not-found'>\r
-                                <block atomic='true'>\r
-                                    <block>\r
-                                        <block>\r
-                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                                <parameter name="logger" value="message-log"/>\r
-                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
-                                            </record>\r
-                                            <set>\r
-                                                <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
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <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
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <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
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of license completed. '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </block>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <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
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                            </record>\r
+                                                            <set>\r
+                                                                <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
        value='FAILED' />\r
-                                            </set>\r
-                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                            </set>\r
+                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="generic-vnf"\r
                key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
-                                                <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
-                                                <outcome value='failure'>\r
-                                                    <set>\r
-                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='not-found'>\r
-                                                    <set>\r
-                                                        <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
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='success'>\r
-                                                    <set>\r
-                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                            </update>\r
-                                        </block>\r
-                                        <block>\r
-                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                                <parameter name="logger" value="message-log"/>\r
-                                                <parameter name="field1" value="ROLLBACK license"/>\r
-                                            </record>\r
-                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />\r
+                                                                <outcome value='failure'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='not-found'>\r
+                                                                    <set>\r
+                                                                        <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
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='success'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </update>\r
+                                                        </block>\r
+                                                        <switch test="`$ss.license-updated`">\r
+                                                            <outcome value='true'>\r
+                                                                <block>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK license"/>\r
+                                                                    </record>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
        resource="license"\r
                key="license.group-uuid = $ss.param.license-assignment-group-uuid \r
                AND license.resource-uuid = $ss.param.license-key" >\r
-                                                <outcome value='failure'>\r
-                                                    <set>\r
-                                                        <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
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='not-found'>\r
-                                                    <set>\r
-                                                        <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
-                                                    </set>\r
-                                                </outcome>\r
-                                                <outcome value='success'>\r
-                                                    <set>\r
-                                                        <parameter name='error-message' value=" Rollback of license completed. " />\r
-                                                    </set>\r
-                                                </outcome>\r
-                                            </delete>\r
-                                        </block>\r
-                                    </block>\r
-                                    <return status='failure'>\r
-                                        <parameter name='error-code' value='500' />\r
-                                        <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
-                                    </return>\r
-                                </block>\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <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
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <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
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of license completed. '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </block>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <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
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </save>\r
+                                    </outcome>\r
+                                </execute>\r
                             </outcome>\r
-                        </save>\r
+                        </switch>\r
                         <set>\r
                             <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
        value='SUCCESS' />\r
                     </block>\r
                 </outcome>\r
             </switch>\r
+            <set>\r
+                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].value' \r
+       value='SUCCESS' />\r
+            </set>\r
             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
-                <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\r
+                <parameter name='filename' value='/var/tmp/ss-aai-vnfput.log' />\r
             </execute>\r
         </block>\r
     </method>\r