Fix sdwan-vf-vpn-delete DG by passing vf-module-id 74/85474/1
authorprakash.e <prakash.e@huawei.com>
Tue, 16 Apr 2019 13:54:23 +0000 (19:24 +0530)
committerprakash.e <prakash.e@huawei.com>
Tue, 16 Apr 2019 13:54:32 +0000 (19:24 +0530)
Vf-module-id is passed as it is not passed and
returned Missing key is getVfModuleId.

Change-Id: I576f6fd11b97aa1af423837bcd741abc653a2803
Issue-ID: SDNC-659
Signed-off-by: Prakash.E <prakash.e@huawei.com>
Former-commit-id: 169cf9a5afb5b9518dfd2ccaf0f37f988dd3831b

platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.json
platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml

index eb28774..a5a1266 100644 (file)
@@ -1,36 +1,36 @@
 [\r
     {\r
-        "id": "dbaa41e6.046bf",\r
+        "id": "fd06df59.e448b",\r
         "type": "method",\r
         "name": "method sdwan-vf-operation-vpn-delete",\r
         "xml": "<method rpc='sdwan-vf-operation-vpn-delete' mode='sync'>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 347.03125,\r
-        "y": 269.99999737739563,\r
-        "z": "4a211eac.9076a",\r
+        "x": 350.00390625,\r
+        "y": 239.99999809265137,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
             [\r
-                "2654c2fb.11dfbe"\r
+                "ae12552f.1b72d8"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "8578b02a.61d67",\r
+        "id": "a46f7aa3.12e428",\r
         "type": "dgstart",\r
         "name": "DGSTART",\r
         "outputs": 1,\r
-        "x": 147.0311279296875,\r
-        "y": 109.99999737739563,\r
-        "z": "4a211eac.9076a",\r
+        "x": 150.0037841796875,\r
+        "y": 79.99999809265137,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
             [\r
-                "de304501.e706b8"\r
+                "9d19f189.43d7e"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "de304501.e706b8",\r
+        "id": "9d19f189.43d7e",\r
         "type": "service-logic",\r
         "name": "GENERIC-RESOURCE-API ${project.version}",\r
         "module": "GENERIC-RESOURCE-API",\r
         "comments": "",\r
         "xml": "<service-logic xmlns='http://www.onap.org/sdnc/svclogic' 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
         "outputs": 1,\r
-        "x": 359.03113174438477,\r
-        "y": 182.00001454353333,\r
-        "z": "4a211eac.9076a",\r
+        "x": 362.00378799438477,\r
+        "y": 152.00001525878906,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
             [\r
-                "dbaa41e6.046bf"\r
+                "fd06df59.e448b"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "2654c2fb.11dfbe",\r
+        "id": "ae12552f.1b72d8",\r
         "type": "block",\r
         "name": "block : atomic",\r
         "xml": "<block atomic=\"true\">\n",\r
         "atomic": "false",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 517.4755821228027,\r
-        "y": 332.4444534778595,\r
-        "z": "4a211eac.9076a",\r
+        "x": 520.4482383728027,\r
+        "y": 302.44445419311523,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
             [\r
-                "d773525e.57dfe",\r
-                "7dccf11a.58654",\r
-                "f366cb35.f14868",\r
-                "1458597e.bb0697",\r
-                "38c53cd1.7984d4",\r
-                "6bc9b9bd.b7c0e8",\r
-                "a3fafa89.e43bc8"\r
+                "d0cf0fc7.b8968",\r
+                "1177accf.5897c3",\r
+                "75bb279f.73ef38",\r
+                "e0671af2.c6b2e8",\r
+                "6bcfa69f.78db18",\r
+                "bea8f0ce.d0388",\r
+                "d833341a.cfde68",\r
+                "3c85c2b4.ffe46e",\r
+                "f03cd2a1.4117",\r
+                "b2204a07.bb77f8",\r
+                "24f146a1.309e6a"\r
             ]\r
         ]\r
     },\r
     {\r
-        "id": "d773525e.57dfe",\r
+        "id": "d0cf0fc7.b8968",\r
         "type": "record",\r
         "name": "record",\r
         "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-vf-module-operation-delete\"/>\n<parameter name=\"field3\" value=\"SDWAN-Delete\"/>\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 792.8088531494141,\r
-        "y": 193.3333694934845,\r
-        "z": "4a211eac.9076a",\r
+        "x": 795.7815093994141,\r
+        "y": 163.33337020874023,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
             []\r
         ]\r
     },\r
     {\r
-        "id": "7dccf11a.58654",\r
+        "id": "24f146a1.309e6a",\r
+        "type": "delete",\r
+        "name": "delete SDWAN VPNInstance connectivity in AAI",\r
+        "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='sdwan-vpn' \n        key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 917.6363525390625,\r
+        "y": 618.0062856674194,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "1177accf.5897c3",\r
+        "type": "call",\r
+        "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",\r
+        "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1000.0039367675781,\r
+        "y": 102,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "75bb279f.73ef38",\r
+        "type": "switchNode",\r
+        "name": "switch tmp.vidx ",\r
+        "xml": "<switch test=\"`$tmp.vidx`\">\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 807.00390625,\r
+        "y": 223.25391244888306,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "54560087.3e39f"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "54560087.3e39f",\r
+        "type": "outcome",\r
+        "name": "NULL",\r
+        "xml": "<outcome value=''>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 954.4325485229492,\r
+        "y": 222.82532262802124,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "cd62dbd9.527568"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "cd62dbd9.527568",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",\r
+        "comments": "",\r
+        "x": 1103.8612747192383,\r
+        "y": 223.96824026107788,\r
+        "z": "8327690.10df898",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "e0671af2.c6b2e8",\r
+        "type": "switchNode",\r
+        "name": "switch vf-module-oper-status",\r
+        "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.vidx].vf-module-data.vf-module-level-oper-status.order-status`'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 851.3020668029785,\r
+        "y": 293.5711178779602,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "f0bab1bb.8e11a",\r
+                "752158cc.84d648"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "f0bab1bb.8e11a",\r
+        "type": "outcome",\r
+        "name": "outcome PendingDelete",\r
+        "xml": "<outcome value='PendingDelete'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1142.1353340148926,\r
+        "y": 297.6822409629822,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "969dab89.d8c088"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "752158cc.84d648",\r
+        "type": "other",\r
+        "name": "other",\r
+        "xml": "<outcome value='Other'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1109.1354713439941,\r
+        "y": 349.68229365348816,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "270b7545.fab24a"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "270b7545.fab24a",\r
+        "type": "returnFailure",\r
+        "name": "return failure",\r
+        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"`'VNF is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`\" />",\r
+        "comments": "",\r
+        "x": 1268.635238647461,\r
+        "y": 352.68229269981384,\r
+        "z": "8327690.10df898",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "969dab89.d8c088",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic=\"true\">",\r
+        "atomic": "true",\r
+        "outputs": 1,\r
+        "x": 1339.4417343139648,\r
+        "y": 308.0073952674866,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            []\r
+        ]\r
+    },\r
+    {\r
+        "id": "b2204a07.bb77f8",\r
         "type": "returnSuccess",\r
         "name": "return success",\r
         "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",\r
         "comments": "",\r
-        "x": 806.586784362793,\r
-        "y": 504.9796769618988,\r
-        "z": "4a211eac.9076a",\r
+        "x": 810.413330078125,\r
+        "y": 679.459981918335,\r
+        "z": "8327690.10df898",\r
         "wires": []\r
     },\r
     {\r
-        "id": "1458597e.bb0697",\r
+        "id": "6bcfa69f.78db18",\r
         "type": "set",\r
-        "name": "set new vpn-vf length",\r
-        "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`\"/>\n",\r
+        "name": "set prop.vnfNewidx",\r
+        "xml": "<set>\n<parameter name='prop.vnfidxLen' value='`0`' />\n",\r
         "comments": "",\r
-        "x": 836.1082077026367,\r
-        "y": 318.89519906044006,\r
-        "z": "4a211eac.9076a",\r
+        "x": 829.4999313354492,\r
+        "y": 364.5712866783142,\r
+        "z": "8327690.10df898",\r
         "wires": []\r
     },\r
     {\r
-        "id": "f366cb35.f14868",\r
+        "id": "bea8f0ce.d0388",\r
+        "type": "for",\r
+        "name": "for lidx..service-data.vf-modules.vf-module[]",\r
+        "xml": "<for index='lidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 905.4998512268066,\r
+        "y": 418.57116174697876,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "aedffdd.ac084"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "d833341a.cfde68",\r
         "type": "set",\r
-        "name": "Remove networks from ServiceData",\r
-        "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.nidx].\" value=\"\"/>\n\n",\r
+        "name": "set new vf-module length",\r
+        "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value='`$prop.vnfidxLen`'/>\n\n\t\n",\r
         "comments": "",\r
-        "x": 876.732364654541,\r
-        "y": 366.8631408214569,\r
-        "z": "4a211eac.9076a",\r
+        "x": 853.6012229919434,\r
+        "y": 465.3753876686096,\r
+        "z": "8327690.10df898",\r
         "wires": []\r
     },\r
     {\r
-        "id": "a3fafa89.e43bc8",\r
-        "type": "delete",\r
-        "name": "delete SDWAN VPNInstance connectivity in AAI",\r
-        "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='sdwan-vpn' \n        key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'>\n",\r
+        "id": "3c85c2b4.ffe46e",\r
+        "type": "set",\r
+        "name": "Remove vnf from ServiceData",\r
+        "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].\" value=\"\"/>\n",\r
         "comments": "",\r
+        "x": 874.4998588562012,\r
+        "y": 570.5712801218033,\r
+        "z": "8327690.10df898",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "aedffdd.ac084",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic=\"true\">",\r
+        "atomic": "true",\r
         "outputs": 1,\r
-        "x": 914.6637077331543,\r
-        "y": 260.00628304481506,\r
-        "z": "4a211eac.9076a",\r
+        "x": 1165.4998416900635,\r
+        "y": 425.57102155685425,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
-            []\r
+            [\r
+                "206f222a.5e1fde"\r
+            ]\r
         ]\r
     },\r
     {\r
-        "id": "38c53cd1.7984d4",\r
-        "type": "call",\r
-        "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",\r
-        "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",\r
+        "id": "206f222a.5e1fde",\r
+        "type": "switchNode",\r
+        "name": "switch vf-module-id found",\r
+        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lidx].vf-module-data.vf-module-information.vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",\r
         "comments": "",\r
         "outputs": 1,\r
