Using RestApiCallNode instead of RestconfApiCallNode and updating templates accordingly.
authorHesam Rahimi <hesam.rahimi@huawei.com>
Wed, 13 May 2020 23:26:53 +0000 (23:26 +0000)
committerHesam Rahimi <hesam.rahimi@huawei.com>
Wed, 13 May 2020 23:26:53 +0000 (23:26 +0000)
 - This is also required for F release.

Issue-ID: SDNC-1184
Signed-off-by: Hesam Rahimi <hesam.rahimi@huawei.com>
Change-Id: I527253d75dd1e49e87877b17588c1d4c2c3dbed1

platform-logic/generic-resource-api/src/main/json/sotn_nni/GENERIC-RESOURCE-API_sotn-get-otn-tunnel-path-from-oof.json
platform-logic/generic-resource-api/src/main/json/sotn_nni/GENERIC-RESOURCE-API_sotn-vf-operation-uni-activate.json
platform-logic/generic-resource-api/src/main/xml/sotn_nni/GENERIC-RESOURCE-API_sotn-get-otn-tunnel-path-from-oof.xml
platform-logic/generic-resource-api/src/main/xml/sotn_nni/GENERIC-RESOURCE-API_sotn-vf-operation-uni-activate.xml
platform-logic/restapi-templates/src/main/json/sotn-ethernet-service.json
platform-logic/restapi-templates/src/main/json/sotn-otn-tunnel-service.json

index c785b72..044737f 100644 (file)
         "wires": [\r
             [\r
                 "dd179bba.27e578",\r
-                "a736e107.ab857",\r
                 "51dd454b.e64094",\r
-                "e9ba305b.3f7b08"\r
+                "e9ba305b.3f7b08",\r
+                "a736e107.ab857"\r
             ]\r
         ]\r
     },\r
         "z": "5b68e0d.bd97b2",\r
         "wires": []\r
     },\r
-    {\r
-        "id": "a736e107.ab857",\r
-        "type": "get-resource",\r
-        "name": "get-resource src tp",\r
-        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"p-interface\" \n\t\tkey=\"pnf.pnf-name = $tmp.src-pnf-name\n\t\t    AND p-interface.interface-name = $tmp.cross-link.src-ltpId\"\n        pfx='tmp.aai.src-tp' local-only='false' >\n    \n        <!--AND depth = '0'\"-->\n\n\n",\r
-        "comments": "",\r
-        "outputs": 1,\r
-        "x": 2359.5001220703125,\r
-        "y": 529,\r
-        "z": "5b68e0d.bd97b2",\r
-        "wires": [\r
-            [\r
-                "30082dde.5085da",\r
-                "a603f43.0659d88",\r
-                "ed057305.d13bc"\r
-            ]\r
-        ]\r
-    },\r
     {\r
         "id": "30082dde.5085da",\r
         "type": "success",\r
         "id": "51dd454b.e64094",\r
         "type": "get-resource",\r
         "name": "get-resource dst tp",\r
-        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"p-interface\" \n\t\tkey=\"pnf.pnf-name = $tmp.src-pnf-name\n\t\t    AND p-interface.interface-name = $tmp.cross-link.src-ltpId\"\n        pfx='tmp.aai.dst-tp' local-only='false' >\n    \n        <!--AND depth = '0'\"-->\n\n\n",\r
+        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"p-interface\" \n\t\tkey=\"pnf.pnf-name = $tmp.dst-pnf-name\n\t\t    AND p-interface.interface-name = $tmp.cross-link.dst-ltpId\"\n        pfx='tmp.aai.dst-tp' local-only='false' >\n    \n        <!--AND depth = '0'\"-->\n\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
         "x": 2313.5001220703125,\r
                 "66a31e69.f659b8"\r
             ]\r
         ]\r
+    },\r
+    {\r
+        "id": "a736e107.ab857",\r
+        "type": "get-resource",\r
+        "name": "get-resource src tp",\r
+        "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"p-interface\" \n\t\tkey=\"pnf.pnf-name = $tmp.src-pnf-name\n\t\t    AND p-interface.interface-name = $tmp.cross-link.src-ltpId\"\n        pfx='tmp.aai.src-tp' local-only='false' >\n    \n        <!--AND depth = '0'\"-->\n\n\n",\r
+        "comments": "",\r
+        "outputs": 1,\r
+        "x": 2359.5001220703125,\r
+        "y": 529,\r
+        "z": "5b68e0d.bd97b2",\r
+        "wires": [\r
+            [\r
+                "30082dde.5085da",\r
+                "a603f43.0659d88",\r
+                "ed057305.d13bc"\r
+            ]\r
+        ]\r
+    },\r
+    {\r
+        "id": "85e1ebfe.ba8e78",\r
+        "type": "comment",\r
+        "name": "among all ttps, find the one that has relationship to p-interface (TODO: check node/pnf is the same between this p-interface's pnf and the ttp's pnf)",\r
+        "info": "",\r
+        "comments": "",\r
+        "x": 5703,\r
+        "y": 377,\r
+        "z": "5b68e0d.bd97b2",\r
+        "wires": []\r
+    },\r
+    {\r
+        "id": "1ff536a0.bad579",\r
+        "type": "comment",\r
+        "name": "among all ttps, find the one that has relationship to p-interface (TODO: check node/pnf is the same between this p-interface's pnf and the ttp's pnf)",\r
+        "info": "",\r
+        "comments": "",\r
+        "x": 5697,\r
+        "y": 749,\r
+        "z": "5b68e0d.bd97b2",\r
+        "wires": []\r
     }\r
 ]
