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
This commit is contained in:
Jerry Cai 2015-01-05 05:32:12 +08:00
parent 608276af70
commit ecdc1066a7
4 changed files with 8 additions and 7 deletions

View File

@ -313,4 +313,3 @@ class PowerVCDriver(VolumeDriver):
"""Callback for volume detached.""" """Callback for volume detached."""
# wait for volume to be detached # wait for volume to be detached
self._service.detach_volume(context, volume) self._service.detach_volume(context, volume)

View File

@ -314,7 +314,8 @@ class PowerVCService(object):
LOG.warning('Fail to get pvc_id %s' % volume_id) LOG.warning('Fail to get pvc_id %s' % volume_id)
raise exceptions.BadRequest 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 FILPC = loopingcall.FixedIntervalLoopingCall
timer = FILPC(self._wait_for_state_change, timer = FILPC(self._wait_for_state_change,
pvc_volume_id, pvc_volume_id,

View File

@ -1012,8 +1012,8 @@ class PowerVCCinderManager(service.Service):
return return
if self._is_intermediate_state(pvc_volume=volume): if self._is_intermediate_state(pvc_volume=volume):
LOG.info('pvc volume is in a intermediate status, ignore to insert:' LOG.info('pvc volume is in a intermediate status, ignore to insert'
' %s' % volume) ': %s' % volume)
return return
volume_info = volume volume_info = volume
volume_type = volume_info.get('volume_type') volume_type = volume_info.get('volume_type')

View File

@ -17,13 +17,14 @@ class Extended_V2_Client(object):
:param dict client_info : The client info dict to init a glance v2 client :param dict client_info : The client info dict to init a glance v2 client
""" """
def __init__(self, client_info): def __init__(self, client_info):
endpoint = client_info['endpoint'] endpoint = utils.strip_version(client_info['endpoint'])
kwargs = {'cacert': client_info['cacert'], kwargs = {'cacert': client_info['cacert'],
'insecure': client_info['insecure'], 'insecure': client_info['insecure'],
'token': client_info['token']} 'token': client_info['token']}
self.http_client = http.HTTPClient(utils.strip_version(endpoint), if isinstance(endpoint, tuple):
**kwargs) endpoint = endpoint[0]
self.http_client = http.HTTPClient(endpoint, **kwargs)
self.schemas = schemas.Controller(self.http_client) self.schemas = schemas.Controller(self.http_client)
self.images = images.Controller(self.http_client, self.schemas) self.images = images.Controller(self.http_client, self.schemas)
self.image_tags = image_tags.Controller(self.http_client, self.schemas) self.image_tags = image_tags.Controller(self.http_client, self.schemas)