Javier Pena [Fri, 26 Jun 2015 12:40:33 +0000 (14:40 +0200)]
Simplify parameters for rpc_backend
It is not needed anymore to specify the whole python namespace
for the backends, and in Liberty this option is completely removed
(see https://review.openstack.org/189201).
This patch keeps backwards compatibility with the previous default
parameters.
Zuul-cloner's behavior is to clone the repository into a subdirectory
under a directory named for the repo namespace. Git's default behavior
is to just clone it directly into the present working directory. This
patch adds an argument to the git clone command to clone it into the
<namespace>/<repo name> directory, so that whether zuul-cloner or git
is used the repo ends up in the same directory relative to the PWD.
The final check during the prep stage, where `puppet module list` is
run so that its output can be used for debugging, should run on the
current host in the loop, not the first host in the array.
This patch updates the spec_helper_acceptance.rb file to use the common
module install script and Puppetfile from the new
openstack/puppet-openstack-integration repo. This will allow us to take
advantage of Zuul's Depends-On feature so that we can test changes
across multiple related modules. This is based on idea 1 from this
brainstorming session[1].
This will probably be abstracted out into a separate function or
eventually a separate gem so that it can be more easily shared across
the OpenStack modules and the Infra modules.
Mike Dorman [Mon, 22 Jun 2015 20:03:24 +0000 (14:03 -0600)]
Add support for RabbitMQ connection heartbeat
Kilo oslo.messaging added heartbeating support for RabbitMQ
connections. This patch adds support for this in Puppet modules
by managing the oslo_messaging_rabbit/heartbeat_timeout_threshold
and oslo_messaging_rabbit/heartbeat_rate settings.
Emilien Macchi [Tue, 30 Jun 2015 20:48:22 +0000 (16:48 -0400)]
Use beaker-puppet_install_helper to install puppet
When running with BEAKER_provision=no, the following happens:
In Trusty: beaker is running dpkg with '--force' option so even
if Puppet is already installed, the return code will be 0.
In CentOS: beaker is running 'rpm -ivh' the second time and since
the package is already here, the return code will be 1.
Using the new puppet install helper will abort installing puppet
if BEAKER_provision is no, so tests will continue as normal.
Xav Paice [Thu, 25 Jun 2015 03:28:12 +0000 (15:28 +1200)]
make crontab for expirer optional
This adds an 'enable_cron' switch to ceilometer::expirer, defaults to
true, so that if we want to configure the TTL but don't want to run the
expiry job via cron we don't have to.
Colleen Murphy [Fri, 26 Jun 2015 18:43:41 +0000 (11:43 -0700)]
Remove Contact info from README
As this is a community supported module, the contact info listed in the
README was inaccurate. To improve consistency with other modules and
reduce cruft, this patch removes the contact section of the README.
Contact information can be found on the wiki linked in the developer
documentation section.
Colleen Murphy [Fri, 26 Jun 2015 18:38:59 +0000 (11:38 -0700)]
Remove license from README
In fae87c07a6bc0b8b66651147405c4310ab528a74 the License file was
updated, and now the copy embedded in the README is inconsistent. This
patch removes the copy from the README since having it in its own file
is sufficient, and reducing duplication will prevent inconsistencies.
Colleen Murphy [Fri, 26 Jun 2015 18:29:22 +0000 (11:29 -0700)]
Split release notes into a CHANGELOG.md file
This patch splits out release notes into a separate dedicated file for
consistency with the puppetlabs puppet modules. Additionally, this
patch improves the release notes by:
- Fixing the tense to be consistent with commit message standards ("Add
new feature" instead of "Added new feature" or "Adds new feature")
- Breaking up changes into categories to make it easier for operators
to know what happened in the change: backwards-incompatible changes,
features, bugfixes, and maintenance commits
- Linewrapping to 80 chars
- Adding release dates, formatted according to ISO-8601
Sebastien Badia [Wed, 24 Jun 2015 17:11:00 +0000 (19:11 +0200)]
Fix Beaker CI according recent puppetlabs-rabbitmq change.
The puppetlabs-rabbitmq module introduce a new feature related to the
erlang_cookie parameter change (the database must be wiped if the cookie is
changed), the parameter wipe_db_on_cookie_change is configured to false by
default.
But we're not setting up a rabbitmq cluster and we're not using pacemaker in
beaker CI tests, so we just remove the erlang cookie parameter change.
Sebastien Badia [Wed, 24 Jun 2015 15:51:15 +0000 (17:51 +0200)]
keystone/auth: make service description configurable
This commit adds the service description as a class parameter in order to allow
users to update from a previous version if the service description is changed
(incorrectly spelled or wrong description)
Mathieu Gagné [Thu, 11 Jun 2015 18:04:12 +0000 (14:04 -0400)]
Deprecate old public, internal and admin parameters
This change deprecates the following parameters:
- port (replaced by public/internal/admin_url)
- public_protocol (replaced by public_url)
- public_address (replaced by public_url)
- internal_protocol (replaced by internal_url)
- internal_address (replaced by internal_url)
- admin_protocol (replaced by admin_url)
- admin_address (replaced by admin_url)
Add deprecation warnings if any of those values are provided
while maintaining full backward compatibility.
Colleen Murphy [Mon, 8 Jun 2015 19:55:06 +0000 (12:55 -0700)]
Unpin beaker-rspec
The latest version of beaker tries to manage sshd_config[1] in order to
pass through environment variables. JJB also tries to manage
sshd_config by adding Match blocks to securely allow root SSH[2]. When
beaker tries to append the PermitUserEnvironment line after the Match
blocks, SSH fails to open port 22 and beaker can't SSH in to the
node[3]. This patch unpins beaker-rspec and adds set_env: false to the
nodepool nodesets so that the set_env method is never called and does
not try to mess with the sshd_config.
iberezovskiy [Fri, 22 May 2015 09:39:48 +0000 (12:39 +0300)]
Fix dependency on nova-common package
Nova module could be not included or imported directly
and this can lead to failure with missing dependency
on 'nova-common' package. More safe is to use
Package <| title == nova-common |>
Emilien Macchi [Wed, 13 May 2015 21:08:35 +0000 (17:08 -0400)]
acceptance: don't install erlang on RHEL
Puppet erlang module does not pin puppetlabs-apt so it will have
conflicts in other modules if we want to use it (since we try to not use
2.0.0 release).
Let's simplify acceptance tests in not using erlang module and be
consistent with all Puppet OpenStack modules tests.
Emilien Macchi [Mon, 11 May 2015 19:38:43 +0000 (15:38 -0400)]
Bring Redhat support to acceptance tests
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_keystone_spec: add case for repo configuration and support
RH systems.
* rabbitmq: install module from source and on RH, install erlang before rabbitmq-server.
Ensure python-mysqldb is installed before MySQL db_sync
When running MySQL for storage backend, we need to make sure
python-mysqldb is installed *before* the db_sync command, otherwise it
will fail:
"ImportError: No module named MySQLdb".
This patch ensure the ordering to ensure puppetlabs-mysql installed the
package before puppet-ceilometer tries to synchronize the MySQLdatabase.
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.)