diff --git a/glance_store/_drivers/s3.py b/glance_store/_drivers/s3.py index 95d4c84b..49a17eb0 100644 --- a/glance_store/_drivers/s3.py +++ b/glance_store/_drivers/s3.py @@ -180,6 +180,7 @@ Related Options: """), cfg.IntOpt('s3_store_large_object_size', default=DEFAULT_LARGE_OBJECT_SIZE, + min=0, help=""" What size, in MB, should S3 start chunking image files and do a multipart 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. Possible values: - * Any positive integer value + * Any positive integer value or zero Related Options: * s3_store_large_object_chunk_size @@ -473,6 +474,8 @@ class Store(glance_store.driver.Store): if not result: if param == 's3_store_create_bucket_on_put': return result + if param == 's3_store_large_object_size': + return result if param == 's3_store_region_name': return result if param == 's3_store_cacert': diff --git a/releasenotes/notes/s3-store-large-object-size-zero-a24229ae6955b799.yaml b/releasenotes/notes/s3-store-large-object-size-zero-a24229ae6955b799.yaml new file mode 100644 index 00000000..b5474add --- /dev/null +++ b/releasenotes/notes/s3-store-large-object-size-zero-a24229ae6955b799.yaml @@ -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 `_: + ``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.