summaryrefslogtreecommitdiffstats
path: root/newton/newton/requests/views/tenants.py
diff options
context:
space:
mode:
Diffstat (limited to 'newton/newton/requests/views/tenants.py')
-rw-r--r--newton/newton/requests/views/tenants.py39
1 files changed, 20 insertions, 19 deletions
diff --git a/newton/newton/requests/views/tenants.py b/newton/newton/requests/views/tenants.py
index 901839a4..88b9454b 100644
--- a/newton/newton/requests/views/tenants.py
+++ b/newton/newton/requests/views/tenants.py
@@ -11,25 +11,27 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+
import logging
-import json
import traceback
+
from keystoneauth1.exceptions import HttpError
from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
from newton.pub.exceptions import VimDriverNewtonException
-
from newton.requests.views.util import VimDriverUtils
logger = logging.getLogger(__name__)
-DEBUG=True
class Tenants(APIView):
- service = {'service_type': 'identity',
- 'interface': 'public'}
+ service = {
+ 'service_type': 'identity',
+ 'interface': 'public'
+ }
+
keys_mapping = [
("projects", "tenants"),
]
@@ -41,12 +43,9 @@ class Tenants(APIView):
query = VimDriverUtils.get_query_part(request)
vim = VimDriverUtils.get_vim_info(vimid)
+ req_resouce = "/projects"
if '/v2' in vim["url"]:
req_resouce = "/v2.0/tenants"
- elif '/v3' in vim["url"]:
- req_resouce = "/projects"
- else:
- req_resouce = "/projects"
sess = VimDriverUtils.get_session(vim)
resp = sess.get(req_resouce, endpoint_filter=self.service)
@@ -57,28 +56,30 @@ class Tenants(APIView):
}
content.update(vim_dict)
- VimDriverUtils.replace_key_by_mapping(content,
- self.keys_mapping)
+ VimDriverUtils.replace_key_by_mapping(
+ content, self.keys_mapping)
if query:
_, tenantname = query.split('=')
if tenantname:
- tmp=content["tenants"]
+ tmp = content["tenants"]
content["tenants"] = []
# convert the key naming in hosts
for tenant in tmp:
if tenantname == tenant['name']:
content["tenants"].append(tenant)
-
return Response(data=content, status=resp.status_code)
except VimDriverNewtonException as e:
- return Response(data={'error': e.content}, status=e.status_code)
+ return Response(
+ data={'error': e.content}, status=e.status_code)
except HttpError as e:
- logger.error("HttpError: status:%s, response:%s" % (e.http_status, e.response.json()))
- return Response(data=e.response.json(), status=e.http_status)
+ logger.error("HttpError: status:%s, response:%s" % (
+ e.http_status, e.response.json()))
+ return Response(data=e.response.json(),
+ status=e.http_status)
except Exception as e:
logger.error(traceback.format_exc())
- return Response(data={'error': str(e)},
- status=status.HTTP_500_INTERNAL_SERVER_ERROR)
-
+ return Response(
+ data={'error': str(e)},
+ status=status.HTTP_500_INTERNAL_SERVER_ERROR)