-        "x": 997.0312805175781,\r
-        "y": 131.99999928474426,\r
-        "z": "4a211eac.9076a",\r
+        "x": 1360.4999084472656,\r
+        "y": 424.5711736679077,\r
+        "z": "8327690.10df898",\r
         "wires": [\r
-            []\r
+            [\r
+                "45b26eb8.7bd4e"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "45b26eb8.7bd4e",\r
+        "type": "outcomeFalse",\r
+        "name": "false",\r
+        "xml": "<outcome value='false'>\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 1538.499942779541,\r
+        "y": 418.57105827331543,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "8540afc1.b6629"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "8540afc1.b6629",\r
+        "type": "block",\r
+        "name": "block : atomic",\r
+        "xml": "<block atomic=\"true\">",\r
+        "atomic": "true",\r
+        "outputs": 1,\r
+        "x": 1674.4997549057007,\r
+        "y": 416.57102060317993,\r
+        "z": "8327690.10df898",\r
+        "wires": [\r
+            [\r
+                "73486d68.025024",\r
+                "d3ec464b.f61398"\r
+            ]\r
         ]\r
     },\r
     {\r
-        "id": "6bc9b9bd.b7c0e8",\r
+        "id": "73486d68.025024",\r
+        "type": "set",\r
+        "name": "set  vnf data",\r
+        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-data.`' />\n",\r
+        "comments": "",\r
+        "x": 1839.4998502731323,\r
+        "y": 391.5711760520935,\r
+        "z": "8327690.10df898",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "d3ec464b.f61398",\r
+        "type": "set",\r
+        "name": "set prop.vnfNewidx",\r
+        "xml": "<set>\n<parameter name='prop.vnfidxLen' value='`$prop.vnfidxLen + 1`' />\n",\r
+        "comments": "",\r
+        "x": 1861.4998502731323,\r
+        "y": 447.5711398124695,\r
+        "z": "8327690.10df898",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "f03cd2a1.4117",\r
         "type": "set",\r
         "name": "set vf-module-object-path",\r
         "xml": "<set>\n<parameter name='vf-module-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $vf-module-topology-operation-input.vf-module-information.vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",\r
         "comments": "",\r
-        "x": 845.0000305175781,\r
-        "y": 431.00001335144043,\r
-        "z": "4a211eac.9076a",\r
+        "x": 857.3021049499512,\r
+        "y": 511.90447902679443,\r
+        "z": "8327690.10df898",\r
         "wires": []\r
     }\r
 ]
\ No newline at end of file
index 8b95c4c..5ddf41f 100644 (file)
                 <parameter name="field2" value="sdwan-vf-module-operation-delete"/>\r
                 <parameter name="field3" value="SDWAN-Delete"/>\r
             </record>\r
-            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='sdwan-vpn' \r
-        key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'></delete>\r
+            <switch test="`$tmp.vidx`">\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="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.vidx].vf-module-data.vf-module-level-oper-status.order-status`'>\r
+                <outcome value='PendingDelete'>\r
+                    <block atomic="true"></block>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`'VNF is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
             <set>\r
-                <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`"/>\r
+                <parameter name='prop.vnfidxLen' value='`0`' />\r
             </set>\r
+            <for index='lidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\r
+                <block atomic="true">\r
+                    <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lidx].vf-module-data.vf-module-information.vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`">\r
+                        <outcome value='false'>\r
+                            <block atomic="true">\r
+                                <set>\r
+                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-id`' />\r
+                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-data.`' />\r
+                                </set>\r
+                                <set>\r
+                                    <parameter name='prop.vnfidxLen' value='`$prop.vnfidxLen + 1`' />\r
+                                </set>\r
+                            </block>\r
+                        </outcome>\r
+                    </switch>\r
+                </block>\r
+            </for>\r
             <set>\r
-                <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.nidx]." value=""/>\r
+                <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value='`$prop.vnfidxLen`'/>\r
             </set>\r
             <set>\r
                 <parameter name='vf-module-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
  + $vf-module-topology-operation-input.service-information.service-instance-id\r
  + '/service-data/service-topology/'`"/>\r
             </set>\r
+            <set>\r
+                <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen]." value=""/>\r
+            </set>\r
+            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='sdwan-vpn' \r
+        key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'></delete>\r
             <return status='success'>\r
                 <parameter name="ack-final-indicator" value="Y" />\r
                 <parameter name="error-code" value="200" />\r