Fix brg-topo DGs
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_brg-topology-operation-deactivate.xml
index 40bfb67..0fda417 100644 (file)
             </set>\r
             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
                     resource="allotted-resource"\r
-                    key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
-                       service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
-                       service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
-                       allotted-resource.id = $tmp.ar.allotted-resource-id"\r
+                    key="customer.global-customer-id = $brg-topology-operation-input.service-information.global-customer-id AND service-subscription.service-type = $brg-topology-operation-input.service-information.subscription-service-type AND service-instance.service-instance-id = $brg-topology-operation-input.service-information.service-instance-id AND allotted-resource.id = $tmp.ar.allotted-resource-id"\r
                     pfx='pfx' local-only='false' force='false'>\r
                 <parameter name="operational-status" value="out-of-service-path" />\r
                 <outcome value='failure'>\r
                     </return>\r
                 </outcome>\r
             </execute>\r
+            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='IPADDR' key="SELECT min(ip_addr) ip from DHCP_MAP where mac_addr = $brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.brg-wan-mac-address" pfx="tmp.brg-wan-ip" ></get-resource>\r
+            <set>\r
+                <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip' value='`$tmp.brg-wan-ip.ip`' />\r
+            </set>\r
+            <set>\r
+                <parameter name='tmp.ar.consuming-service-instance-id' value='`$allotted-resource-data.brg-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
+            </set>\r
+            <call module='GENERIC-RESOURCE-API' rpc='get-tunnelxconn-ar' mode='sync' ></call>\r
+            <set>\r
+                <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-lan-ip`' />\r
+            </set>\r
             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip`"/>\r
             </execute>\r
             <set>\r
-                <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.brg-wan-ip-address` " />\r
-                <parameter name='tmp.tunnel-dest-ip' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vgmux-lan-ip` " />\r
-                <parameter name='tmp.tunnel-src-ip' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.brg-wan-ip-address` " />\r
-                <parameter name='tmp.tunnel-vni' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vni` " />\r
+                <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vgmux-lan-ip` " />\r
             </set>\r
             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\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 updating md-sal for brg-allotted-resource" />\r
+                        <parameter name="error-message" value="Error deleting vxlan tunnel" />\r
                     </return>\r
                 </outcome>\r
                 <outcome value='not-found'>\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 updating md-sal for brg-allotted-resource" />\r
+                        <parameter name="error-message" value="Error deleting vxlan tunnel" />\r
+                    </return>\r
+                </outcome>\r
+            </execute>\r
+            <set>\r
+                <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\r
+            </set>\r
+            <set>\r
+                <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-bearer-ip`' />\r
+            </set>\r
+            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services' pfx='tmp.servicedata' >\r
+                <outcome value='success'>\r
+                    <for index='serviceidx' start='0' end='`$tmp.servicedata.services.service_length`' >\r
+                        <switch test='`$tmp.servicedata.services.service[$serviceidx].service-instance-id == $tmp.search.consuming-service-instance-id`'>\r
+                            <outcome value='true'>\r
+                                <for index='vnfidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf_length`' >\r
+                                    <for index='vfmoduleidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module_length`' >\r
+                                        <for index='paramidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >\r
+                                            <switch test='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param[$paramidx].name == vgw_private_ip_1`'>\r
+                                                <outcome value='true'>\r
+                                                    <set>\r
+                                                        <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-mgmt-ip' value='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param[$paramidx].value`' />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </for>\r
+                                    </for>\r
+                                </for>\r
+                            </outcome>\r
+                        </switch>\r
+                    </for>\r
+                </outcome>\r
+                <outcome value='failure'>\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 getting GENERIC-RESOURCE-API:services" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='not-found'>\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 getting GENERIC-RESOURCE-API:services" />\r
+                    </return>\r
+                </outcome>\r
+            </get-resource>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                <parameter name="source" value="`$prop.honeycomb.url`"/>\r
+                <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
+                <parameter name="target" value="{honeycomb-instance-ip}"/>\r
+                <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-mgmt-ip`"/>\r
+            </execute>\r
+            <set>\r
+                <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip` " />\r
+            </set>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
+                <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
+                <parameter name="target" value="{tunnel-name}"/>\r
+                <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
+                <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
+                <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
+                <parameter name='format' value='json' />\r
+                <parameter name='httpMethod' value='DELETE' />\r
+                <parameter name="responsePrefix" value="honeycomb-vnf" />\r
+                <outcome value='success'>\r
+                    <block></block>\r
+                </outcome>\r
+                <outcome value='failure'>\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 setting up vxlan tunnel" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='not-found'>\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 setting up vxlan tunnel" />\r
                     </return>\r
                 </outcome>\r
             </execute>\r