summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Yang <bin.yang@windriver.com>2018-08-14 08:40:25 +0000
committerBin Yang <bin.yang@windriver.com>2018-08-14 08:40:25 +0000
commit375fa747adf4096042c9f606d2bb21e0e8165570 (patch)
treeadb2b3f4ab1e4043ba052d0595615775dbbe7851
parent6ec1bc8a6a2fea2795a0a923514aea3e2d4d590b (diff)
API upgrading for service proxy
Change-Id: Ic0f33176a84a1d78dec37911eda9b83cef79e0b1 Issue-ID: MULTICLOUD-297 Signed-off-by: Bin Yang <bin.yang@windriver.com>
-rw-r--r--windriver/titanium_cloud/proxy/urlsV1.py10
-rw-r--r--windriver/titanium_cloud/proxy/views/services.py102
2 files changed, 103 insertions, 9 deletions
diff --git a/windriver/titanium_cloud/proxy/urlsV1.py b/windriver/titanium_cloud/proxy/urlsV1.py
index 238d5278..4b23fa7a 100644
--- a/windriver/titanium_cloud/proxy/urlsV1.py
+++ b/windriver/titanium_cloud/proxy/urlsV1.py
@@ -16,7 +16,7 @@ from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns
from titanium_cloud.proxy.views import identityV3
-#from titanium_cloud.proxy.views import services
+from titanium_cloud.proxy.views import services
#from newton_base.proxy import dnsaasdelegate
urlpatterns = [
@@ -30,12 +30,12 @@ urlpatterns = [
identityV3.APIv1TokensV2.as_view()),
url(r'^identity/v2.0/tokens/?$',
identityV3.APIv1TokensV2.as_view()),
-# url(r'^identity/v2.0/tenants/?$',
-# services.APIv1GetTenants.as_view()),
+ url(r'^identity/v2.0/tenants/?$',
+ services.APIv1GetTenants.as_view()),
# url(r'dns-delegate/(?P<requri>[0-9a-zA-Z./_-]*)$',
# dnsaasdelegate.APIv1DnsaasDelegate.as_view()),
-# url(r'^(?P<servicetype>[0-9a-zA-Z_-]{,18})/(?P<requri>[0-9a-zA-Z./_-]*)$',
-# services.APIv1Services.as_view()),
+ url(r'^(?P<servicetype>[0-9a-zA-Z_-]{,18})/(?P<requri>[0-9a-zA-Z./_-]*)$',
+ services.APIv1Services.as_view()),
]
urlpatterns = format_suffix_patterns(urlpatterns)
diff --git a/windriver/titanium_cloud/proxy/views/services.py b/windriver/titanium_cloud/proxy/views/services.py
index d7c1dc05..6f4ec326 100644
--- a/windriver/titanium_cloud/proxy/views/services.py
+++ b/windriver/titanium_cloud/proxy/views/services.py
@@ -18,6 +18,7 @@ from rest_framework import status
from django.conf import settings
from newton_base.proxy import services as newton_services
+from common.msapi import extsys
logger = logging.getLogger(__name__)
@@ -38,9 +39,102 @@ class GetTenants(newton_services.GetTenants):
self._logger = logger
def get(self, request, vimid="", servicetype="identity", requri='v3/projects'):
- self._logger.debug("GetTenants--get::META> %s" % request.META)
- self._logger.debug("GetTenants--get::data> %s" % request.data)
- self._logger.debug("GetTenants--get::vimid, servicetype, requri> %s,%s,%s"
- % (vimid, servicetype, requri))
+ self._logger.info("vimid: %s" % (vimid))
+ self._logger.debug("with servicetype, requri> %s,%s" % (servicetype, requri))
return super(GetTenants,self).get(request, vimid, servicetype, requri)
+
+class APIv1Services(Services):
+
+ def __init__(self):
+ self._logger = logger
+
+ def head(self, request, cloud_owner="", cloud_region_id="", servicetype="", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+# self._logger.info("servicetype, requri> %s,%s" % (servicetype, requri))
+# self._logger.debug("META, data> %s , %s" % (request.META, request.data))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1Services,self).head(request, vimid, servicetype, requri)
+
+ def get(self, request, cloud_owner="", cloud_region_id="", servicetype="", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1Services,self).get(request, vimid, servicetype, requri)
+
+ def post(self, request, cloud_owner="", cloud_region_id="", servicetype="", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1Services,self).post(request, vimid, servicetype, requri)
+
+ def put(self, request, cloud_owner="", cloud_region_id="", servicetype="", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1Services,self).put(request, vimid, servicetype, requri)
+
+ def patch(self, request, cloud_owner="", cloud_region_id="", servicetype="", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1Services,self).patch(request, vimid, servicetype, requri)
+
+ def delete(self, request, cloud_owner="", cloud_region_id="", servicetype="", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1Services,self).delete(request, vimid, servicetype, requri)
+
+
+class APIv1GetTenants(GetTenants):
+ '''
+ Backward compatible API for /v2.0/tenants
+ '''
+
+ def __init__(self):
+ self._logger = logger
+
+ def head(self, request, cloud_owner="", cloud_region_id="", servicetype="identity", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+# self._logger.info("servicetype, requri> %s,%s" % (servicetype, requri))
+# self._logger.debug("META, data> %s , %s" % (request.META, request.data))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1GetTenants,self).head(request, vimid, servicetype, requri)
+
+ def get(self, request, cloud_owner="", cloud_region_id="", servicetype="identity", requri='v3/projects'):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+ # self._logger.debug("with servicetype, requri> %s,%s" % (servicetype, requri))
+ # self._logger.debug("with META> %s" % request.META)
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1GetTenants,self).get(request, vimid, servicetype, requri)
+
+ def post(self, request, cloud_owner="", cloud_region_id="", servicetype="identity", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+ # self._logger.debug("with servicetype, requri> %s,%s" % (servicetype, requri))
+ # self._logger.debug("with META> %s" % request.META)
+ # self._logger.debug("with data> %s" % request.data)
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1GetTenants,self).post(request, vimid, servicetype, requri)
+
+ def put(self, request, cloud_owner="", cloud_region_id="", servicetype="identity", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1GetTenants,self).put(request, vimid, servicetype, requri)
+
+ def patch(self, request, cloud_owner="", cloud_region_id="", servicetype="identity", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1GetTenants,self).patch(request, vimid, servicetype, requri)
+
+ def delete(self, request, cloud_owner="", cloud_region_id="", servicetype="identity", requri=""):
+ self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
+
+ vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+ return super(APIv1GetTenants,self).delete(request, vimid, servicetype, requri)