+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\r
+ <block atomic="true">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vip-ipv4-address-list" \r
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >\r
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />\r
+ <parameter name="vip-ipv4-prefix-length" value="32" />\r
+ <parameter name="is-floating" value="false" />\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ <set>\r
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\r
+ </set>\r
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
+ <block atomic="true">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vip-ipv4-address-list:relationship-list"\r
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"\r
+ force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />\r
+ <parameter name="relationship-list.relationship[0].related-link"\r
+ value="`'/aai/v$/network/l3-networks/l3-network/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\r
+ + '/subnets/subnet/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />\r
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />\r
+ <parameter name="relationship-list.relationship[1].related-link"\r
+ value="`'/aai/v$/network/vnfcs/vnfc/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\r
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\r
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\r
+ <outcome value='true'>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vip-ipv4-address-list:relationship-list"\r
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"\r
+ force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
+ <parameter name="relationship-list.relationship[0].related-link"\r
+ value="`'/aai/v$/network/vnfcs/vnfc/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
+ + '/cps/cp/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ </outcome>\r
+ </switch>\r
+ </for>\r
+ </block>\r
+ </for>\r
+ </block>\r
+ </for>\r
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\r
+ <block atomic="true">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vip-ipv6-address-list" \r
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >\r
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />\r
+ <parameter name="vip-ipv6-prefix-length" value="128" />\r
+ <parameter name="is-floating" value="false" />\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ <set>\r
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\r
+ </set>\r
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
+ <block atomic="true">\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vip-ipv6-address-list:relationship-list"\r
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"\r
+ force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />\r
+ <parameter name="relationship-list.relationship[0].related-link"\r
+ value="`'/aai/v$/network/l3-networks/l3-network/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\r
+ + '/subnets/subnet/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />\r
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />\r
+ <parameter name="relationship-list.relationship[1].related-link"\r
+ value="`'/aai/v$/network/vnfcs/vnfc/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\r
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\r
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\r
+ <outcome value='true'>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+ resource="vip-ipv6-address-list:relationship-list"\r
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\r
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\r
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"\r
+ force="true" pfx="tmp.AnAI-data">\r
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
+ <parameter name="relationship-list.relationship[0].related-link"\r
+ value="`'/aai/v$/network/vnfcs/vnfc/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\r
+ + '/cps/cp/'\r
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ </outcome>\r
+ </switch>\r
+ </for>\r
+ </block>\r
+ </for>\r
+ </block>\r
+ </for>\r
+ </block>\r
+ </for>\r
+ </block>\r
+ </for>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\r
+ </execute>\r
+ <block atomic='true'>\r
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>\r
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r