\ No newline at end of file
index 6005d81..48817a4 100644 (file)
@@ -84,8 +84,7 @@
                 "5733466d.dcbb88",\r
                 "6d51d616.88647",\r
                 "aab160b4.f76088",\r
-                "48dc3a93.b23a44",\r
-                "672fc75a.1e91b"\r
+                "48dc3a93.b23a44"\r
             ]\r
         ]\r
     },\r
         "id": "e85654b4.901fd",\r
         "type": "execute",\r
         "name": "execute split tp-id to get pnf-name",\r
-        "xml": "<!--<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >-->\n<!--<parameter name=\"original_string\" value='`tmp.unis.uni[$vidx].tp-id`'/>-->\n<!--<parameter name=\"regex\" value=\"nodeId\"/>-->\n<!--<parameter name=\"tmp.unis.uni[$vidx].pnf-name\" value=\"\"/>-->\n\n<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`tmp.aai.uni.tp-id`'/>\n<parameter name=\"regex\" value=\"nodeId\"/>\n<parameter name=\"tmp.aai.uni.pnf-name\" value=\"\"/>",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`tmp.aai.uni.tp-id`'/>\n<parameter name=\"regex\" value=\"[^-]+$\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n\n",\r
         "comments": "",\r
         "outputs": 1,\r
         "x": 2596,\r
     {\r
         "id": "9111f685.17b2e8",\r
         "type": "set",\r
-        "name": "set ipAddress prefixLength",\r
-        "xml": "<set>\n<parameter name='prop.lan.ip-address' value='`$ipandMask[0]`' />\n<parameter name='prop.lan.prefixLength' value='`$ipandMask[1]`' />",\r
+        "name": "set ltpId",\r
+        "xml": "<set>\n<parameter name='tmp.src.ltpId' value='`$param-prefix[$param-prefix_length -1]`' />\n",\r
         "comments": "",\r
         "x": 3041,\r
         "y": 673,\r
                 "f7756434.d014e",\r
                 "a9643f3f.4f04b",\r
                 "ae925256.a68df",\r
-                "ee991e0.ab6b36"\r
+                "ee991e0.ab6b36",\r
+                "3ce3b19a.7c10c6",\r
+                "d661efba.3fa238",\r
+                "c6d53bc.53f5bc8"\r
             ]\r
         ]\r
     },\r
     {\r
         "id": "678c3911.078e2",\r
         "type": "execute",\r
-        "name": "execute RestconfApiCallNode Create ethernet Service with token",\r
-        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"patch\"/>\n<parameter name='dirPath' value=\"/opt/onap/sdnc/restconfapi/yang\" />\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",\r
+        "name": "execute RestApiCallNode Create ethernet Service with token",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestApiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`\" />\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"patch\"/>\n<parameter name='dirPath' value=\"/opt/onap/sdnc/restconfapi/yang\" />\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",\r
         "comments": "",\r
         "outputs": 1,\r
         "x": 1660.52734375,\r
     {\r
         "id": "42cb8b06.e7daec",\r
         "type": "execute",\r
-        "name": "execute RestconfApiCallNode Create ethernet Service without token",\r
-        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"patch\"/>\n<parameter name='dirPath' value=\"/opt/onap/sdnc/restconfapi/yang\" />\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",\r
+        "name": "execute RestApiCallNode Create ethernet Service without token",\r
+        "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestApiCallNode' method='sendRequest' >\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`\" />\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"patch\"/>\n<parameter name='dirPath' value=\"/opt/onap/sdnc/restconfapi/yang\" />\n<parameter name=\"responsePrefix\" value=\"vpn-result\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>",\r
         "comments": "",\r
         "outputs": 1,\r
         "x": 1670.52734375,\r
index 3ea459a..8bf518e 100644 (file)
                                                     </return>\r
                                                 </outcome>\r
                                             </get-resource>\r
-                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $tmp.src-pnf-name AND p-interface.interface-name = $tmp.cross-link.src-ltpId" pfx="tmp.aai.dst-tp" local-only="false">\r
+                                            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $tmp.dst-pnf-name AND p-interface.interface-name = $tmp.cross-link.dst-ltpId" pfx="tmp.aai.dst-tp" local-only="false">\r
                                                 <!--AND depth = '0'"-->\r
                                                 <outcome value="success">\r
                                                     <block>\r
index 7a4eedf..d8e111c 100644 (file)
@@ -1,65 +1,63 @@
-<service-logic\r
-    xmlns='http://www.onap.org/sdnc/svclogic'\r
-    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='sotn-vf-operation-uni-activate' mode='sync'>\r
+<service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">\r
+    <method rpc="sotn-vf-operation-uni-activate" mode="sync">\r
         <block atomic="true">\r
-            <switch test='`$service-data.vnfs.vnf_length`'>\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
+            <switch test="`$service-data.vnfs.vnf_length`">\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
-            <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
+            <for index="idx" start="0" end="`$service-data.vnfs.vnf_length`">\r
                 <switch test="`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`">\r
-                    <outcome value='true'>\r
+                    <outcome value="true">\r
                         <block atomic="true">\r
                             <set>\r
-                                <parameter name='vnf-index' value='`$idx`' />\r
+                                <parameter name="vnf-index" value="`$idx`"/>\r
                             </set>\r
                             <set>\r
-                                <parameter name='tmp.vnf-id' value='`$vf-module-topology-operation-input.vnf-information.vnf-id`' />\r
+                                <parameter name="tmp.vnf-id" value="`$vf-module-topology-operation-input.vnf-information.vnf-id`"/>\r
                             </set>\r
                         </block>\r
                     </outcome>\r
                 </switch>\r
             </for>\r
-            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
-                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
-                <parameter name='contextPrefix' value='prop' />\r
+            <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties">\r
+                <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>\r
+                <parameter name="contextPrefix" value="prop"/>\r
             </execute>\r
-            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
-                <outcome value='0'>\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
+            <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`">\r
+                <outcome value="0">\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
-                <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
+                <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
-                <outcome value='Other'>\r
+                <outcome value="Other">\r
                     <block atomic="true">\r
                         <set>\r
-                            <parameter name='vf-module-length' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
+                            <parameter name="vf-module-length" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`"/>\r
                         </set>\r
-                        <for index='idx' start='0' end='`$vf-module-length`' >\r
+                        <for index="idx" start="0" end="`$vf-module-length`">\r
                             <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`">\r
-                                <outcome value='true'>\r
+                                <outcome value="true">\r
                                     <block atomic="true">\r
                                         <set>\r
-                                            <parameter name='tmp.vidx' value='`$idx`' />\r
-                                            <parameter name='ctx.vf-module-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.`' />\r
+                                            <parameter name="tmp.vidx" value="`$idx`"/>\r
+                                            <parameter name="ctx.vf-module-data." value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.`"/>\r
                                         </set>\r
                                         <set>\r
-                                            <parameter name='vf-module-request-input.' value='`$ctx.vf-module-data.vf-module-request-input.`' />\r
+                                            <parameter name="vf-module-request-input." value="`$ctx.vf-module-data.vf-module-request-input.`"/>\r
                                         </set>\r
                                     </block>\r
                                 </outcome>\r
                     </block>\r
                 </outcome>\r
             </switch>\r
-            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
-               resource="generic-vnf" \r
-               key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
-        pfx='tmp.aai.generic-vnf' local-only='false' >\r
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id" pfx="tmp.aai.generic-vnf" local-only="false">\r
                 <!--AND depth = '0'"-->\r
-                <outcome value='success'>\r
+                <outcome value="success">\r
                     <block>\r
-                        <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.generic-vnf.relationship-list.relationship_length`' >\r
-                            <switch test='`$tmp.aai.generic-vnf.relationship-list.relationship[$vidx].related-to`'>\r
-                                <outcome value='uni'>\r
+                        <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.generic-vnf.relationship-list.relationship_length`">\r
+                            <switch test="`$tmp.aai.generic-vnf.relationship-list.relationship[$vidx].related-to`">\r
+                                <outcome value="uni">\r
                                     <block atomic="true">\r
-                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
-               resource="uni" \r
-               key="uni.id = $tmp.aai.generic-vnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value"\r
-        pfx='tmp.aai.uni' local-only='false' >\r
-                                            <outcome value='success'>\r
+                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="uni" key="uni.id = $tmp.aai.generic-vnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value" pfx="tmp.aai.uni" local-only="false">\r
+                                            <outcome value="success">\r
                                                 <block>\r
                                                     <set>\r
-                                                        <!--<parameter name='`tmp.unis.uni[$vidx].tpId`' value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />-->\r
-                                                        <parameter name='`tmp.unis.uni[$vidx].`' value="`$tmp.aai.uni.`" />\r
+                                                        <!--\r
+                                                        <parameter name='`tmp.unis.uni[$vidx].tpId`' value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
+                                                        -->\r
+                                                        <parameter name="`tmp.unis.uni[$vidx].`" value="`$tmp.aai.uni.`"/>\r
                                                     </set>\r
-                                                    <!--<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >-->\r
-                                                    <!--<parameter name="original_string" value='`tmp.unis.uni[$vidx].tp-id`'/>-->\r
-                                                    <!--<parameter name="regex" value="nodeId"/>-->\r
-                                                    <!--<parameter name="tmp.unis.uni[$vidx].pnf-name" value=""/>-->\r
-                                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
-                                                        <parameter name="original_string" value='`tmp.aai.uni.tp-id`'/>\r
-                                                        <parameter name="regex" value="nodeId"/>\r
-                                                        <parameter name="tmp.aai.uni.pnf-name" value=""/>\r
-                                                        <outcome value='success'>\r
+                                                    <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">\r
+                                                        <parameter name="original_string" value="`tmp.aai.uni.tp-id`"/>\r
+                                                        <parameter name="regex" value="[^-]+$"/>\r
+                                                        <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
+                                                        <outcome value="success">\r
                                                             <set>\r
-                                                                <parameter name='prop.lan.ip-address' value='`$ipandMask[0]`' />\r
-                                                                <parameter name='prop.lan.prefixLength' value='`$ipandMask[1]`' />\r
+                                                                <parameter name="tmp.src.ltpId" value="`$param-prefix[$param-prefix_length -1]`"/>\r
                                                             </set>\r
                                                         </outcome>\r
-                                                        <outcome value='failure'>\r
-                                                            <return status='failure'>\r
-                                                                <parameter name='error-code' value='' />\r
-                                                                <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
+                                                        <outcome value="failure">\r
+                                                            <return status="failure">\r
+                                                                <parameter name="error-code" value=""/>\r
+                                                                <parameter name="error-message" value="An error occured while splitting sna1_route"/>\r
                                                             </return>\r
                                                         </outcome>\r
                                                     </execute>\r
-                                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
-               resource="pnf" \r
-               key="'pnf.pnf-name = $tmp.unis.uni[$vidx].pnf-name'\r
-               AND depth = '0'"\r
-        pfx='tmp.aai.pnf' local-only='false' >\r
-                                                        <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->\r
+                                                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="'pnf.pnf-name = $tmp.unis.uni[$vidx].pnf-name' AND depth = '0'" pfx="tmp.aai.pnf" local-only="false">\r
+                                                        <!--\r
+                                                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                        -->\r
                                                         <!--           resource="generic-vnf" -->\r
-                                                        <!--           key="'generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id' -->\r
+                                                        <!--\r
+                                                                key="'generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id'\r
+                                                        -->\r
                                                         <!--           AND depth = '0'"-->\r
-                                                        <!--        pfx='tmp.aai.generic-vnf' local-only='false' >-->\r
-                                                        <outcome value='success'>\r
+                                                        <!--\r
+                                                                pfx='tmp.aai.generic-vnf' local-only='false' >\r
+                                                        -->\r
+                                                        <outcome value="success">\r
                                                             <block>\r
                                                                 <set>\r
-                                                                    <parameter name='`$tmp.unis.uni[$vidx].node-id`' value="`$tmp.aai.pnf.pnf-id`" />\r
+                                                                    <parameter name="`$tmp.unis.uni[$vidx].node-id`" value="`$tmp.aai.pnf.pnf-id`"/>\r
                                                                 </set>\r
-                                                                <for silentFailure='true' index='ridx' start='0' end='`$tmp.aai.pnf.relationship-list.relationship_length`' >\r
-                                                                    <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].related-to`'>\r
-                                                                        <outcome value='thirdparty-controller'>\r
+                                                                <for silentFailure="true" index="ridx" start="0" end="`$tmp.aai.pnf.relationship-list.relationship_length`">\r
+                                                                    <switch test="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].related-to`">\r
+                                                                        <outcome value="thirdparty-controller">\r
                                                                             <block atomic="true">\r
                                                                                 <set>\r
-                                                                                    <parameter name='`$tmp.unis.uni[$vidx].thirdparty-sdnc-id`' value="`$tmp.aai.pnf.relationship-list.relationship[$ridx].relationship-data[0].relationship-value`" />\r
+                                                                                    <parameter name="`$tmp.unis.uni[$vidx].thirdparty-sdnc-id`" value="`$tmp.aai.pnf.relationship-list.relationship[$ridx].relationship-data[0].relationship-value`"/>\r
                                                                                 </set>\r
                                                                             </block>\r
                                                                         </outcome>\r
-                                                                        <outcome value='network-resource'>\r
+                                                                        <outcome value="network-resource">\r
                                                                             <block atomic="true">\r
                                                                                 <set>\r
-                                                                                    <parameter name='`$tmp.unis.uni[$vidx].network-id`' value="`$tmp.aai.pnf.relationship-list.relationship[$ridx].relationship-data[0].relationship-value`" />\r
+                                                                                    <parameter name="`$tmp.unis.uni[$vidx].network-id`" value="`$tmp.aai.pnf.relationship-list.relationship[$ridx].relationship-data[0].relationship-value`"/>\r
                                                                                 </set>\r
-                                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
-               resource="network-resource" \r
-               key="'network-resource.network-id = $tmp.unis.uni[$vidx].network-id'\r
-               AND depth = '0'"\r
-        pfx='tmp.aai.network-resource' local-only='false' >\r
-                                                                                    <outcome value='success'>\r
+                                                                                <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="'network-resource.network-id = $tmp.unis.uni[$vidx].network-id' AND depth = '0'" pfx="tmp.aai.network-resource" local-only="false">\r
+                                                                                    <outcome value="success">\r
                                                                                         <set>\r
-                                                                                            <parameter name="`$tmp.unis.uni[$vidx].network-id`" value="`$tmp.aai.network-resource.network-id`" />\r
-                                                                                            <parameter name="`$tmp.unis.uni[$vidx].provider-id`" value="`$tmp.aai.network-resource.provider-id`" />\r
-                                                                                            <parameter name="`$tmp.unis.uni[$vidx].client-id`" value="`$tmp.aai.network-resource.client-id`" />\r
-                                                                                            <parameter name="`$tmp.unis.uni[$vidx].te-topo-id`" value="`$tmp.aai.network-resource.te-topo-id`" />\r
-                                                                                            <parameter name="`$tmp.unis.uni[$vidx].network-type`" value="`$tmp.aai.network-resource.network-type`" />\r
+                                                                                            <parameter name="`$tmp.unis.uni[$vidx].network-id`" value="`$tmp.aai.network-resource.network-id`"/>\r
+                                                                                            <parameter name="`$tmp.unis.uni[$vidx].provider-id`" value="`$tmp.aai.network-resource.provider-id`"/>\r
+                                                                                            <parameter name="`$tmp.unis.uni[$vidx].client-id`" value="`$tmp.aai.network-resource.client-id`"/>\r
+                                                                                            <parameter name="`$tmp.unis.uni[$vidx].te-topo-id`" value="`$tmp.aai.network-resource.te-topo-id`"/>\r
+                                                                                            <parameter name="`$tmp.unis.uni[$vidx].network-type`" value="`$tmp.aai.network-resource.network-type`"/>\r
                                                                                         </set>\r
                                                                                     </outcome>\r
                                                                                 </get-resource>\r
                                 </outcome>\r
                             </switch>\r
                         </for>\r
-                        <switch test='`$tmp.unis.uni_length &lt; 2`' >\r
-                            <outcome value='true'>\r
-                                <return status='success'>\r
-                                    <parameter name="ack-final-indicator" value="Y" />\r
-                                    <parameter name="error-code" value="200" />\r
-                                    <parameter name="error-message" value="`$error-message`" />\r
+                        <switch test="`$tmp.unis.uni_length < 2`">\r
+                            <outcome value="true">\r
+                                <return status="success">\r
+                                    <parameter name="ack-final-indicator" value="Y"/>\r
+                                    <parameter name="error-code" value="200"/>\r
+                                    <parameter name="error-message" value="`$error-message`"/>\r
                                 </return>\r
                             </outcome>\r
                         </switch>\r
                     </block>\r
                 </outcome>\r
             </get-resource>\r
-            <call module='GENERIC-RESOURCE-API' rpc='sotn-get-otn-tunnel-path-from-oof' mode='sync' ></call>\r
-            <set>\r
-                <parameter name='tmp.unis.uni[0].id' value="`$vf-module-topology-operation-input.vf-module-information.vf-module-id`" />\r
-                <parameter name='tmp.unis.uni[0].tp-id' value="networkId-providerId-5555-clientId-6666-topologyId-11-nodeId-0.190.0.1" />\r
-                <parameter name='tmp.unis.uni[0].access-provider-id' value="`$domain-A.provider-id`" />\r
-                <parameter name='tmp.unis.uni[0].access-client-id' value="`$domain-A.client-id`" />\r
-                <parameter name='tmp.unis.uni[0].access-topology-id' value="`$domain-A.topology-id`" />\r
-                <parameter name='tmp.unis.uni[0].access-node-id' value="0.190.0.1" />\r
-                <parameter name='tmp.unis.uni[0].src-access-ltp-id' value="1234" />\r
-                <parameter name='tmp.unis.uni[0].dst-access-ltp-id' value="5678" />\r
-                <parameter name='tmp.unis.uni[0].network-id' value="domain2-providerId-5555-clientId-6666-topologyId-11" />\r
-                <parameter name='tmp.unis.uni[1].id' value="5642e9dd-496c-4ef6-be97-5caf4e9beec9" />\r
-                <parameter name='tmp.unis.uni[1].tp-id' value="networkId-domain2-providerId-5555-clientId-6666-topologyId-11-nodeId-0.191.0.4" />\r
-                <parameter name='tmp.unis.uni[1].access-provider-id' value="`$domain-B.provider-id`" />\r
-                <parameter name='tmp.unis.uni[1].access-client-id' value="`$domain-B.client-id`" />\r
-                <parameter name='tmp.unis.uni[1].access-topology-id' value="`$domain-B.topology-id`" />\r
-                <parameter name='tmp.unis.uni[1].access-node-id' value="0.190.0.3" />\r
-                <parameter name='tmp.unis.uni[1].src-access-ltp-id' value="9123" />\r
-                <parameter name='tmp.unis.uni[1].dst-access-ltp-id' value="4567" />\r
-                <parameter name='tmp.unis.uni[1].network-id' value="domain2-providerId-5555-clientId-6666-topologyId-11" />\r
-                <parameter name='tmp.unis.uni_length' value="2" />\r
-            </set>\r
-            <for index='vidx' start='0' end='`$tmp.unis.uni_length`' >\r
+            <call module="GENERIC-RESOURCE-API" rpc="sotn-get-otn-tunnel-path-from-oof" mode="sync"/>\r
+            <for index="vidx" start="0" end="`$tmp.unis.uni_length`">\r
                 <block atomic="true">\r
                     <set>\r
-                        <parameter name='oof.vpn.' value='`$tmp.unis.uni[$vidx].`' />\r
+                        <parameter name="oof.vpn." value="`$tmp.unis.uni[$vidx].`"/>\r
                     </set>\r
-                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
-               resource="network-resource" \r
-               key="network-resource.network-id = $oof.vpn.network-id"\r
-        pfx='tmp.aai.network-resource' local-only='false' >\r
-                        <outcome value='success'>\r
+                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $oof.vpn.network-id" pfx="tmp.aai.network-resource" local-only="false">\r
+                        <outcome value="success">\r
                             <block>\r
-                                <for index='ridx' start='0' end='`$tmp.aai.network-resource.relationship-list.relationship_length`' >\r
-                                    <switch test='`$tmp.aai.network-resource.relationship-list.relationship[$ridx].related-to`'>\r
-                                        <outcome value='esr-thirdparty-sdnc'>\r
+                                <for index="ridx" start="0" end="`$tmp.aai.network-resource.relationship-list.relationship_length`">\r
+                                    <switch test="`$tmp.aai.network-resource.relationship-list.relationship[$ridx].related-to`">\r
+                                        <outcome value="esr-thirdparty-sdnc">\r
                                             <set>\r
-                                                <parameter name='prop.sdncRestApi.thirdpartySdnc.id' value="`$tmp.aai.network-resource.relationship-list.relationship[$ridx].relationship-data[0].relationship-value`" />\r
+                                                <parameter name="prop.sdncRestApi.thirdpartySdnc.id" value="`$tmp.aai.network-resource.relationship-list.relationship[$ridx].relationship-data[0].relationship-value`"/>\r
                                             </set>\r
                                         </outcome>\r
                                     </switch>\r
                                 </for>\r
                             </block>\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="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\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="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
                             </return>\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="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\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="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
                             </return>\r
                         </outcome>\r
                     </get-resource>\r
-                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
-               resource="esr-thirdparty-sdnc" \r
-               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND \r
-                    depth = '1'"\r
-        pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
-                        <outcome value='success'>\r
+                    <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">\r
+                        <outcome value="success">\r
                             <set>\r
-                                <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
-                                <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
-                                <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
-                                <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->\r
-                                <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->\r
-                                <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->\r
-                                <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->\r
+                                <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>\r
+                                <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>\r
+                                <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/>\r
+                                <!--\r
+                                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                -->\r
+                                <!--\r
+                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
+                                -->\r
+                                <!--\r
+                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                                -->\r
+                                <!--\r
+                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                                -->\r
                                 <!--<parameter name="format" value="json"/>-->\r
                                 <!--<parameter name="httpMethod" value="get"/>-->\r
-                                <!--<parameter name="responsePrefix" value="topology"/>-->\r
-                                <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->\r
-                                <!--<parameter name="trustStorePassword" value="adminadmin"/>-->\r
-                                <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->\r
-                                <!--<parameter name="keyStorePassword" value="adminadmin"/>-->\r
+                                <!--\r
+                                <parameter name="responsePrefix" value="topology"/>\r
+                                -->\r
+                                <!--\r
+                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                -->\r
+                                <!--\r
+                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                -->\r
+                                <!--\r
+                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                -->\r
+                                <!--\r
+                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                -->\r
                             </set>\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="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\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="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/>\r
                             </return>\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="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\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="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/>\r
                             </return>\r
                         </outcome>\r
                     </get-resource>\r
-                    <call module='GENERIC-RESOURCE-API' rpc='sotn-create-otn-tunnel' mode='sync' ></call>\r
+                    <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
+                        <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`"/>\r
+                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`"/>\r
+                        <parameter name="format" value="json"/>\r
+                        <parameter name="httpMethod" value="post"/>\r
+                        <parameter name="responsePrefix" value="token-result"/>\r
+                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                        <parameter name="trustStorePassword" value="adminadmin"/>\r
+                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                        <parameter name="keyStorePassword" value="adminadmin"/>\r
+                        <outcome value="success">\r
+                            <set>\r
+                                <parameter name="prop.sdncRestApi.token_id" value="`$token-result.data.token_id`"/>\r
+                            </set>\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 executing get token rest api"/>\r
+                            </return>\r
+                        </outcome>\r
+                    </execute>\r
+                    <call module="GENERIC-RESOURCE-API" rpc="sotn-create-otn-tunnel" mode="sync"/>\r
+                    <set>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.globals.etht-svc-bandwidth-profiles[0].bandwidth-profile-type" value="ietf-eth-tran-types:mef-10-bwp"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-type" value="ietf-eth-tran-types:p2p-svc"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].admin-status" value="ietf-te-types:tunnel-state-up"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-port-id" value="0"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].service-classification-type" value="ietf-eth-tran-types:port-classification"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-port-id" value="1"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].service-classification-type" value="ietf-eth-tran-types:port-classification"/>\r
+                    </set>\r
                     <set>\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.globals.etht-svc-bandwidth-profiles[0].bandwidth-profile-type' value='ietf-eth-tran-types:mef-10-bwp' />\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-type' value='ietf-eth-tran-types:p2p-svc' />\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].admin-status' value='ietf-te-types:tunnel-state-up' />\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-port-id' value='0' />\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].service-classification-type' value='ietf-eth-tran-types:port-classification' />\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-port-id' value='1' />\r
