diff --git a/openstackclient/api/image_v1.py b/openstackclient/api/image_v1.py index c363ce496d..534c775069 100644 --- a/openstackclient/api/image_v1.py +++ b/openstackclient/api/image_v1.py @@ -19,11 +19,18 @@ from openstackclient.api import api class APIv1(api.BaseAPI): """Image v1 API""" + _endpoint_suffix = 'v1' + def __init__(self, endpoint=None, **kwargs): super(APIv1, self).__init__(endpoint=endpoint, **kwargs) + self.endpoint = self.endpoint.rstrip('/') + self._munge_url() + + def _munge_url(self): # Hack this until discovery is up - self.endpoint = '/'.join([self.endpoint.rstrip('/'), 'v1']) + if self._endpoint_suffix not in self.endpoint.split('/')[-1]: + self.endpoint = '/'.join([self.endpoint, self._endpoint_suffix]) def image_list( self, diff --git a/openstackclient/api/image_v2.py b/openstackclient/api/image_v2.py index 37c2ed835a..d8bb280151 100644 --- a/openstackclient/api/image_v2.py +++ b/openstackclient/api/image_v2.py @@ -19,11 +19,12 @@ from openstackclient.api import image_v1 class APIv2(image_v1.APIv1): """Image v2 API""" - def __init__(self, endpoint=None, **kwargs): - super(APIv2, self).__init__(endpoint=endpoint, **kwargs) + _endpoint_suffix = 'v2' + def _munge_url(self): # Hack this until discovery is up, and ignore parent endpoint setting - self.endpoint = '/'.join([endpoint.rstrip('/'), 'v2']) + if 'v2' not in self.endpoint.split('/')[-1]: + self.endpoint = '/'.join([self.endpoint, 'v2']) def image_list( self,