You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
glance_store/glance_store
Alfredo Moralejo 053614be14 Do not include ETag when puting manifest in chunked uploads
While testing glance with Ceph Rados Gateway using latest Ceph release
(Nautilus), i've found that glance fails to upload the manifest using
dynamic large objects mode because of the value used in ETag request.

This issue has been reported to Ceph as it seems related to some recent
change in radosgw code [1].

However, checking at the upload workflow used by glance and comparing
to Swift documentation [2], I wonder if adding the etag is actually
providing any value. In the Swift the ETag header is used to validate
integrity when uploading chunks, not the manifest while glance is doing
exactly the oposite, not sending the etag in the chunks (I guess to
avoid checksuming big images, which makes sense to me) and sending it
when puting the manifest.

This patch is removing the etag header when sending the PUT request for
the manifest in chunked uploads.

[1] https://tracker.ceph.com/issues/39160
[2] https://docs.openstack.org/swift/latest/api/large_objects.html#dynamic-large-objects

Closes-bug: #1824533
Change-Id: I0b563dfcdc30026669fb089c82db8c3df7edc808
(cherry picked from commit ed356fc6b4)
4 years ago
..
_drivers Do not include ETag when puting manifest in chunked uploads 4 years ago
common Use oslo_utils.encodeutils.exception_to_unicode() 7 years ago
locale Imported Translations from Zanata 5 years ago
tests Do not include ETag when puting manifest in chunked uploads 4 years ago
__init__.py Enable multi store support for glance 5 years ago
backend.py Update deprecation notices 5 years ago
capabilities.py Cleanup i18n marker functions to match Oslo usage 7 years ago
driver.py Multihash Implementation for Glance 5 years ago
exceptions.py Multihash Implementation for Glance 5 years ago
i18n.py Update oslo libraries 8 years ago
location.py Merge "Address multi store nits" 5 years ago
multi_backend.py Provision to add new config options in sample config file 5 years ago