From ecdc1066a79fd065c548b32b4baf79ae4d4f148a Mon Sep 17 00:00:00 2001 From: Jerry Cai Date: Mon, 5 Jan 2015 05:32:12 +0800 Subject: [PATCH] powervc-glance fail to sync images due to glanceclient changed This is due to glanceclient update. The glanceclient.common.http.HTTPClient requires a string, but after the changes commited above, the tuple is returned and causes the parameter mismatch. Searched all related potential errors and found only this one. Will fix this on kilo release. Change-Id: I3afef5ceee57b0c1aeb57696c7f73262f3bf16f1 Closes-Bug: 1407567 --- cinder-powervc/powervc/volume/driver/powervc.py | 1 - cinder-powervc/powervc/volume/driver/service.py | 3 ++- cinder-powervc/powervc/volume/manager/manager.py | 4 ++-- common-powervc/powervc/common/client/extensions/glance.py | 7 ++++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cinder-powervc/powervc/volume/driver/powervc.py b/cinder-powervc/powervc/volume/driver/powervc.py index 05e2b3d..157020f 100644 --- a/cinder-powervc/powervc/volume/driver/powervc.py +++ b/cinder-powervc/powervc/volume/driver/powervc.py @@ -313,4 +313,3 @@ class PowerVCDriver(VolumeDriver): """Callback for volume detached.""" # wait for volume to be detached self._service.detach_volume(context, volume) - diff --git a/cinder-powervc/powervc/volume/driver/service.py b/cinder-powervc/powervc/volume/driver/service.py index b6b0a27..1d934cc 100644 --- a/cinder-powervc/powervc/volume/driver/service.py +++ b/cinder-powervc/powervc/volume/driver/service.py @@ -314,7 +314,8 @@ class PowerVCService(object): LOG.warning('Fail to get pvc_id %s' % volume_id) raise exceptions.BadRequest - LOG.debug('wait until PVC volume %s status to available', pvc_volume_id) + LOG.debug('wait until PVC volume %s status to available', + pvc_volume_id) FILPC = loopingcall.FixedIntervalLoopingCall timer = FILPC(self._wait_for_state_change, pvc_volume_id, diff --git a/cinder-powervc/powervc/volume/manager/manager.py b/cinder-powervc/powervc/volume/manager/manager.py index c5a261c..fb8d9d4 100644 --- a/cinder-powervc/powervc/volume/manager/manager.py +++ b/cinder-powervc/powervc/volume/manager/manager.py @@ -1012,8 +1012,8 @@ class PowerVCCinderManager(service.Service): return if self._is_intermediate_state(pvc_volume=volume): - LOG.info('pvc volume is in a intermediate status, ignore to insert:' - ' %s' % volume) + LOG.info('pvc volume is in a intermediate status, ignore to insert' + ': %s' % volume) return volume_info = volume volume_type = volume_info.get('volume_type') diff --git a/common-powervc/powervc/common/client/extensions/glance.py b/common-powervc/powervc/common/client/extensions/glance.py index 3e3725a..4cc3cf3 100644 --- a/common-powervc/powervc/common/client/extensions/glance.py +++ b/common-powervc/powervc/common/client/extensions/glance.py @@ -17,13 +17,14 @@ class Extended_V2_Client(object): :param dict client_info : The client info dict to init a glance v2 client """ def __init__(self, client_info): - endpoint = client_info['endpoint'] + endpoint = utils.strip_version(client_info['endpoint']) kwargs = {'cacert': client_info['cacert'], 'insecure': client_info['insecure'], 'token': client_info['token']} - self.http_client = http.HTTPClient(utils.strip_version(endpoint), - **kwargs) + if isinstance(endpoint, tuple): + endpoint = endpoint[0] + self.http_client = http.HTTPClient(endpoint, **kwargs) self.schemas = schemas.Controller(self.http_client) self.images = images.Controller(self.http_client, self.schemas) self.image_tags = image_tags.Controller(self.http_client, self.schemas)