-                        <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].service-classification-type' value='ietf-eth-tran-types:port-classification' />\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-provider-id" value="`$oof.vpn.access-provider-id`"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-client-id" value="`$oof.vpn.access-client-id`"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-topology-id" value="`$oof.vpn.access-topology-id`"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-node-id" value="`$oof.vpn.access-node-id`"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-ltp-id" value="`$oof.vpn.src-access-ltp-id`"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-node-id" value="`$oof.vpn.access-node-id`"/>\r
+                        <parameter name="ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-ltp-id" value="`$oof.vpn.dst-access-ltp-id`"/>\r
                     </set>\r
+                    <switch test="`$prop.sdncRestApi.token_id`">\r
+                        <outcome value="">\r
+                            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestApiCallNode" method="sendRequest">\r
+                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`"/>\r
+                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`"/>\r
+                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
+                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
+                                <parameter name="format" value="json"/>\r
+                                <parameter name="httpMethod" value="patch"/>\r
+                                <parameter name="dirPath" value="/opt/onap/sdnc/restconfapi/yang"/>\r
+                                <parameter name="responsePrefix" value="vpn-result"/>\r
+                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                <parameter name="keyStorePassword" value="adminadmin"/>\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 executing Create vpn rest api"/>\r
+                                    </return>\r
+                                </outcome>\r
+                                <outcome value="success">\r
+                                    <block atomic="true"/>\r
+                                </outcome>\r
+                            </execute>\r
+                        </outcome>\r
+                        <outcome value="Other">\r
+                            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestApiCallNode" method="sendRequest">\r
+                                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`"/>\r
+                                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`"/>\r
+                                <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>\r
+                                <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>\r
+                                <parameter name="format" value="json"/>\r
+                                <parameter name="httpMethod" value="patch"/>\r
+                                <parameter name="dirPath" value="/opt/onap/sdnc/restconfapi/yang"/>\r
+                                <parameter name="responsePrefix" value="vpn-result"/>\r
+                                <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+                                <parameter name="trustStorePassword" value="adminadmin"/>\r
+                                <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                                <parameter name="keyStorePassword" value="adminadmin"/>\r
+                                <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>\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 executing Create vpn rest api"/>\r
+                                    </return>\r
+                                </outcome>\r
+                                <outcome value="success">\r
+                                    <block atomic="true"/>\r
+                                </outcome>\r
+                            </execute>\r
+                        </outcome>\r
+                    </switch>\r
                 </block>\r
             </for>\r
