swift3 middleware doesn't allow / in object names

Bug #778089 reported by Chuck Thier on 2011-05-05
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
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) on 2011-05-05
Changed in swift:
assignee: nobody → Chuck Thier (cthier)
status: New → Fix Committed
Lukasz Bachman (lukaszbachman) wrote :

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

Thierry Carrez (ttx) on 2011-05-31
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  Edit
Everyone can see this information.

Other bug subscribers

Related questions