TTL mechanism support with expirer service

Aims to support a TTL mechanism for data entering Ceilometer
collector database.
TTL is very useful to configure when getting a lot of meters.

implement blueprint ttl-support
Change-Id: I9d98e8b833ad94fd79722dee7226e7f4f03aaa2e
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Remove use of deprecated include_class matcher

include_class is deprecated since rspec-puppet 1.0.0.
contain_class should be used instead.

Closes-bug: #1263617
Change-Id: If2e5a2c467a5d1c4eb130dc6b2643d05c748abe0
Add Gemfile.lock to gitignore

Change-Id: I397c8e72ae656c03f472137041e8ab950f529dfc
Merge "Add Gemfile.lock to gitignore"
Add API binding options

Ceilometer is able to bind API server to both an IP address and a port.
This patch aims to add support for both configuration flags.

Change-Id: I83164a925cf115d091cb04d14922ee7bbdd0ac63
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Fix package ceilometer-alarm type error on Debian

This commit:
  - Fix type error about ceilometer-alarm package name
    - See bug #1263946
  - Fix indentation on Debian params.pp
  - Fix spec warnings (partition_rpc_topic,record_history)

Closes-bug: #1263946

Change-Id: I1ad19af429f2787d58837e51da95e981bdd66b40
Only add ceilometer user to nova group if using compute agent

When using ceilometer outside of the compute context (ex: with the
swift middleware), puppet-ceilometer attempts to add the user to
the nova group which does not (and probably should not) exist on
the swift nodes.

Change-Id: I6cc68152325a967c024ce611f92a90ce0afba8cc
Fixed mysql dependency to match other modules

Fixed the mysql dependency to match the other puppet-openstack modules.

Change-Id: I8ad1011f892e2cadfbfa3fa4ca932fae9ded5cf0
Merge "Only add ceilometer user to nova group if using compute agent"
Merge "Fix package ceilometer-alarm type error on Debian"
Remove log_dir from params and make logs configurable in init

log_dir does not seem to be used in other classes. In the use case where
it can be necessary to specify the location of ceilometer logs, this
patch makes it possible to do so while maintaining the default for
backwards compatibility. This patch also adds the possibility of
sending logs to syslog/rsyslog in the same way as implemented in
puppet-nova.

Change-Id: I1f970d5e3cc947308221fb2b2cdfb34f89c64314
Partial-Bug: #1269482
Move metering_secret to publisher section

In Icehouse, metering_secret has been moved to [publisher]:
http://git.io/11NwNw

Change-Id: I96c70781902e927c0295af78c93b400d7b4684bb
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
Remove glance_notifications from notification_topic

The default notification_topic in Glance has been changed from
'glance_notifications' to 'notifications' in grizzly-2.

Ceilometer was configured to also listen on the
'glance_notifications' notification_topic in addition to
'notifications' to patch this bug. It shouldn't anymore.

Change-Id: I3d797c7e849319a1e20ef3ecbf158e8b8579d450
Closes-bug: #1273876
Do not enforce glance_control_exchange

The default glance_control_exchange in Ceilometer has been changed
from 'glance_notifications' to 'glance' in grizzly-2. Glance always
had 'glance' for its control_exchange.

This was a bug in Ceilometer and puppet-ceilometer patched it.
It shouldn't anymore.

Change-Id: I217515c91f092fb3e8039dde2d14a7ab4cbb7245
Closes-bug: #1273878
Don't match commented [DEFAULT]

Class ceilometer::agent::compute fails when there are [DEFAULT] sections
commented. This patch is fixing this issue. For more info check
https://bugzilla.redhat.com/show_bug.cgi?id=1060712

Change-Id: I6d13f780f63af8798d94b49246576d1e144a4540
Merge "Move metering_secret to publisher section"
Merge "Remove glance_notifications from notification_topic"
Allow log_dir to be set to false in order to disable file logging

This backward compatible commit allows a user to disable logging to
a directory for example if using syslog logging.

Change-Id: I8b496c311b9f26cab64c38d1cfd545784dfc7cab
Related-bug: #1269482
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.

Change-Id: I8618bb385147176512fbda1540ba75ac95fccbf1
Define $user referenced in db.pp

In db.pp, in the exec 'ceilometer dbsync' ressource the user
is supposed to be $::ceilometer::params::user, but it was
not defined.

Change-Id: I812b6ba2877faddfce86d3c97b95772b0d22d368