-            <return status='success'>\r
-                <parameter name="ack-final-indicator" value="Y" />\r
-                <parameter name="error-code" value="200" />\r
-                <parameter name="error-message" value="`$error-message`" />\r
+            <return status="success">\r
+                <parameter name="ack-final-indicator" value="Y"/>\r
+                <parameter name="error-code" value="200"/>\r
+                <parameter name="error-message" value="`$error-message`"/>\r
             </return>\r
         </block>\r
     </method>\r
index 582e88e..6fdb4e1 100644 (file)
@@ -1,42 +1,64 @@
 {
     "ietf-eth-tran-service:etht-svc": {
-        "globals": {
-            "etht-svc-bandwidth-profiles": [
-                {
-                    "bandwidth-profile-name": ${prop.global.sotn.bandwidth-profile-name},
-                    "bandwidth-profile-type": "ietf-eth-tran-types:mef-10-bwp",
-                    "CIR": ${prop.global.sotn.cir},
-                    "EIR": ${prop.global.sotn.eir},
-                    "color-aware": ${prop.global.sotn.colorAware},
-                    "coupling-flag": ${prop.global.sotn.couplingFlag}
-                }
-            ]
-        },
         "etht-svc-instances": [
             {
                 "etht-svc-name": ${prop.global.sotn.etht-svc-name},
-                "access-provider-id": ${oof.vpn.access-provider-id},
-                "access-client-id": ${oof.vpn.access-client-id},
-                "access-topology-id": ${oof.vpn.access-topology-id},
+                "te-topology-identifier":{
+                    "provider-id":${oof.vpn.access-provider-id},
+                    "client-id":${oof.vpn.access-client-id},
+                    "topology-id":${oof.vpn.access-topology-id}
+                },
                 "etht-svc-type": "ietf-eth-tran-types:p2p-svc",
+                "underlay":{
+                    "pw":{
+                        "pw-name":"pwName",
+                        "pw-id":"123",
+                        "pw-paths":[
+                            {
+                                "path-id":"123",
+                                "tp-tunnels":[
+                                    {
+                                        "name":"tptunnel-22"
+                                    }
+                                ]
+                            }
+                        ]
+                    }
+                },
+                "resilience":{
+                    "protection":{
+                        "enable":"true",
+                        "hold-off-time":"0",
+                        "protection-reversion-disable":"true",
+                        "protection-type":"ietf-te-types:lsp-protection-unprotected",
+                        "wait-to-revert":"0"
+                    }
+                },
                 "admin-status": "ietf-te-types:tunnel-state-up",
-                "etht-svc-access-ports": [
-                    {
-                        "access-port-id": "0",
-                        "access-node-id": ${oof.vpn.access-node-id},
-                        "access-ltp-id": ${oof.vpn.src-access-ltp-id},
-                        "service-classification-type": "ietf-eth-tran-types:port-classification",
-                        "ingress-egress-bandwidth-profile-name": ${prop.global.sotn.bandwidth-profile-name}
-                    },
+                "etht-svc-end-points":[
                     {
-                        "access-port-id": "1",
-                        "access-node-id": ${oof.vpn.access-node-id},
-                        "access-ltp-id": ${oof.vpn.dst-access-ltp-id},
-                        "service-classification-type": "ietf-eth-tran-types:port-classification",
-                        "ingress-egress-bandwidth-profile-name": ${prop.global.sotn.bandwidth-profile-name}
+                        "etht-svc-end-point-name":"source-point-name",
+                        "etht-svc-access-points":[
+                            {
+                            "access-point-id":"0",
+                            "access-node-id":${oof.vpn.access-node-id},
+                            "access-ltp-id":${oof.vpn.src-access-ltp-id}
+                            },
+                            {
+                            "access-point-id":"1",
+                            "access-node-id":${oof.vpn.access-node-id},
+                            "access-ltp-id":${oof.vpn.dst-access-ltp-id}
+                            }
+                        ],
+                        "outer-tag":{
+                            "tag-type":"ietf-eth-tran-types:classify-c-vlan",
+                            "vlan-value":1
+                        },
+                        "service-classification-type":"ietf-eth-tran-types:vlan-classification",
+                        "ingress-egress-bandwidth-profile":${prop.global.sotn.bandwidth-profile-name}
                     }
                 ]
             }
         ]
     }
-}
\ No newline at end of file
+}
index 085d494..3886963 100644 (file)
@@ -3,34 +3,54 @@
         "tunnels":{
             "tunnel":[
                 {
-                    "destination": ${oof.vpn.access-node-id},
-                    "source": ${otn-domain.node-id},
-                    "src-ttp-id": ${otn-domain.ttp-id},
-                    "ietf-otn-tunnel:src-tpn": ${otn-domain.tpn},
-                    "name": "otntunnel-22",
-                    "te-topology-identifier": {
-                        "client-id": ${otn-domain.client-id},
-                        "provider-id": ${otn-domain.provider-id},
-                        "topology-id": ${otn-domain.te-topo-id}
-                    }
+                "destination": ${ietf-te_te.tunnels.tunnel[0].destination},
+                "source": ${ietf-te_te.tunnels.tunnel[0].source},
+                "src-ttp-id": ${ietf-te_te.tunnels.tunnel[0].src-ttp-id},
+                "dst-ttp-id": ${ietf-te_te.tunnels.tunnel[0].dst-ttp-id},
+                "ietf-otn-tunnel:src-tpn": ${ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_src-tpn},
+                "ietf-otn-tunnel:dst-tpn": ${ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_dst-tpn},
+                "te-bandwidth": {
+                    "ietf-otn-tunnel:odu-type": "ietf-otn-types:prot-ODUFlex-gfp"
                 },
+                "encoding": "ietf-te-types:lsp-encoding-oduk",
+                "name": ${ietf-te_te.tunnels.tunnel[0].name},
+                "restoration": {
+                    "enable": "false",
+                    "hold-off-time": "0",
+                    "restoration-reversion-disable": "true",
+                    "restoration-type": "ietf-te-types:lsp-restoration-restore-any",
+                    "wait-to-revert": "0"
+                },
+                "switching-type": "ietf-te-types:switching-otn",
+                "provisioning-state": "ietf-te-types:tunnel-state-down",
+                "te-topology-identifier": {
+                    "client-id": ${ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id},
+                "provider-id": ${ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id},
+                "topology-id": ${ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id}
+            }
+            },
                 {
-                    "destination": ${oof.vpn.access-node-id},
-                    "source": ${otn-domain.node-id},
-                    "src-ttp-id": ${otn-domain.ttp-id},
-                    "ietf-otn-tunnel:src-tpn": ${otn-domain.tpn},
-                    "name": "tptunnel-22",
-                    "dependency-tunnels": {
-                        "dependency-tunnel": [
-                            "name": "tptunnel-22"
-                        ]
-                    },
-                    "te-topology-identifier": {
-                        "client-id": ${otn-domain.client-id},
-                        "provider-id": ${otn-domain.provider-id},
-                        "topology-id": ${otn-domain.te-topo-id}
-                    }
-                }
+                "destination": ${ietf-te_te.tunnels.tunnel[1].destination},
+                "source": ${ietf-te_te.tunnels.tunnel[1].source},
+                "encoding": "ietf-te-types:lsp-encoding-packet",
+                "name": ${ietf-te_te.tunnels.tunnel[1].name},
+                "dependency-tunnels": {
+                    "dependency-tunnel": [
+                        {
+                        "name": ${ietf-te_te.tunnels.tunnel[0].name},
+                        "encoding": "ietf-te-types:lsp-encoding-oduk",
+                        "switching-type": "ietf-te-types:switching-otn"
+                        }
+                    ]
+                },
+                "switching-type": "ietf-te-types:switching-psc1",
+                "te-topology-identifier": {
+                    "client-id": ${ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id},
+                "provider-id": ${ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id},
+                "topology-id": ${ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id}
+            },
+            "provisioning-state": "ietf-te-types:tunnel-state-down"
+            }
             ]
         }
     }