Chetan Risbud 1a6b55714f PUT of a Directory failed
PUT of a directory fails with gluster-swift when there exists
object of a same name. This is because the objects and directories are placed on
the glusterfs. And hence the filesystem semantics are applicable there.

Exceptions raised in such situation are needed to be handled and reported
correctly back to proxy-server with HTTPConflict as a error code. Although
swift still continues to choose 503 as the best respose in such cases. No
tracebacks reported.

Fix covers the case when there exists a directory and object of the same
name is PUT.

Code changes fixes both the failure cases mentioned in the bug.

Examples of failing PUT requests:
1) curl -v  -X PUT http://127.0.0.1:8080/v1/AUTH_test/c1/dir1/obj2/anotherobject
-d'asdasdsadA'
-- obj2 was already an object.

2)curl -v -H 'Content-Length: 0' -H 'Content-Type: application/directory' -X PUT
http://127.0.0.1:8080/v1/AUTH_test/c1/obj1
-- obj1 was already and object

Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1071021

Change-Id: Id3042d920e3f99e740d4042ef5907ac8c59e04db
Signed-off-by: Chetan Risbud <crisbud@redhat.com>
Reviewed-on: http://review.gluster.org/7181
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Tested-by: Prashanth Pai <ppai@redhat.com>
2014-03-12 06:00:20 -07:00
2014-02-25 19:39:51 -08:00
2014-01-14 12:06:20 -08:00
2014-03-12 06:00:20 -07:00
2014-03-12 06:00:20 -07:00
2013-08-13 12:43:54 -07:00
2013-11-14 15:14:35 -08:00
2013-10-15 16:26:59 -07:00
2013-09-13 06:21:29 -07:00
2014-01-21 10:09:44 -08:00
2014-02-16 22:08:06 -08:00

Gluster For Swift

Integrating GlusterFS as the back-end to OpenStack Swift implementation. This is a component of the Unified File and Object (UFO) story for GlusterFS, which allows files and directories created via gluster-native/nfs/samba mount(s) to be accessed as objects via the Swift API.

Table of Contents

  1. Quick Start Guide
  2. Developer Guide
Description
Swift Object Server implementation that enables objects created using the Swift API to be accessed as files on a High Performance Storage System (HPSS) mount point.
Readme 1.2 MiB
Languages
Python 99%
Shell 0.7%
RPM Spec 0.3%