swift3 middleware doesn't allow / in object names

Bug #778089 reported by Chuck Thier
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Undecided
Chuck Thier

Bug Description

Hi all,
I'd like to use Swift as a S3 compatible interface. To do that, we have been using middletier written in Python, provided with swift. The problem I had encountered is happening, when I'm trying to upload an object with path, let's say: bucketname/a/b/c.txt
If directories 'a' and 'b' does not exist, the file will fail to upload with status message:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>InvalidURI</Code>
  <Message>Could not parse the specified URI</Message>
</Error>

On the other hand, if I upload file directly to the bucket: bucketname/c.txt everything works as expected.

I guess this is somehow related to this topic in documentation: http://docs.openstack.org/cactus/openstack-object-storage/developer/content/pseudo-hierarchical-folders-directories.html

But that bug itself puts compatibility with S3 in doubt, since S3 behaves properly in that case - forces creating directories.

Any help would be appreciated, since this is extremely important case for me.

Thanks.

P.S. I'm using S3curl for tests.

Related branches

Chuck Thier (cthier)
Changed in swift:
assignee: nobody → Chuck Thier (cthier)
status: New → Fix Committed
Revision history for this message
Lukasz Bachman (lukaszbachman) wrote :

I confirm - this has solved my issue. Everything works fine now.
Big thanks for support, great job!

Thierry Carrez (ttx)
Changed in swift:
milestone: none → 1.4.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

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