summaryrefslogtreecommitdiffstats
path: root/vio/vio/swagger/views/tenant/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'vio/vio/swagger/views/tenant/views.py')
-rw-r--r--vio/vio/swagger/views/tenant/views.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/vio/vio/swagger/views/tenant/views.py b/vio/vio/swagger/views/tenant/views.py
index 7b1d432..3eff77f 100644
--- a/vio/vio/swagger/views/tenant/views.py
+++ b/vio/vio/swagger/views/tenant/views.py
@@ -19,13 +19,16 @@ from rest_framework.views import APIView
from vio.pub.msapi import extsys
from vio.pub.vim.vimapi.keystone import OperateTenant
-
+from vio.pub.exceptions import VimDriverVioException
logger = logging.getLogger(__name__)
class ListTenantsView(APIView):
def get(self, request, vimid):
- vim_info = extsys.get_vim_by_id(vimid)
+ try:
+ vim_info = extsys.get_vim_by_id(vimid)
+ except VimDriverVioException as e:
+ return Response(data={'error': str(e)}, status=e.status_code)
data = {}
data['vimId'] = vim_info['vimId']
@@ -35,9 +38,10 @@ class ListTenantsView(APIView):
data['url'] = vim_info['url']
data['project_name'] = vim_info['tenant']
+ query = dict(request.query_params)
tenant_instance = OperateTenant.OperateTenant()
try:
- projects = tenant_instance.get_projects(data)
+ projects = tenant_instance.get_projects(data, **query)
except Exception as e:
return Response(data={'error': str(e)},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)