diff options
Diffstat (limited to 'newton/newton/extensions/views/extensions.py')
-rw-r--r-- | newton/newton/extensions/views/extensions.py | 58 |
1 files changed, 4 insertions, 54 deletions
diff --git a/newton/newton/extensions/views/extensions.py b/newton/newton/extensions/views/extensions.py index 321b86fc..851bc7ea 100644 --- a/newton/newton/extensions/views/extensions.py +++ b/newton/newton/extensions/views/extensions.py @@ -13,66 +13,16 @@ # limitations under the License. import logging -import json -import traceback -from django.core.cache import cache - -from keystoneauth1 import access -from keystoneauth1.access import service_catalog -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.config import config -from newton.pub.exceptions import VimDriverNewtonException -from newton.requests.views.util import VimDriverUtils -from newton.pub.msapi import extsys +from django.conf import settings +from newton_base.extensions import extensions as newton_extensions logger = logging.getLogger(__name__) DEBUG=True - -class Extensions(APIView): +class Extensions(newton_extensions.Extensions): def __init__(self): - self.proxy_prefix = config.MULTICLOUD_PREFIX self._logger = logger - - def get(self, request, vimid=""): - logger.debug("Extensions--get::data> %s" % request.data) - logger.debug("Extensions--get::vimid> %s" - % vimid) - try: - cloud_owner, cloud_region_id = extsys.decode_vim_id(vimid) - registered_extensions = \ - [ - { - "alias": "epa-caps", - "description": "Multiple network support", - "name": "EPACapsQuery", - "url": self.proxy_prefix + "/%s/extensions/epa-caps" \ - % (vimid), - "spec": "" - } - ] - - content = { - "cloud-owner":cloud_owner, - "cloud-region-id":cloud_region_id, - "vimid":vimid, - "extensions": registered_extensions - } - return Response(data=content, status=status.HTTP_200_OK) - - except VimDriverNewtonException as e: - 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) - except Exception as e: - logger.error(traceback.format_exc()) - return Response(data={'error': str(e)}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR) + self.proxy_prefix = settings.MULTICLOUD_PREFIX |