Evaluation Error: Left match operand must result in a String value. Got
an Array. at .../modules/swift/manifests/proxy/cache.pp:26:6
Please note that Puppet syntax, while it defines a regex type, does NOT
permit regex type arguments to be passed to functions (as literals or
assigned to variables).
Change-Id: Ia230720e2cafb5b03404cea1ba54dd3b0ced6af3
Closes-Bug: #1449272
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
The concat module passes the file permissions straight through to a file
resource, so for this to work in future parser then the mode has to be a
quoted string.
Change-Id: Iddfa6416e68127f874ce38edcdf1e208def2473f
OpenStack Infra has jobs to run this on both Ubuntu Trusty and CentOS7.
* Add minitest to Gemfile (dependency to run beaker on centos - see
http://projects.theforeman.org/issues/2650 for details)
* separate nodepool files to have trusty & centos7 support in OS infra
* basic_swift_spec: add case for repo configuration and support
RH systems.
Change-Id: I745fa76b2b36b0dbada83260fedffc4ee60f9c03
Closes-bug: #1444736
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
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
It isn't used in the puppet module anywhere, the signing directory is
defaulting to /var/cache/swift, if the user is setting it to /home/swift
they should also create it.
Change-Id: I085bdba172b6316f9dcd19dcc8d44399be014647
Puppet Labs is in the process of releasing a 2.0.0 version of
puppetlabs-concat, which will have many breaking changes that affect
many dependent modules. Changes have been merged to master, but not yet
released. While we figure out what changes we need to make in our own
modules and wait for updates in dependent modules, we should just pin
to a stable version.
Change-Id: Ifb4ca49a9dcbeb3b20781ed24ecd16ae9348903b
swift.conf contains the hash_suffix. With the current module, we have a
race condition where services can start *before* having the right hash
in swift.conf, so some objects mays be put in quarantine.
When usint swift_config (which affect swift.conf), we should restart all
services to ensure our ring is running correctly.
Change-Id: I1087ba4ec079ca9c43bea9ff0511347632871ec2
Closes-bug: #1442329
Some 'should' keyword have been forgotten during the rspec2.x to rspec3.x
updates. This patch fixes that!
Change-Id: I9cbec83b58eea6e417af6418b99cf3338c463ba7
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
Some users wish to override the default package provider by their own.
Tag all packages with the 'openstack' to allow mass resource attributes
override using resource collectors.
Change-Id: Ib0cec660f134e266006f41572cafcc4661ca1e67
Closes-bug: #1391209
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
One shold never parse uri with split(':') as it was in types
ring_account_device, ring_container_device and ring_object_device.
This is fixed by using uri and just setting variables from that.
Also swift_ring_builder didn't add brackets to ipv6 address before
adding port information to it.
Change-Id: I55b7032143c8446abeed4f6c266c0fff0cb6b3b3
The ssh module had an issue with hostkeys on RHEL systems prior to
version 2.4.0 that would cause puppet to error during a run: the
sshdsakey fact returns empty, so the exported dsa sshkey resource fails
due to an empty parameter[1]. The current dependency restricts the ssh
module to less than 2.0, which contains the bug.
Problematically, version 2.5.0 of the ssh module adds a change that is
incompatible with older 3.x versions of puppet [2], which breaks our tests.
This patch updates the ssh dependency to use full range of the next
major version in order to be as accomodating as possible. However, for
RHEL users to avoid the ssh key bug, they must use at least version
2.4.0. For users of older puppet versions to avoid the bad parameter
issue, they must use a version less than 2.5.0. The .fixtures.yml pins
to 2.4.0 for maximum compatibility. We could pin the dependency in the
metadata to exactly 2.4.0 as well, but since these are issues in the
ssh module, not swift's use of the ssh module, it is more appropriate
just to allow the newer version but not be too restrictive on the
version.
The ssh::server class has an API change between 1.x and 2.x, but the
new parameters (ensure, storeconfigs_enabled, and an options hash) have
acceptable defaults.
[1] https://github.com/saz/puppet-ssh/blob/v1.4.0/manifests/hostkeys.pp#L8
[2] https://github.com/saz/puppet-ssh/blob/v2.5.0/manifests/server/install.pp#L7
Change-Id: I30216b0336b5f1f1c65e711cb97654ef663ba01f
This commit allows to configure the node_timeout parameter
of proxy-server.conf proxy-server middleware in the pipeline.
Change-Id: Idbac35336a5b266f6de288a28243f91ee4d67afd
When the ring server manifest `swift::ringserver` is called
the client throws and error with missing class. The module
`swift::ringserver` appears to refer to an incorrect class of
`Class['ringbuilder']` which should be `Class['swift::ringbuilder']`.
Change-Id: I9ddb12d2614440fe245aaaa10b7b17781a742f37
Implements: Add swift base class name to class call
Closes-Bug: 1414900
This changes the puppet-lint requirement to 1.1.x, so that we can use
puppet-lint plugins. Most of these plugins are for 4.x compat, but some
just catch common errors.
Change-Id: I9b41f170a782fecf88f241dc12288670b552b433
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
This patch bump puppet-lint gem and add metadata and parameters checks.
Metadata lint issues (SPDX ID), missing parameters documentation and
syntaxe lint issues was also fixed in this patch
Doc for metadata syntax.
https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html
Change-Id: Ia6bb3483b3ffdbeed60b58702a36e0c7b31ffb86
Instead of forcing the name of the service in the service catalog to
match auth_name, this allows the ability to explicitly set the service
name, spearately from auth_name.
If service_name is not specified, it's value defaults to the value
of auth_name (which maintains the current behavior.)
Change-Id: Ie586b2892c092a9694b067a9e0f28f36396de30d
Closes-bug: #1359755
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
This patch adds the ability to set a new identity_uri parameter.
It also deprecates the old auth_host, auth_port, auth_protocol,
and auth_admin_prefix parameters. Logic is in place so that
users of the deprecated settings should have a smooth upgrade
process and get deprecation warnings until they adopt the
new settings.
Change-Id: Ideefb4d824cbd5b4b83f9eb773a75e536e3458fb
openstackclient lib/provider are now migrated from keystone to openstacklib
let's add openstacklib as a new dependency.
Change-Id: I1854e18ecf6497daef70bccef46e5d6cb7c0b819
The auth_token middleware that lives in
keystoneclient.middleware.auth_token has been deprecated in favour of
keystonemiddleware.auth_token.
This prints a deprecation warning and means we are not getting new
features.
Closes-Bug: #1428376
Change-Id: If5352801b8105533600965a25f02a577a858f1a2