This change also adds an autorequire in the swift_config
type to ensure the /etc/swift/swift.conf exists.
Change-Id: Ic591a3ceb040c4599339ed7f750a5273d2052ac1
Implements: blueprint puppet-swift-ini-settings
Currently, my swift installation fails with the following
error message:
[Errno 13] Permission denied: '/root/keystone-signing
and the proxy server can never service requests.
This is b/c by default the client side directory for
pki-signing seems to use $HOME. This commits sets the
directory to be /var/cache/swift/ and resolves my
swift-proxy issues.
Change-Id: Ice904a9d53432ba1a1ae9516cd0ee6204ade63bb
This patch add configurable log for swift proxy-server service.
And add related spec test.
Partially implements blueprint puppet-swift-log-support.
Change-Id: I385093b3e63f8210d83ec125e6d2578b06b631d4
This patch add configurable log for swift account/container/object
server service.
Partially implements blueprint puppet-swift-log-support.
Change-Id: Ib3db483dfbad97f23ab7ba2068632856b5e00f11
This patch adds a conf file swift-bench.conf
for swift performance bench, and add a spec
test for it.
Fixed bug 1188968
Change-Id: Iafb67f116a9403bba96328be7c9c09d21a65a74c
Unset default signing dir to allow the keystoneclient to set its own.
The specified /etc/swift location is not ideal and breaks on recent
keystoneclients
Change-Id: I16aadb77ee85e84645fe6745760a2c6edee49c2b
auth_admin_prefix allows the prepend of a prefix to the URL used for
admin tasks. See: https://review.openstack.org/#/c/7156/ for
implementation in Keystone.
auth_uri allows to specify the public authentication url (Keystone's
public endpoint) if it can't be guessed from $auth_host + $auth_protocol
Implements blueprint serve-keystone-from-wsgi
Change-Id: Ic66727f78406d70b5ab5bc07fcc074477df2303c
Update keystone.conf.erb to use egg:swift#keystoneauth.
This resolves issues in trying to configure keystone with the
latest Swift releases.
Change-Id: Idf160eb143150bed9a9c7081a6900c6169887be8
one of the config settings previously
contained a leading set before a config
setting.
This does not convert to the ini file format AFAIK, so
it has been changed.
* `python-swiftclient` is now installed by default.
* Fixed swift3.
* Fixed s3token.
* Recreated authtoken - it used to be configured in the Keystone module.
* Created proxy-logging filter
I believe the following patch fixes compat with ruby 1.9 while
preserving behaviour. The following test was broken:
1) swift::proxy::cache with overridden memcache server
Failure/Error: it { should contain_file(fragment_file).with_content(/memcache_servers = 10\.0\.0\.1:1/) }
Puppet::Error:
Failed to parse template swift/proxy/cache.conf.erb:
Filepath: /tmp/puppetlabs-swift/spec/fixtures/modules/swift/templates/proxy/cache.conf.erb
Line: 3
Detail: undefined method `to_a' for "10.0.0.1:1":String
at /tmp/puppetlabs-swift/spec/fixtures/modules/swift/manifests/proxy/cache.pp:32 on node blueleaf
# ./spec/classes/swift_proxy_cache_spec.rb:39:in `block (3 levels) in <top (required)>'
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.
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
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)
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.
Changed the name of the defined resource type:
swift::storage::device to be swift::storage::server.
This change was made in order to better align with
the swift terminology since this define was
configuring a swift component server which has no
direct association with a device.
This commit also makes the swift::storage::server
the only place where the swift server template is
used. This allowed me to assume that the variables
device and bind_port will always be available.
Also updates declarations of the renamed type to
use the correct type name.
Removes the direct server file config from
swift::storage, replacing it instead with
declarations of swift::storage::server.
The previous calls to sope.lookupvar were very
dependeny on the version of puppet used.
These calls have been replaced with the more
reliable and concise has_variable? method.