Return the default tenant in case of no privilege 77/65677/1
authorBin Yang <bin.yang@windriver.com>
Tue, 11 Sep 2018 08:14:32 +0000 (08:14 +0000)
committerBin Yang <bin.yang@windriver.com>
Tue, 11 Sep 2018 08:14:32 +0000 (08:14 +0000)
Change-Id: Ic4b2e6bb787ba4075a906e70c28ef42289255345
Issue-ID: MULTICLOUD-356
Signed-off-by: Bin Yang <bin.yang@windriver.com>
share/newton_base/proxy/services.py

index 6aa1bbc..36ae984 100644 (file)
@@ -269,7 +269,28 @@ class GetTenants(Services):
             return Response(headers={'X-Subject-Token': tmp_auth_token}, data={'tenants': content['projects'],'tenants_links':[]},
                             status=resp.status_code)
         else:
-            return resp
+            viminfo = VimDriverUtils.get_vim_info(vimid)
+            session = VimDriverUtils.get_session(
+                viminfo, tenant_name=viminfo['tenant'])
+            tmp_auth_state = VimDriverUtils.get_auth_state(session)
+            tmp_auth_info = json.loads(tmp_auth_state)
+            tmp_auth_data = tmp_auth_info['body']
+            tenant = tmp_auth_data['token']['project']
+            content =  {'projects': [
+                {
+                    'is_domain': False,
+                    'description': 'tenant info provisioned by VIM onborading',
+                    'enabled': True,
+                    'domain_id': viminfo['domain'],
+                    'parent_id': 'default',
+                    'id': tenant['id'],
+                    'name': tenant['name']
+                }
+            ]}
+            return Response(headers={'X-Subject-Token': tmp_auth_token}, data={'tenants': content['projects'],'tenants_links':[]},
+                            status=status.HTTP_200_OK)
+
+            # return resp
 
     def head(self, request, vimid="", servicetype="", requri=""):
         self._logger.warn("wrong request with vimid, servicetype, requri> %s,%s,%s"