Fix return message format 87/64087/11
authorseshukm <seshu.kumar.m@huawei.com>
Sat, 1 Sep 2018 13:51:44 +0000 (21:51 +0800)
committerSeshu Kumar M <seshu.kumar.m@huawei.com>
Mon, 3 Sep 2018 08:44:31 +0000 (08:44 +0000)
Change-Id: Ia52cf0675449fdabdaba33928daa0cbcd99df781
Issue-ID: OPTFRA-334
Signed-off-by: seshukm <seshu.kumar.m@huawei.com>
osdf/optimizers/routeopt/simple_route_opt.py
osdfapp.py

index 9560996..d1cf13f 100644 (file)
@@ -42,9 +42,9 @@ class RouteOpt:
         :param logical_link:
         :return:
         """
-        for relationship in logical_link["logical-links"]["relationsihp-list"]["relationship"]:
+        for relationship in logical_link["logical-links"]["relationship-list"]["relationship"]:
             if relationship["related-to"] == "p-interface":
-                if "external" in relationship["related-link"]:
+                if "ext-aai-network" in relationship["related-link"]:
                     return True
         return False
 
@@ -58,20 +58,6 @@ class RouteOpt:
         src_access_node_id = request["srcPort"]["src-access-node-id"]
         dst_access_node_id = request["dstPort"]["dst-access-node-id"]
         
-        # for the case of request for same domain, return the same node with destination update
-        if src_access_node_id == dst_access_node_id:
-            return {
-                [
-                    {
-                        "access-topology-id": request["srcPort"]["src-access-topology-id"],
-                        "access-client-id": request["srcPort"]["access-client-id"],
-                        "access-provider-id": request["srcPort"]["access-provider-id"],
-                        "access-node-id": request["srcPort"]["access-node-id"],
-                        "src-access-ltp-id": request["srcPort"]["src-access-ltp-id"],
-                        "dst-access-ltp-id": request["dstPort"]["dst-access-ltp-id"]
-                    }
-                ]
-            } 
 
         ingress_p_interface = None
         egress_p_interface = None
@@ -84,33 +70,34 @@ class RouteOpt:
                 if not self.isCrossONAPLink(logical_link):
 
                     # link is in local ONAP
-                    for relationship in logical_link["logical-links"]["relationsihp-list"]["relationship"]:
+                    for relationship in logical_link["logical-links"]["relationship-list"]["relationship"]:
                         if relationship["related-to"] == "p-interface":
                             if src_access_node_id in relationship["related-link"]:
                                 ingress_p_interface = relationship["related-link"].split("/")[-1]
                             if dst_access_node_id in relationship["related-link"]:
                                 egress_p_interface = relationship["related-link"].split("/")[-1]
 
-            return {
-                [
-                    {
-                        "access-topology-id": request["srcPort"]["src-access-topology-id"],
-                        "access-client-id": request["srcPort"]["access-client-id"],
-                        "access-provider-id": request["srcPort"]["access-provider-id"],
-                        "access-node-id": request["srcPort"]["access-node-id"],
-                        "src-access-ltp-id": request["srcPort"]["src-access-ltp-id"],
-                        "dst-access-ltp-id": ingress_p_interface
-                    },
-                    {
-                        "access-topology-id": request["dstPort"]["access-topology-id"],
-                        "access-client-id": request["dstPort"]["access-client-id"],
-                        "access-provider-id": request["dstPort"]["access-provider-id"],
-                        "access-node-id": request["dstPort"]["access-node-id"],
-                        "src-access-ltp-id": egress_p_interface,
-                        "dst-access-ltp-id": request["dstPort"]["dst-access-ltp-id"]
-                    }
-                ]
-            }
+            data = '{'\
+                '"vpns":['\
+                    '{'\
+                        '"access-topology-id": "' + request["srcPort"]["src-access-topology-id"] + '",'\
+                        '"access-client-id": "' + request["srcPort"]["src-access-client-id"] + '",'\
+                        '"access-provider-id": "' + request["srcPort"]["src-access-provider-id"]+ '",'\
+                        '"access-node-id": "' + request["srcPort"]["src-access-node-id"]+ '",'\
+                        '"src-access-ltp-id": "' + request["srcPort"]["src-access-ltp-id"]+ '",'\
+                        '"dst-access-ltp-id": "' + ingress_p_interface +'"'\
+                    '},'\
+                    '{' \
+                        '"access-topology-id": "' + request["dstPort"]["dst-access-topology-id"] + '",' \
+                        '"access-topology-id": "' + request["dstPort"]["dst-access-topology-id"]+ '",' \
+                        '"access-provider-id": "' + request["dstPort"]["dst-access-provider-id"]+ '",' \
+                        '"access-node-id": "' + request["dstPort"]["dst-access-node-id"]+ '",' \
+                        '"src-access-ltp-id": "' + egress_p_interface + '",' \
+                        '"dst-access-ltp-id": "' + request["dstPort"]["dst-access-ltp-id"] + '"' \
+                    '}'\
+                ']'\
+            '}'
+            return data
 
 
 
@@ -125,7 +112,7 @@ class RouteOpt:
                                 auth=HTTPBasicAuth("", ""))
 
         if response.status_code == 200:
-            return response.json
+            return response.json()
 
 
     def get_logical_links(self):
@@ -142,4 +129,4 @@ class RouteOpt:
                      auth=HTTPBasicAuth("", ""))
 
         if response.status_code == 200:
-            return response.json
+            return response.json()
\ No newline at end of file
index bd5efa7..6ae84cc 100755 (executable)
@@ -125,15 +125,38 @@ def do_placement_opt():
 
 
 @app.route("/api/oof/v1/route", methods=["POST"])
-@auth_basic.login_required
 def do_route_calc():
-    """Perform the basic route calculations and returnn the vpn-bindings
-    TODO:Need to add the new class for the route in the API and model to provide this function
+    """
+    Perform the basic route calculations and returnn the vpn-bindings
     """
     request_json = request.get_json()
     audit_log.info("Calculate Route request received!")
-    return RouteOpt.getRoute(request_json)
-
+    src_access_node_id = ""
+    dst_access_node_id = ""
+    try:
+        src_access_node_id = request_json["srcPort"]["src-access-node-id"]
+        audit_log.info( src_access_node_id )
+        dst_access_node_id = request_json["dstPort"]["dst-access-node-id"]
+    except Exception as ex:
+        error_log.error("Exception while retriving the src and dst node info")
+    # for the case of request_json for same domain, return the same node with destination update
+    if src_access_node_id == dst_access_node_id:
+        audit_log.info("src and dst are same")
+        data = '{'\
+                '"vpns":['\
+                    '{'\
+                        '"access-topology-id": "' + request_json["srcPort"]["src-access-topology-id"] + '",'\
+                        '"access-client-id": "' + request_json["srcPort"]["src-access-client-id"] + '",'\
+                        '"access-provider-id": "' + request_json["srcPort"]["src-access-provider-id"]+ '",'\
+                        '"access-node-id": "' + request_json["srcPort"]["src-access-node-id"]+ '",'\
+                        '"src-access-ltp-id": "' + request_json["srcPort"]["src-access-ltp-id"]+ '",'\
+                        '"dst-access-ltp-id": "' + request_json["dstPort"]["dst-access-ltp-id"]  +'"'\
+                    '}'\
+                ']'\
+            '}'
+        return data
+    else:
+        return RouteOpt.getRoute(request_json)
 
 @app.errorhandler(500)
 def internal_failure(error):