From 375fa747adf4096042c9f606d2bb21e0e8165570 Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Tue, 14 Aug 2018 08:40:25 +0000 Subject: API upgrading for service proxy Change-Id: Ic0f33176a84a1d78dec37911eda9b83cef79e0b1 Issue-ID: MULTICLOUD-297 Signed-off-by: Bin Yang --- windriver/titanium_cloud/proxy/urlsV1.py | 10 +-- windriver/titanium_cloud/proxy/views/services.py | 102 ++++++++++++++++++++++- 2 files changed, 103 insertions(+), 9 deletions(-) (limited to 'windriver') 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[0-9a-zA-Z./_-]*)$', # dnsaasdelegate.APIv1DnsaasDelegate.as_view()), -# url(r'^(?P[0-9a-zA-Z_-]{,18})/(?P[0-9a-zA-Z./_-]*)$', -# services.APIv1Services.as_view()), + url(r'^(?P[0-9a-zA-Z_-]{,18})/(?P[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) -- cgit 1.2.3-korg