Skip to content

Commit

Permalink
Merge branch 'master' of ../unibz-bobo
Browse files Browse the repository at this point in the history
  • Loading branch information
j54n1n committed May 22, 2015
2 parents 5c2bc38 + f157ee3 commit 004c084
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Arch Linux Build System Files
*.pkg.tar.xz
*.tar.gz
src/
pkg/
39 changes: 39 additions & 0 deletions PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Maintainer: Julian Sanin <[email protected]>
# Contributor: Daniel Morandini <[email protected]>

pkgname=swift
pkgver=2.3.0
pkgrel=2
arch=('armv6h' 'armv7h')
url=https://github.com/openstack/swift
license=('Apache')
depends=('python2-pip')
source=("${url}/archive/${pkgver}.tar.gz")
md5sums=('SKIP')

prepare() {
find "${pkgname}-${pkgver}" -type f -exec \
sed -ri 's:^#!/usr/bin/(env )?python$:&2:' '{}' \;
}

build() {
cd "${pkgname}-${pkgver}/"
python2 setup.py build
}

package() {
cd "${pkgname}-${pkgver}/"
python2 setup.py install \
--root="${pkgdir}" \
--prefix=/usr \
--optimize=1 \
--skip-build
python2 -m pip install -r requirements.txt \
--upgrade \
--root="${pkgdir}" \
--install-option='--prefix=/usr' \
--install-option='--optimize=1'
install -d "${pkgdir}/etc/"
cp -r etc/ "${pkgdir}/etc/${pkgname}/"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
86 changes: 86 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Swift

A distributed object storage system designed to scale from a single machine
to thousands of servers. Swift is optimized for multi-tenancy and high
concurrency. Swift is ideal for backups, web and mobile content, and any other
unstructured data that can grow without bound.

Swift provides a simple, REST-based API fully documented at
http://docs.openstack.org/.

Swift was originally developed as the basis for Rackspace's Cloud Files and
was open-sourced in 2010 as part of the OpenStack project. It has since grown
to include contributions from many companies and has spawned a thriving
ecosystem of 3rd party tools. Swift's contributors are listed in the AUTHORS
file.

## Docs

To build documentation install sphinx (`pip install sphinx`), run
`python setup.py build_sphinx`, and then browse to /doc/build/html/index.html.
These docs are auto-generated after every commit and available online at
http://docs.openstack.org/developer/swift/.

## For Developers

The best place to get started is the ["SAIO - Swift All In One"](http://docs.openstack.org/developer/swift/development_saio.html).
This document will walk you through setting up a development cluster of Swift
in a VM. The SAIO environment is ideal for running small-scale tests against
swift and trying out new features and bug fixes.

You can run unit tests with `.unittests` and functional tests with
`.functests`.

If you would like to start contributing, check out these [notes](CONTRIBUTING.md)
to help you get started.

### Code Organization

* bin/: Executable scripts that are the processes run by the deployer
* doc/: Documentation
* etc/: Sample config files
* swift/: Core code
* account/: account server
* common/: code shared by different modules
* middleware/: "standard", officially-supported middleware
* ring/: code implementing Swift's ring
* container/: container server
* obj/: object server
* proxy/: proxy server
* test/: Unit and functional tests

### Data Flow

Swift is a WSGI application and uses eventlet's WSGI server. After the
processes are running, the entry point for new requests is the `Application`
class in `swift/proxy/server.py`. From there, a controller is chosen, and the
request is processed. The proxy may choose to forward the request to a back-
end server. For example, the entry point for requests to the object server is
the `ObjectController` class in `swift/obj/server.py`.


## For Deployers

Deployer docs are also available at
http://docs.openstack.org/developer/swift/. A good starting point is at
http://docs.openstack.org/developer/swift/deployment_guide.html

You can run functional tests against a swift cluster with `.functests`. These
functional tests require `/etc/swift/test.conf` to run. A sample config file
can be found in this source tree in `test/sample.conf`.

## For Client Apps

For client applications, official Python language bindings are provided at
http://github.com/openstack/python-swiftclient.

Complete API documentation at
http://docs.openstack.org/api/openstack-object-storage/1.0/content/

----

For more information come hang out in #openstack-swift on freenode.

Thanks,

The Swift Development Team

0 comments on commit 004c084

Please sign in to comment.