Files
swift/go
Michael Barton ca9591de34 go: conf.d support + some refactoring
Refactor how configs are loaded and passed to daemons.

Add conf.d support. So you can have an /etc/swift/object-server.conf.d
or /etc/swift/object-server/1.conf.d, and any .conf files under it
will be loaded as one config.

conf.d files are combined in filename lexigraphical order, with any
sections in later files replace existing section entries.

Change-Id: I78d7e5449cd0b62df9dfdb25616a2d4c91159f8c
2016-05-03 15:58:47 +00:00
..
2016-04-07 02:03:35 +00:00
2016-05-03 15:58:47 +00:00
2016-02-09 21:03:27 +00:00
2015-08-25 14:52:07 -05:00
2015-05-04 20:17:12 +00:00

Hummingbird

Hummingbird is a golang implementation of some parts of Openstack Swift. The idea is to keep the same protocols and on-disk layout, but improve performance dramatically.

Completeness

The object server, replicator and auditor are considered feature complete and testing is ongoing. The proxy server is currently only complete enough to run simple GET, PUT, and DELETE benchmarks.

Installation

First, you should have a working SAIO. (With no storage policies)

You will also need to configure your syslog to listen for UDP packets:

For a SAIO, change these lines in /etc/rsyslog.conf:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

and then sudo service rsyslog restart.

Next, you must have a working Go development environment.

Better build instructions coming... For now, do something like on your SAIO:

mkdir -p $GOPATH/src/github.com/openstack
ln -s ~/swift $GOPATH/src/github.com/openstack/swift
cd $GOPATH/src/github.com/openstack/swift/go
make get test all

Running

The "hummingbird" executable handles starting services, reading and writing pid files, etc., similar to swift-init.

hummingbird [start/stop/restart] [object/proxy/all]

If you'd like to start it from a user other than root, you'll probably need to create /var/run/hummingbird with the correct permissions.