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.
Go to file
Prashanth Pai ba39ade716 Remove non SP related code
This commit only removes code that is not required when swiftonfile
will be used as Storage Policy in Swift.

This commit does NOT:
* include code changes to support SP
* fix functional tests
* update documentation related to SP

This commit removes the following:
* Gen builders script and its man page.
* Authentication guide, user guide and other docs.
* Swiftkerbauth code, unit tests, func tests and doc.
* gswauth code, unit tests, func tests and doc.
* Object expirer code modifications, unit tests and doc.
* Conf files of account, container, proxy.
* Account, container and proxy server code - server.py of each.
* Account, container and proxy unit and functional tests.
* DiskDir class and corresponding unit tests.
* Our overridden ring.py (enforces account = volume = device) and tests.
* Functional tests for authentication filters.
* modules/swift and test/deploy directories.
* Proxy base controllers unit tests.

NOTE: We may have to reintroduce some of the above functional and unit
tests after SP related code changes - during fixing functional tests.

This commit modifies:
* setup.py to reflect the above code removals.
* constraints.py to remove references to ring.py
* object server.py to remove object-expirer changes
* tox.ini to remove ksfunctest and swfunctest

Signed-off-by: Prashanth Pai <ppai@redhat.com>
2014-06-23 12:22:42 +05:30
bin Remove non SP related code 2014-06-23 12:22:42 +05:30
doc/markdown Remove non SP related code 2014-06-23 12:22:42 +05:30
etc Remove non SP related code 2014-06-23 12:22:42 +05:30
extras Deploy Apache as web front-end for gluster-swift 2013-10-23 18:54:17 -07:00
gluster Remove non SP related code 2014-06-23 12:22:42 +05:30
test Remove non SP related code 2014-06-23 12:22:42 +05:30
tools Remove non SP related code 2014-06-23 12:22:42 +05:30
.functests Revert: allow non-root user to run functests 2014-05-08 15:01:01 +05:30
.gitignore Modify unit tests and func tests 2014-05-08 12:11:46 +05:30
.gitmodules Add OpenStack Swift as a git submodule 2013-09-05 04:23:50 -07:00
.gitreview Git review to use branch master 2013-08-13 12:43:54 -07:00
.travis.yml removing blank lines 2014-04-28 19:30:38 -04:00
.unittests Modify unit tests and func tests 2014-05-08 12:11:46 +05:30
glusterfs-openstack-swift.spec updating spec file to add dependency on swift icehouse 2014-05-20 16:02:09 -04:00
HISTORY Remove "ufo" directory, promoting contents to top-level 2013-05-10 07:12:08 -07:00
makerpm.sh Update RPM spec file 2013-11-14 15:14:35 -08:00
pkgconfig.py Make setup.py pep8 compliant 2013-10-15 16:26:59 -07:00
README.md adding sentence on consuming existing data 2014-05-28 16:44:00 -04:00
requirements.txt Sync with OpenStack Swift v1.13.1 2014-05-08 11:45:08 +05:30
setup.py Remove non SP related code 2014-06-23 12:22:42 +05:30
test-requirements.txt Sync with OpenStack Swift v1.13.1 2014-05-08 11:45:08 +05:30
tox.ini Remove non SP related code 2014-06-23 12:22:42 +05:30

Build Status

Swift-on-File

Swift-on-File, formerly called Gluster-Swift, is a Swift Object Server implementation that enables objects created using the Swift API to be accessed as files on a Posix filesystem.

The main difference from the default Swift Object Server is that Swift-on-File stores objects following the same path hierarchy as that object's URL. On a vanilla openstack swift the object server will store the object following the mapping given by the Ring and its final storage location and filename are unknown to the user. In the case of Sof, the object will be stored in the configured filesystem volume with the same directory structure as the object's URL.

For example, an object with URL: https://swift.example.com/v1/acc/cont/obj, would be stored in the following way:

  • Swift: /mnt/sdb1/2/node/sdb2/objects/981/f79/f566bd022b9285b05e665fd7b843bf79/1401254393.89313.data
  • SoF: /mnt/gluster-object/acc/cont/obj

Roadmap

Swift-On-File is in a transition period. The project was recently renamed from Gluster-Swift to Swift-on-File to better represent its nature of a Swift backend that supports multiple Posix Filesystems, not just GlusterFS. It is also transitioning to become a Swift Storage Policy. While Gluster-Swift had to be deployed as its own cluster, SoF can be deployed as a storage policy on an existing Swift cluster. This is a tremendous change to the project as it opens up new possibilities of how SoF can be used, such as, enabling the ability to consume and migrate existing file storage (e.g., NFS) on a swift cluster.

Our last stable release was targetting the Swift Icehouse release. This was the last release of Gluster-Swift. The next release will target Juno, with support for storage policies.

Besides the work to support Storage Policies we also plan on adding support for other Filesystems (e.g., NFS) and also for enabling the access of objects through multiple protocols.

To learn more about the history of Gluster-Swift and how Swift-On-File came to be, you can watch this presentation given at the Atlanta Openstack Summit: Breaking the Mold with Openstack Swift and GlusterFS. Presentation slides can be found here.

Supported Filesystems:

  • XFS
  • GlusterFS

Table of Contents

  1. Quick Start Guide with GlusterFS
  2. Developer Guide