Upgrade registration v1 for pike 29/70429/2
authorHuang Haibin <haibin.huang@intel.com>
Mon, 15 Oct 2018 03:01:07 +0000 (11:01 +0800)
committerHuang Haibin <haibin.huang@intel.com>
Mon, 15 Oct 2018 03:17:13 +0000 (11:17 +0800)
Change-Id: I3360a07f32dd89dc4080ad90bb124cb4e9b4c83c
Issue-ID: MULTICLOUD-377
Signed-off-by: Huang Haibin <haibin.huang@intel.com>
pike/pike/registration/views/registration.py
pike/pike/urls.py

index dfb1d91..121a39d 100644 (file)
@@ -34,3 +34,22 @@ class Registry(newton_registration.Registry):
         self.proxy_prefix = settings.MULTICLOUD_PREFIX
         self.aai_base_url = settings.AAI_BASE_URL
         self._logger = logger
+
+class RegistryV1(Registry):
+    def __init__(self):
+        self.proxy_prefix = settings.MULTICLOUD_API_V1_PREFIX
+        self.aai_base_url = settings.AAI_BASE_URL
+        self._logger = logger
+
+    def post(self, request, cloud_owner="", cloud_region_id=""):
+        self._logger.info("registration with : %s, %s" % (cloud_owner, cloud_region_id))
+        self._logger.debug("with data: %s" % request.data)
+
+        vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+        return super(RegistryV1, self).post(request, vimid)
+
+    def delete(self, request, cloud_owner="", cloud_region_id=""):
+        self._logger.debug("unregister cloud region: %s, %s" % (cloud_owner, cloud_region_id))
+
+        vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
+        return super(RegistryV1, self).delete(request, vimid)
index 0359356..8e1ad9f 100644 (file)
@@ -34,6 +34,13 @@ urlpatterns = [
         '(?P<tenantid>[0-9a-zA-Z_-]{20,})/', include('pike.requests.urls')),
     url(r'^api/multicloud-pike/v0/(?P<vimid>[0-9a-zA-Z_-]+)/capacity_check/?$',
         capacity.CapacityCheck.as_view()),
+
+    # API upgrading
+    url(r'^api/multicloud-pike/v1/(?P<vimid>[0-9a-zA-Z_-]+)/registry$',
+        registration.RegistryV1.as_view()),
+    url(r'^api/multicloud-pike/v1/(?P<vimid>[0-9a-zA-Z_-]+)$',
+        registration.RegistryV1.as_view()),
+
     url(r'^api/multicloud-pike/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/infra_workload/?$',
         infra_workload.APIv1InfraWorkload.as_view()),
     url(r'^api/multicloud-pike/v1/(?P<cloud_owner>[0-9a-zA-Z_-]+)/(?P<cloud_region_id>[0-9a-zA-Z_-]+)/infra_workload/(?P<requri>[0-9a-zA-Z_-]*)/?$',