Comment 1 for bug 1824533

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to glance_store (master)

Reviewed: https://review.openstack.org/651337
Committed: https://git.openstack.org/cgit/openstack/glance_store/commit/?id=ed356fc6b46e133899e1bf1c54df239536ea78b9
Submitter: Zuul
Branch: master

commit ed356fc6b46e133899e1bf1c54df239536ea78b9
Author: Alfredo Moralejo <email address hidden>
Date: Tue Apr 9 19:27:29 2019 +0200

    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