+ </set>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500' />\r
+ <parameter name='error-message' value='`$error-message`' />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' 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 create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI. ' + $error-message`" />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <for silentFailure='true' index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vlan-tag"\r
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+ <parameter name="vlan-tag-id" \r
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid`' />\r
+ <parameter name="vlan-tag-role" \r
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-description`' />\r
+ <parameter name="vlan-id-outer" \r
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-id`' />\r
+ <outcome value='success'>\r
+ <block atomic='true'>\r
+ <set>\r
+ <parameter name='ss.cp.related-link' \r
+ value="`'/aai/v$/network/vnfcs/vnfc/' + \r
+ $ss.param.vnfc-name + \r
+ '/cps/cp/' + \r
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`" />\r
+ </set>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vlan-tag:relationship-list"\r
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
+ <parameter name="relationship-list.relationship[0].related-link" value="`$ss.cp.related-link`" />\r
+ <outcome value='failure'>\r
+ <block atomic='true'>\r
+ <block>\r
+ <block atomic='true'>\r
+ <block>\r
+ <block>\r
+ <block>\r
+ <switch test="`$ss.resource-key.generic-vnf`">\r
+ <outcome value='generic-vnf'>\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-module-put-index].resource-resolution-data.status' \r
+ value='FAILED' />\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="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\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
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <switch test="`$ss.resource-key.vf-module`">\r
+ <outcome value='vf-module'>\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 vf-module update"/>\r
+ </record>\r
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vf-module"\r
+ key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+ <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\r
+ <outcome value='failure'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </update>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <switch test="`$ss.resource-key.volume-group`">\r
+ <outcome value='volume-group'>\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 volume-group update"/>\r
+ </record>\r
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="volume-group"\r
+ key="cloud-region.cloud-owner = $prop.cloud-owner \r
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+ AND volume-group-id = $ss.param.volume-group-id" >\r
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+ <outcome value='failure'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </update>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <switch test="`$ss.resource-key.vnfc`">\r
+ <outcome value='vnfc'>\r
+ <block atomic='true'>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+ <parameter name="logger" value="message-log"/>\r
+ <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+ </record>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vnfc"\r
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+ <outcome value='failure'>\r
+ <block atomic='true'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+ </set>\r
+ <switch test='`$tmp.return-failure`'>\r
+ <outcome value='true'>\r
+ <block atomic='true'>\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-module-put-index].resource-resolution-data.status' \r
+ value='FAILED' />\r
+ </set>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500' />\r
+ <parameter name='error-message' value='`$error-message`' />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </delete>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <block atomic='true'>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+ <parameter name="logger" value="message-log"/>\r
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+ </record>\r
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vlan-tag"\r
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+ <outcome value='failure'>\r
+ <block atomic='true'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+ </set>\r
+ <switch test='`$tmp.return-failure`'>\r
+ <outcome value='true'>\r
+ <block atomic='true'>\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-module-put-index].resource-resolution-data.status' \r
+ value='FAILED' />\r
+ </set>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500' />\r
+ <parameter name='error-message' value='`$error-message`' />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </delete>\r
+ </for>\r
+ </for>\r
+ </block>\r
+ </block>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500' />\r
+ <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI. ' + $error-message`" />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic='true'>\r
+ <block>\r
+ <block atomic='true'>\r
+ <block>\r
+ <block>\r
+ <block>\r
+ <switch test="`$ss.resource-key.generic-vnf`">\r
+ <outcome value='generic-vnf'>\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-module-put-index].resource-resolution-data.status' \r
+ value='FAILED' />\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="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\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
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <switch test="`$ss.resource-key.vf-module`">\r
+ <outcome value='vf-module'>\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 vf-module update"/>\r
+ </record>\r
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vf-module"\r
+ key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+ <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\r
+ <outcome value='failure'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </update>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <switch test="`$ss.resource-key.volume-group`">\r
+ <outcome value='volume-group'>\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 volume-group update"/>\r
+ </record>\r
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="volume-group"\r
+ key="cloud-region.cloud-owner = $prop.cloud-owner \r
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+ AND volume-group-id = $ss.param.volume-group-id" >\r
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+ <outcome value='failure'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </update>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <switch test="`$ss.resource-key.vnfc`">\r
+ <outcome value='vnfc'>\r
+ <block atomic='true'>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+ <parameter name="logger" value="message-log"/>\r
+ <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+ </record>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vnfc"\r
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+ <outcome value='failure'>\r
+ <block atomic='true'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+ </set>\r
+ <switch test='`$tmp.return-failure`'>\r
+ <outcome value='true'>\r
+ <block atomic='true'>\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-module-put-index].resource-resolution-data.status' \r
+ value='FAILED' />\r
+ </set>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500' />\r
+ <parameter name='error-message' value='`$error-message`' />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </delete>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ <block atomic='true'>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+ <parameter name="logger" value="message-log"/>\r
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+ </record>\r
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vlan-tag"\r
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+ <outcome value='failure'>\r
+ <block atomic='true'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+ </set>\r
+ <switch test='`$tmp.return-failure`'>\r
+ <outcome value='true'>\r
+ <block atomic='true'>\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-module-put-index].resource-resolution-data.status' \r
+ value='FAILED' />\r
+ </set>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500' />\r
+ <parameter name='error-message' value='`$error-message`' />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+ </set>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <set>\r
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />\r
+ </set>\r
+ </outcome>\r
+ </delete>\r
+ </for>\r
+ </for>\r
+ </block>\r