Uploaded image for project: 'Libcloud'
  1. Libcloud
  2. LIBCLOUD-228

Atmos driver's upload_object_via_stream is broken when the object does not already exist

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.10.1
    • Fix Version/s: 0.11.0
    • Component/s: Storage
    • Labels:
      None

      Description

      Atmos doesn't like PUT requests being sent when the object has not already been created. The Atmos driver's implementation of upload_object_via_stream was using PUT requests with Range headers unconditionally.

      The attached patch gets the driver to first check if the object exists. If not, the first chunk is sent as a POST request in order to create the object. If not, the first chunk is sent as a PUT with no Range header. Subsequent chunks are all sent as PUT requests with Range headers as before.

      This has been tested against Ninefold's Atmos service.

        Activity

        Hide
        kami Tomaz Muraus added a comment -

        Merged, thanks!

        Show
        kami Tomaz Muraus added a comment - Merged, thanks!

          People

          • Assignee:
            kami Tomaz Muraus
            Reporter:
            jeamland Benno Rice
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development