diff --git a/_modules/glancev2/common.py b/_modules/glancev2/common.py
index 1e686f1..79d93a0 100644
--- a/_modules/glancev2/common.py
+++ b/_modules/glancev2/common.py
@@ -44,12 +44,15 @@
 
 def get_raw_client(cloud_name):
     service_type = 'image'
-    adapter = os_client_config.make_rest_client(service_type,
-                                                cloud=cloud_name)
+    config = os_client_config.OpenStackConfig()
+    cloud = config.get_one_cloud(cloud_name)
+    adapter = cloud.get_session_client(service_type)
+    adapter.version = '2'
     try:
         access_info = adapter.session.auth.get_access(adapter.session)
         endpoints = access_info.service_catalog.get_endpoints()
-    except (AttributeError, ValueError):
+    except (AttributeError, ValueError) as exc:
+        log.exception('%s' % exc)
         e = NoAuthPluginConfigured()
         log.exception('%s' % e)
         raise e
diff --git a/_modules/glancev2/image.py b/_modules/glancev2/image.py
index b8eedbe..660d71d 100644
--- a/_modules/glancev2/image.py
+++ b/_modules/glancev2/image.py
@@ -11,27 +11,27 @@
 
 @send('get')
 def image_list(**kwargs):
-    url = '/v2/images?{}'.format(urlencode(kwargs))
+    url = '/images?{}'.format(urlencode(kwargs))
     return url, {}
 
 
 @send('post')
 def image_create(**kwargs):
-    url = '/v2/images'
+    url = '/images'
     return url, {'json': kwargs}
 
 
 @get_by_name_or_uuid(image_list, RESOURCE_LIST_KEY)
 @send('get')
 def image_get_details(image_id, **kwargs):
-    url = '/v2/images/{}'.format(image_id)
+    url = '/images/{}'.format(image_id)
     return url, {}
 
 
 @get_by_name_or_uuid(image_list, RESOURCE_LIST_KEY)
 @send('patch')
 def image_update(image_id, properties, **kwargs):
-    url = '/v2/images/{}'.format(image_id)
+    url = '/images/{}'.format(image_id)
     headers = {
         'Content-Type': 'application/openstack-images-v2.1-json-patch',
     }
@@ -41,21 +41,21 @@
 @get_by_name_or_uuid(image_list, RESOURCE_LIST_KEY)
 @send('delete')
 def image_delete(image_id, **kwargs):
-    url = '/v2/images/{}'.format(image_id)
+    url = '/images/{}'.format(image_id)
     return url, {}
 
 
 @get_by_name_or_uuid(image_list, RESOURCE_LIST_KEY)
 @send('post')
 def image_deactivate(image_id, **kwargs):
-    url = '/v2/images/{}/actions/deactivate'.format(image_id)
+    url = '/images/{}/actions/deactivate'.format(image_id)
     return url, {}
 
 
 @get_by_name_or_uuid(image_list, RESOURCE_LIST_KEY)
 @send('post')
 def image_reactivate(image_id, **kwargs):
-    url = '/v2/images/{}/actions/reactivate'.format(image_id)
+    url = '/images/{}/actions/reactivate'.format(image_id)
     return url, {}
 
 
@@ -65,7 +65,7 @@
         self.hasher = hashlib.new('md5')
         self.chunksize = chunksize
 
-        resp = adapter.get('/v2/images/{}/file'.format(image_id),
+        resp = adapter.get('/images/{}/file'.format(image_id),
                            stream=True)
         if resp.status_code != 200:
             raise Exception('Invalid response code: %s' % resp.status_code)
@@ -95,7 +95,7 @@
 @get_by_name_or_uuid(image_list, RESOURCE_LIST_KEY)
 @send('put')
 def image_data_upload(image_id, file_name, **kwargs):
-    url = '/v2/images/{}/file'.format(image_id)
+    url = '/images/{}/file'.format(image_id)
     headers = {'Content-Type': 'application/octet-stream '}
     with open(file_name, 'rb') as f:
         data = f.readlines()
diff --git a/_modules/glancev2/task.py b/_modules/glancev2/task.py
index 11fe499..41db829 100644
--- a/_modules/glancev2/task.py
+++ b/_modules/glancev2/task.py
@@ -7,7 +7,7 @@
 
 @send('post')
 def task_create(task_type, task_input, **kwargs):
-    url = '/v2/tasks'
+    url = '/tasks'
     json = {
         'type': task_type,
         'input': task_input
@@ -17,11 +17,11 @@
 
 @send('get')
 def task_list(**kwargs):
-    url = '/v2/tasks?{}'.format(urlencode(kwargs))
+    url = '/tasks?{}'.format(urlencode(kwargs))
     return url, {}
 
 
 @send('get')
 def task_show(task_id, **kwargs):
-    url = '/v2/tasks/{}'.format(task_id)
+    url = '/tasks/{}'.format(task_id)
     return url, {}
