Cinder to Glance Image upload with s3 backend does not upload as multipart

Bug #2043740 reported by Antony Messerli
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
New
Undecided
Unassigned
glance_store
New
Undecided
Unassigned

Bug Description

When doing an image upload of a volume from cinder-volume to glance with an s3 backend, the image is always sent as a single part image and does not send the image as a multipart image. We are doing a volume upload as a RAW image from a Dell PowerMax, converting it to QCOW2 and then uploading it to Glance. We have tried doing this with Packer/OpenStack as well as uploading a volume from Horizon using the Upload Image to Glance functionality in Horizon.

For larger disk space transfers this can result in needing a lot of memory on the Glance Node.

If the receiving Glance node does not have enough memory, this results in the Glance worker falling over with an Out of Memory error and resulting the in cinder-volume service getting either a Connection Reset by Peer response if talking to the Glance Server directory or a Broken Pipe if talking to the haproxy url for Glance.

In looking at the Glance Store for s3, it appears if it knows the image size and its greater than what s3_store_large_object_size is set for, it will switch to multipart mode. (https://github.com/openstack/glance_store/blob/master/glance_store/_drivers/s3.py#L632)

Is the image size something that can be sent over when creating the glance upload or is there a way to ensure a multipart upload is forced on the Glance side?

We are running Kolla-Ansible 2023.1 for our deployment. I've been able to get around this currently by increasing the size of our Glance nodes but would still like to have the ability to do a multi-part upload as it would be more efficient than throwing RAM at our Glance nodes.

If I do an image upload to Glance directly with openstack CLI, I can see multipart happening on the Glance logs to the s3 backend, it just doesn't appear to do this via cinder-volume.

description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.