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.
This commit performs a refactor of the
swift::storage::config to use fragments.
Updates server templates
- makes workers,user, and mount_checks configurable
- adds a default for concurrency
- makes the pipeline configurable
- remove vm_test_mode flag
Updates swift::storage::server to use fragments for
the config file.
This has been refactored to allow the end user a
greater level of flexibility over how they can
configure custom plugins for swift.
Also adds additional class params: pipeline,
mount_check, user, workers, concurrency.
Update the unit tests for swift::storage:server
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
I changed the tests so that they check individual
lines of the resulting swift proxy file as opposed to
the entire file contents.
This was done so that tests can be associated with
only the parts of the resulting file they are related
to.
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.