Moves all spec tests over to using rspec-puppet-facts
and runs the tests for all our supported operating systems.
Change-Id: Ie2d60acac835affaf46a5276c9755640a723bca4
The reseller admin role has the ability to create and delete accounts.
Set the default as undef, so that new config is not added until
a user wants to add it.
Also clean up leftover concat items from proxy spec tests.
Change-Id: I5936fe30b1cb7197bf37748f204a054b1e49e430
Maintains full backward compatibility.
Use swift_proxy_config ini provider to mange proxy-server.conf.
Remove all erb templates. Move all template logic into proxy
middleware classes. To purge proxy.conf of settings that are
not specified set the new paramater "purge_config" to "true".
Change-Id: I0a143cf812043ea0f9a008a6e5c60ec87f9a4e9a
This option has been deprecated some time ago, and finally been removed
in Mitaka. Let's deprecate this setting in puppet-swift too; there is no
longer a reason to use it from Mitaka on. This patch makes it a noop
parameter.
See Id6bc10c3e84262c0a9e6160a76af03c0ad363e9c in Swift for reference.
Change-Id: I525f5010d56ccdd205a0f9d55db99b0f359f35c3
Co-Authored-By: Pete Zaitcev <zaitcev@redhat.com>
This patch aim to update our specs test in order to work with the
rspec-puppet release 2.0.0, in the mean time, we update rspec syntax
in order to be prepared for rspec 3.x move.
In details:
* Use shared_examples "a Puppet::Error" for puppet::error tests
* Convert 'should' keyword to 'is_expected.to' (prepare rspec 3.x)
* Fix spec tests for rspec-puppet 2.0.0
* Upgrade and pin rspec-puppet from 1.0.1 to 2.0.0
* Clean Gemfile (remove over-specificication of runtime deps of puppetlabs_spec_helper)
* Remove un-used puppet-lint (name_containing_dash config)
Change-Id: I5488507176d4665895eef65ddb4b6f0fb4eda3e7
Card: https://trello.com/c/eHXc1Ryd/4-investigate-the-necessary-change-to-be-rspec-puppet-2-0-0-compliant
Including only ssh::server::install class in init.pp give too small scope
and cause warnings about inability to look up ssh::server::ensure.
Closes-Bug: 1355873
Change-Id: I443c9f006b47c609e4a05da38b4a2124acbf886e
When using keystone, it's possible to modify the behaviour to
use a different prefix instead of the default AUTH_.
This patch allows you to be able to set that option when
declaring your class definition.
Change-Id: I11ff23d118e0f3d1792b43e1dc7a2c82c6826427
- cache=swift.cache need to be in auth_token configuration not in
keystoneauth.
- Make auth_token using the same facility for logging than main swift.
Closes-Bug: #1254487
Change-Id: If5a09da4d18f247dc42b99e6f666bc2867d06dcb
This fix broke everything. Lets revert it.
This reverts commit 23cc3616cea78b8431181af748a1827add18974f.
Change-Id: I9ce82c2e8f65606fbcedb4e2a4b37bc81edc5656
concat::setup has been made a private class and can no longer be
included from modules outside concat itself.
concat::setup is already included by the concat define. Removing
its inclusion from puppet-swift classes shouldn't result in breakage
or loss of functionality.
Change-Id: I7566e09bd4e93aec719a495279cf92d8a898057e
Closes-bug: #1245936
I believe this requirement was added to obtain support auth_token
middleware (keystone auth support). This is now provided via
keystoneclient.
Since this requirement no longer works we should drop it since
it is heavyweight to install keystone source code on all the
swift proxies.
Most packages automatically require keystoneclient as well so
we can probably ignore automatically adding this dep in here. I'm open
to doing that if we thing it worthwhile... but we'll first need to
make a keystone::client module to support it.
Change-Id: I2a85ea964d2b9e1a93c3ec0ba8de31b188c140ea
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
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.
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.