* Create $mnt_base_dir if dir does not exist (useful when not using
* loopback)
* use 'xfs_admin -l' to check for an existing XFS instead of using
* refreshonly
* device param now defaults to '' for compat reasons since we'll be
using '/dev/' + resource title when no device is specified
* use -f flag with mkfs.xfs so we can format RAW unpartitioned devices
* Does not break interface compatibility, tests OK
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.
Previously, concurrently was implemented per
storage server type as a global setting.
This commit reimplements concurrency to make it
per process (replicator/updater/reaper)
This is intended to allow the end user more
flexibility over how they implement their
swift cluster.
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.
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.