Fix infraworkload forwarder 57/78357/2
authorEthan Lynn <ethanlynnl@vmware.com>
Wed, 13 Feb 2019 03:41:10 +0000 (11:41 +0800)
committerEthan Lynn <ethanlynnl@vmware.com>
Wed, 13 Feb 2019 03:49:57 +0000 (11:49 +0800)
Check content_Type, if is multipart, then use multipart handler,
otherwise use normal forwarder.

Change-Id: Ia84b859168d3301390c4ec28be850800ae4677ed
Issue-ID: MULTICLOUD-476
Signed-off-by: Ethan Lynn <ethanlynnl@vmware.com>
multivimbroker/multivimbroker/forwarder/views.py
multivimbroker/multivimbroker/pub/utils/syscomm.py

index 7b9000c..5c7cd0a 100644 (file)
@@ -269,7 +269,8 @@ class APIv1InfraWorkload(BaseServer):
 
     def post(self, request, cloud_owner, cloud_region_id):
         vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
-        if len(request.FILES) != 0:
+        content_type = request.META.get('CONTENT_TYPE', 'application/json')
+        if content_type.startswith("multipart"):
             return self.__process_multipart(request, vimid)
         return self.send(vimid, request.get_full_path(), request.body, "POST",
                          headers=originHeaders(request))
index 9e96d2e..7516d4b 100644 (file)
@@ -68,16 +68,16 @@ def getMultivimDriver(vimid, full_path=""):
 
 
 def getVIMTypes():
-        # Fix here unless we have plugin registry
-        json_file = os.path.join(os.path.dirname(__file__),
-                                 '../config/provider-plugin.json')
-        with open(json_file, "r") as f:
-            plugins = json.load(f)
-        ret = []
-        for k, v in plugins.items():
-            item = {}
-            item["vim_type"] = v.get("vim_type")
-            item["versions"] = [k for k in v.get('versions', {})]
-            ret.append(item)
-
-        return ret
+    # Fix here unless we have plugin registry
+    json_file = os.path.join(os.path.dirname(__file__),
+                             '../config/provider-plugin.json')
+    with open(json_file, "r") as f:
+        plugins = json.load(f)
+    ret = []
+    for k, v in plugins.items():
+        item = {}
+        item["vim_type"] = v.get("vim_type")
+        item["versions"] = [k for k in v.get('versions', {})]
+        ret.append(item)
+
+    return ret