24 Commits

Author SHA1 Message Date
Adam Vinsh
c9809f8c92 Added rsyslog logging support to object-server
Also change both proxy-server and object-server
.conf templates to test if log_udp_server and
log_udp_port are nil, instead of an empty string.
Testing for an empty string would have retruned
true if set to 'undef' - for futer parser compat.

Change-Id: Idac805f628dbec70a4adb6a1c021d85a743fdb72
2015-05-03 21:22:12 -06:00
Richard Raseley
00d10f1c3e Removal of SSH Components
This change removes all SSH-related components, their configuration
options, and tests.

SSH is such a low-level service (from the perspective of any operator
deploying a cloud), that it is reasonable to assume that (or provide
direction that) SSH must be installed and configured prior to usage of
the puppet-swift module.

Without this change, there is a significant liklihood of confusion
occurring in the likely case of SSH being managed elsewhere.

Change-Id: I0f695788b2784669a3fb285e4bedf0159c4cb89a
Closes-Bug: 1447259
2015-04-24 17:23:53 +02:00
Sebastien Badia
f4cfe8e8e4 spec: updates for rspec-puppet 2.x and rspec 3.x
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
2015-03-24 15:22:16 +01:00
David Moreau Simard
2caba862a8 Provide a mean to change the default rsync chmod
puppet-rsync provides a default chmod of 0644.
puppet-swift, until this commit, did not provide a way
to change that default chmod.
According to the experience in bug #1433390, it
seemed possible for folders to be created in 0644, thus
denying access to the folders unless you were root.

Backwards compatibility is maintained through the same
defaults.. It looks like the default is broken in
the context of Swift (unless it runs as root?), however.
We should consider putting 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
which translates to 755 for folders and 644 for files.

Change-Id: I7fcef6e4cdf478e808de2895168165989ff098e4
Closes-bug: #1433390
2015-03-17 23:51:01 -04:00
Michal Skalski
e6a225d79b Enlarging the scope of ssh module
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
2014-12-03 11:11:18 +01:00
Aleksandr Didenko
a2cae16d31 Allow to customize log_name for services
This patch allows us to customize log_name for:
- proxy-server
- container-server
- object-server
- account-server

Which may be usefull for log collecting/parsing. Defaults remain
as they were before the patch.

Change-Id: I173652ec5bbe8d4382e10db4510d91aebceacab5
2014-10-14 21:14:37 +03:00
Sofer Athlan-Guyot
3566f9fa65 Fix filter name for puppetdb
When creating the filter class name the last part is not capitalized.
So Swift::Storage::Filter::Healthcheck[bla] is named
Swift::Storage::Filter::healthcheck[bla].  Puppet don't detect the
syntax error as the resource is "created" within a string.  But
puppetdb's parser do not let this work.

This fix it and adjust the tests.

Change-Id: If11c3ad0e98d14b9387b3daa4afeb118387100f8
Closes-Bug: #1252998
2013-11-20 03:37:58 -05:00
Jenkins
503d3e41c0 Merge "Added the allow_versions flag to enable/disable object versioning in swift object container" 2013-07-22 15:59:07 +00:00
Francesco Vollero
4d96d896ca Added the allow_versions flag to enable/disable object versioning in swift object container
Change-Id: Id78be1a8c3dccd550c92204c4aaa1cf32edcbf61
2013-07-19 16:40:13 +02:00
newptone
6a0e505ee9 Add configurable log for storage server
This patch add configurable log for swift account/container/object
server service.
Partially implements blueprint puppet-swift-log-support.

Change-Id: Ib3db483dfbad97f23ab7ba2068632856b5e00f11
2013-07-18 02:33:07 +00:00
Dan Bode
0602fb5dfe fix failing tests
this fixes some tests that are failing b/c of some puppet 3.x changes
in the way that deps of containers propogate to the contained resources.
2013-03-21 23:15:10 -07:00
Sergio Rubio
9f176a2df9 ruby 1.9 compat fix for spec/defines/swift_storage_server_spec.rb
Apparently the way 1.9 does string interpolation breaks the regexp:

ruby 1.8:

    [10008][rubiojr.blueleaf] irb
    irb(main):001:0> "#{['foo']}"
    => "foo"
    irb(main):002:0>

ruby 1.9:

    [10007][rubiojr.blueleaf] irb
    1.9.3p194 :001 > "#{['foo']}"
     => "[\"foo\"]"
    1.9.3p194 :002 >
2012-09-24 20:43:07 +02:00
Branan Purvine-Riley
eef6b12f44 Replace expect..should with expect..to 2012-07-12 15:24:03 -07:00
Branan Purvine-Riley
12b8159941 Revert "Allow multiple instances of swift::storage::server on one host"
This reverts commit 02efd7afe06f029edee3bfcc6395857e1459b3ec.
2012-07-06 14:43:52 -07:00
Branan Purvine-Riley
02efd7afe0 Allow multiple instances of swift::storage::server on one host
Adding the server instance's name to the rsync type avoids a duplicate resource
error.
2012-06-14 11:57:58 -07:00
François Charlier
18365a7c43 Reimplement concurrency to be per process
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.
2012-06-04 13:47:43 -07:00
François Charlier
01ecb029cd Implement individual server pipelines
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.
2012-06-04 13:47:31 -07:00
François Charlier
b394c6df19 Fix the rsync modules names
The rsync module name must be only ```$type``` as written in the
documentation [1].

The names with the port added exists but is intended to be used only in
SAIO mode [2] and is only supported if the ```vm_test_mode``` option is
set in ```swift.conf```.

The effect of these shares not being named correctly is seen in the
```swift-{object,account,container}-replicator``` daemons (replication
fails).

[1] http://swift.openstack.org/1.4.6/howto_installmultinode.html#configure-the-storage-nodes
[2] http://swift.openstack.org/1.4.6/development_saio.html
2012-05-22 17:27:34 +02:00
Branan Purvine-Riley
0684d1f6cd Add concat_basedir fact to tests that validate concat fragments 2012-05-08 15:51:51 -07:00
Dan Bode
59afc07d3b Refactor of swift server configs
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
2012-04-21 12:54:17 -07:00
Dan Bode
cd33a745c5 Add fedora support
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)
2012-03-20 12:55:34 -07:00
Dan Bode
f07363b6af Update spec tests
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
2012-03-13 16:30:19 -07:00
Dan Bode
794fc909d1 Add unit tests fr swift::storage::server 2012-03-05 21:57:10 -08:00
Dan Bode
4775be3a5f Add rspec-puppet test coverage
This commit adds test coverage for almost all
swift classes and defines.

It does not quite add 100% coverage (probably
more like 85%)
2012-02-26 20:52:27 -08:00