MySQL: change default MySQL collate to utf8_general_ci
Install & configure MySQL database by using utf8_general_ci collation
which is the way documented in OpenStack [1] and already the default
in puppetlabs-mysql [2].
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.
This module declared concat twice in the fixtures, so we also remove
the second one so that pinning is effective.
Dan Prince [Thu, 12 Mar 2015 13:45:46 +0000 (09:45 -0400)]
Add support for identity_uri.
This patch adds the ability to set a new keystone_identity_uri
parameter. It also deprecates the old keystone_host, keystone_port,
keystone_protocol, and keystone_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.
Sebastien Badia [Sun, 22 Feb 2015 21:14:37 +0000 (22:14 +0100)]
Add Puppet 4.x lint checks
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.
This commit also remove custom metadata rake task (this task is now
provided by puppetlabs_spec_helper).
Sebastien Badia [Sun, 22 Feb 2015 21:02:45 +0000 (22:02 +0100)]
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 new
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)
iberezovskiy [Mon, 26 Jan 2015 11:25:43 +0000 (14:25 +0300)]
Add support for ceilometer-polling agent
Add ability to use new ceilometer-polling agent
instead of ceilometer-central, ceilometer-compute or
ceilometer-ipmi. Specify central_namespace, compute_namespace
and ipmi_namespace parameters to set namespaces
Sebastien Badia [Sun, 22 Feb 2015 20:53:35 +0000 (21:53 +0100)]
Fix lint issues (doc, metadata, manifests)
Add puppet parameters lint (with puppet-lint-param-docs gem) and fix
missing documentations, this commit also fix manifest lint issues (due
to puppet-lint upgrade) and metadata.json file (SPDX license, and open
dependencies).
Sebastien Badia [Tue, 3 Feb 2015 14:32:20 +0000 (15:32 +0100)]
spec: pin rspec-puppet to 1.0.1
rspec-puppet (2.0.0) was released yesterday[1], this new version broke
puppet-openstack unit tests (undefined method `resource')[2] as talked on
and in a second time to update your specs to 2.0.0 and rspec 3.x`)
Lukas Bezdicka [Fri, 19 Dec 2014 12:04:04 +0000 (13:04 +0100)]
Deprecate support for Fedora 18
Also fixes error on Rawhide: Error: comparison of String with 18.
Package python-sqlite2 is deprecated since F18. F19 is also EOL.
https://fedoraproject.org/wiki/End_of_life
Lukas Bezdicka [Fri, 2 Jan 2015 19:04:10 +0000 (20:04 +0100)]
Switch to TLSv1 as SSLv3 is considered insecure and is disabled by default
Rabbitmq won't talk to us anymore if we try to use SSLv3 as it disabled
support for SSLv3. Openstack components use python's openssl
implementation which does not support TLSv1.1 and TLSv1.2 yet so we
just switch to TLSv1. Support for newer TLS should come with python
2.7.9+
Colleen Murphy [Fri, 21 Nov 2014 00:59:10 +0000 (16:59 -0800)]
Release 5.0.0 - Juno
Changes in this release:
* Added package_ensure parameters to various classes to control package installation
* Added ceilometer::policy to control policy.json
* Updated validate_re expressions for Puppet 3.7
* Bumped stdlib dependency to >=4.0.0
* Added manage_service parameters to various classes to control whether the service was managed, as well as added enabled parameters where not already present
* Added parameters to control whether to configure users
* Added the ability to override the keystone service name in keystone::auth
* Migrated the ceilometer::db::mysql class to use openstacklib::db::mysql and deprecated the mysql_module parameter
* Fixed ceilometer-notification package name for RHEL
* Removed deprecation notices for sectionless ceilometer_config types for Juno release
* Added ability to hide secrets from puppet logs
Chris Dent [Thu, 13 Nov 2014 20:24:33 +0000 (20:24 +0000)]
Add support for configuring coordination/backend_url
If 'coordination_url' argument and value is provided to the central agent
or alarm evaluator classes, they will try to set 'backend_url' in the
'[coordination]' section of the ceilometer_config. This allows group
membership handling coordinated by tooz.
ensure_resource is used to avoid duplicate resources while still allowing
the central agent and alarm evaluator to be configured separately if
on different machines.
Note that this change does not include support for enabling coordination
of the compute agent.
Currently, in the policy.pp file the class openstacklib::policy
is called. The same apply for all components resulting in a
Duplicate Ressource issue. Using directly the underlying ressource
openstacklib::policy::base we prevent this issue.
Sebastien Badia [Thu, 9 Oct 2014 14:50:53 +0000 (16:50 +0200)]
Added metadata lint and puppet-syntax gems
metadata-json-lint is a little tool to check the validity of
Puppet metatdata.json files.
puppet-syntax tool check the validity of templates,manifests and hiera
files (the goal here is to replace manual checks in the gate by a
standard? check `rake syntax`).
policy.json: Allow one to manage them from the puppet module
This commit allow a deployer to manage the policies via this module
It relies on augeas to change only the policy needed. The init takes
a hash of policies and apply them.
Since puppet 3.x, Puppet Labs Forge accept only the metadata.json file
for module description (Modulefile is now deprecated).
This patch :
- convert the Modulefile to metadata.json.
- bump major version to 5 (for juno), and deps.
- switch to stackforge namespace.
- relax pe version_requirement to 3.x.
Chris Hoge [Thu, 2 Oct 2014 01:10:50 +0000 (20:10 -0500)]
Ensure nova-common is installed before ceilometer
Ceilometer depends on the nova user and group being
present. This change adds a dependency to nova-common
to ensure that packging will handle the user before
the ceilometer compute agent tries to add user ceilometer
to the nova group.
Mike Dorman [Thu, 18 Sep 2014 18:18:30 +0000 (12:18 -0600)]
Stringify $evaluation_interval for validate_re call
Under Puppet 3.7.x, calls to validate_re fail if the parameter is not
strictly a string. This change creates a string from
$evaluation_interval when passing to validate_re, so the call will
pass regardless of if the parameter to the class is specified as
string or an integer.
puppetlabs/stdlib 4.x is backwards compatible with 3.x and still tested
on Puppet 2.7. Updating stdlib to 4.x allows modules to use newer
functions without breaking older functionality.
Mike Dorman [Wed, 10 Sep 2014 16:39:04 +0000 (11:39 -0500)]
Make user creation optional when creating service.
In some cases it is useful to be able to just configure
the service in Keystone and not the service user. This
is the case when e.g. a read only LDAP backend is used.
Added a parameter configure_user (defaults to true).
Closes-Bug: 1360232
Mike Dorman [Thu, 4 Sep 2014 19:49:30 +0000 (13:49 -0600)]
Makes kombu_ssl_* parameters optional when rabbit_use_ssl => true
The kombu_ssl_* parameters should not be required when rabbit_use_ssl => true
Rather, rabbit_use_ssl must be set to true if the kombu_ssl_* parameters are
used.
Mike Dorman [Wed, 13 Aug 2014 15:19:26 +0000 (09:19 -0600)]
Adds ability to override service name for service catalog
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.)
There is a range of extended logging options in Openstack services that use
openstack.common.logger (Ceilometer, Cinder, Heat, Keystone, Nova). Adding
ceilometer::logging to support them.
No blueprint/spec, as discussed in the IRC meeting on 08-11-2014.
Gael Chamoulaud [Wed, 9 Jul 2014 09:52:25 +0000 (11:52 +0200)]
Fixes Facts string comparisons in CentOS 7
- CentOS Project has adopted a new rule for versioning numbers. The major number
matches the RHEL major number, but the minor number is generated from the
release date. For example, CentOS 7.0.1407.
- Adds Support for Scientific Linux.
Change-Id: I3220206aa01b9f5c838e524b3fec723c92435153
Closes-Bug: 1338777 Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
Clayton O'Neill [Fri, 20 Jun 2014 11:51:19 +0000 (07:51 -0400)]
Normalize Gemfile & pin tests to rspec < 2.99
Pin to rspec < 2.99 until rspec-puppet officially supports rspec 3.x.
This is to avoid warnings due to deprecated matchers in the
rspec-puppet gem.
This change is also intended to normalize the Gemfile for all stackforge
puppet modules. This should facilitate pinning gem versions when
releasing new stable branches, since the same diff can be used for all
repos.
Stefano Zilli [Tue, 10 Jun 2014 09:17:39 +0000 (11:17 +0200)]
Hide secrets from puppet logs
Currently secrets like rabbit_password or os_password are displayed in
puppet logs when changed. This commit changes ceilometer_config type
adding a new parameter that triggers obfuscation of the values in
puppet logs.
Ivan Chavero [Mon, 26 May 2014 12:54:45 +0000 (06:54 -0600)]
Fixes agent_notification_service_name
This patch corrects the service name of the ceilometer notification
agent, which was 'ceilometer-agent-notification' in pre-release RPMs but
was later changed to 'ceilometer-notification'.
Mark T. Voelker [Thu, 17 Apr 2014 07:16:00 +0000 (03:16 -0400)]
Add table to mysql_grant call
When using puppetlabs-mysql 2.2 with the ceilometer module, an
error occurs due to a call to mysql_grant not specifying a table.
This patch corrects the error by rectifying the mysql_grant call.
Chris Ricker [Mon, 7 Apr 2014 20:44:45 +0000 (13:44 -0700)]
Remove duplicate instance_usage_audit
nova.conf parameters for ceilometer notifications are defined in both
puppet-ceilometer and puppet-nova due to change I9e10dfb2. Remove the
redundant definition from puppet-ceilometer.
Chris Hoge [Fri, 21 Mar 2014 22:45:41 +0000 (15:45 -0700)]
Updated to match semver and release notes.
Before this update the Modulefile was not following semver in
relation to stable/havana, and the README files were not in sync.
This update introduces proper semver and consistency.
Chris Hoge [Mon, 24 Mar 2014 22:28:37 +0000 (15:28 -0700)]
Fixed gate by Updating Gemfile to pin Rake to 10.1.1
The latest Rake update requires Ruby >= 1.9. Bundler in the
current gate uses 1.8.x. This update fixes the gate by pinning
Rake to the last known working version.
Michael Chapman [Fri, 28 Feb 2014 09:08:29 +0000 (20:08 +1100)]
Add support for puppetlabs-mysql 2.2
This patch adds support for the new version of
puppetlabs-mysql via a parameter that will change
which types and classes to depend on from the
mysql module. No spec tests are included since any
tests relying on the new module will fail until
the fixtures are updated.
Mark T. Voelker [Sat, 15 Mar 2014 05:15:02 +0000 (01:15 -0400)]
Fix ensure_packages error
The ceilometer::collector class calls ensure_packages()
on a single package name, but the package name is provided
as a string rather than a one-element array. This causes an
error of the form:
Error: ensure_packages(): Requires array given (String) at
/usr/share/puppet/modules/ceilometer/manifests/collector.pp:16
This patch corrects the error by passing an array instead
of a string.
Yanis Guenane [Wed, 19 Feb 2014 18:50:34 +0000 (13:50 -0500)]
Allow db fields configuration without doing the dbsync
This commit allows one to configure the db fields without running the actual
dbsync command. It remains compliant with the current implementation, leaving
exec {'ceilometer-dbsync': in the catalog. One, now, can decide if it wants
the dbsync to take place or not.
This is useful when one picks mongodb as a backend and wants to use replicaset
This way it can scale horizontally and painlessly using the initSync feature
of mongodb. With this pattern one can add new member of the replica set
easily.