Support multipart upload when image_size == 0
When doing an image upload of a volume from cinder-volume to glance with an s3 backend, image_size in this context is zero. As a result the check that image_size is larger than s3_store_large_object_size is always negative and glance_store never uses multipart upload. As a workaround, allow setting s3_store_large_object_size to 0, which forces glance_store to use multipart upload. Related-Bug: #2043740 Change-Id: I436d56d0489b081822ed55108e10d43cc38512bb
This commit is contained in:
@@ -180,6 +180,7 @@ Related Options:
|
|||||||
"""),
|
"""),
|
||||||
cfg.IntOpt('s3_store_large_object_size',
|
cfg.IntOpt('s3_store_large_object_size',
|
||||||
default=DEFAULT_LARGE_OBJECT_SIZE,
|
default=DEFAULT_LARGE_OBJECT_SIZE,
|
||||||
|
min=0,
|
||||||
help="""
|
help="""
|
||||||
What size, in MB, should S3 start chunking image files and do a multipart
|
What size, in MB, should S3 start chunking image files and do a multipart
|
||||||
upload in S3.
|
upload in S3.
|
||||||
@@ -190,7 +191,7 @@ upload the image to S3 as is or to split it (Multipart Upload).
|
|||||||
Note: You can only split up to 10,000 images.
|
Note: You can only split up to 10,000 images.
|
||||||
|
|
||||||
Possible values:
|
Possible values:
|
||||||
* Any positive integer value
|
* Any positive integer value or zero
|
||||||
|
|
||||||
Related Options:
|
Related Options:
|
||||||
* s3_store_large_object_chunk_size
|
* s3_store_large_object_chunk_size
|
||||||
@@ -473,6 +474,8 @@ class Store(glance_store.driver.Store):
|
|||||||
if not result:
|
if not result:
|
||||||
if param == 's3_store_create_bucket_on_put':
|
if param == 's3_store_create_bucket_on_put':
|
||||||
return result
|
return result
|
||||||
|
if param == 's3_store_large_object_size':
|
||||||
|
return result
|
||||||
if param == 's3_store_region_name':
|
if param == 's3_store_region_name':
|
||||||
return result
|
return result
|
||||||
if param == 's3_store_cacert':
|
if param == 's3_store_cacert':
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Support setting ``s3_store_large_object_size`` to ``0`` to force multipart
|
||||||
|
upload when ``image_size`` is unknown.
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
`Bug #2043740 <https://bugs.launchpad.net/glance-store/+bug/2043740>`_:
|
||||||
|
``s3_store_large_object_size`` can be set to ``0`` to force multipart
|
||||||
|
upload when creating an image in the S3 backend from a Cinder volume.
|
||||||
Reference in New Issue
Block a user