optimize the copy_image_to_volume method of sheepdogdriver

the current copy_image_to_volume method of sheepdogdriver can only
write the image file to local sheepdog, with this patch, it supports
write image file to remote sheepdog node.

Closes-Bug: #1509910
Change-Id: I5084ef2c048439ad8b9d6ae56ce8cccaadc26262
This commit is contained in:
zhangsong 2015-10-25 00:47:47 +08:00 committed by Ivan Kolodyazhny
parent 99dc6d3475
commit f241c49295

View File

@ -529,8 +529,13 @@ class SheepdogDriver(driver.VolumeDriver):
# see volume/drivers/manager.py:_create_volume
self.client.delete(volume.name)
# convert and store into sheepdog
image_utils.convert_image(tmp, 'sheepdog:%s' % volume['name'],
'raw')
image_utils.convert_image(
tmp,
'sheepdog:%(addr)s:%(port)d:%(name)s' % {
'addr': CONF.sheepdog_store_address,
'port': CONF.sheepdog_store_port,
'name': volume['name']},
'raw')
self.client.resize(volume.name, volume.size)
def copy_volume_to_image(self, context, volume, image_service, image_meta):