Previously, the Puppet modules only supported a single device per
endpoint.
This commits allows multiple devices per endpoint by making the device
name a part of the namevar for the swift ring devices.
it also updates the relevent configs.
This commit implements additional proxy middlewares
- catch_errors - handles errors
- ratelimit - limits incoming requests
- s3token - misddleware for s3auth
- swift3 - implement swift APIs
These middlewares needed to be modeled b/c they
are configurable interfaces that needed to be
configurable via Puppet.
This commit adds the ability to specify
individual pipelines per storage server.
This allows users to specify their own custom
pipelines to determine how they implement the
middlewares for their storage instances.
This commit adds the required fact concat_basedir so that
the concat module (which is a dependency for some glance classes) will not fail.
This change is necesary b/c we have switched from the puppetlabs version to
ri's version of concat.
The swift pipeline is commonly used to plug
capabilities in.
This pipeline should be implemented in a way that
is easier to extend as people desire additional
pipelines.
This commit implements classes that can be used
to configure the following pipelines:
- proxy::cache
- proxy::healthcheck
- proxy::keystone
- proxy::swauth
It also reimplements swift::proxy to utilize those
pipelines for configuration.
I was using older versions of the Ubuntu packages
that shipped with broken upstart scripts.
I am removing these patches now that I am using packages
that work.
Also updates the spec tests to account for the changes.
This commit adds support for fedora.
It introduces a params namespace class
to hold data differences between ubuntu and fedora.
It also moves the xfs packages into their own class (swift::xfs)
This commit updates the spec tests so that they should work.
- the ssh module that they depend on had introduced a dependency on
the operatingsystem fact
- tests had not been updated to reflect using xinetd and not the service
to run the rsync daemon
- update travis-ci to include the xinetd module
It is possible that the memcache server(s) may
reside on different machines than the swift
proxy.
This commit decouples the configurations of the
two services.
Previously, all of the storage server types
(account, container, proxy) were always
configured to be installed on the same node.
It often makes sense to only have the account and
container together, and to put the object server on
a different node. (or its possible that other
configurations make sense)
This commit refactors the swift module so that
each of the types of nodes can be built
independently of each other.