summaryrefslogtreecommitdiffstats
path: root/puppet/overcloud_controller.pp
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-01-22 14:38:36 -0500
committerDan Prince <dprince@redhat.com>2015-02-03 19:10:18 +0000
commita536d3c8887b99c3b6e270c2e6c2469e4241eb7a (patch)
tree0925603a7d53e00a76772b53db906851e82c436d /puppet/overcloud_controller.pp
parent0fce77e3c2169a05d84ee6e7b76fe651429aa380 (diff)
Puppet: Ceilometer controller support
This patch adds support for the Ceilometer controller role including the Ceilometer: -API -central agent -alarm notifier -alarm evaluator -collector -expirer In order to enable swift metering the swift::proxy ceilometer middleware was added in. Also, a minor adjustment to the existing ceilometer HA proxy setting was made to accommodate ceilometer auth settings. (not exactly sure why but this seems to be required) Like upstream TripleO Ceilometer is currently using a MySQL database backend. A follow on patch can support configuring MongoDB for use with Ceilometer. Change-Id: I4e171274bd7679d386d93492d13dfa7c5d37f6a8
Diffstat (limited to 'puppet/overcloud_controller.pp')
-rw-r--r--puppet/overcloud_controller.pp25
1 files changed, 25 insertions, 0 deletions
diff --git a/puppet/overcloud_controller.pp b/puppet/overcloud_controller.pp
index 20413cc6..90f69eb1 100644
--- a/puppet/overcloud_controller.pp
+++ b/puppet/overcloud_controller.pp
@@ -76,6 +76,14 @@ if hiera('step') >= 1 {
dbname => $heat_dsn[6],
allowed_hosts => $allowed_hosts,
}
+ $ceilometer_dsn = split(hiera('ceilometer::db::database_connection'), '[@:/?]')
+ class { 'ceilometer::db::mysql':
+ user => $ceilometer_dsn[3],
+ password => $ceilometer_dsn[4],
+ host => $ceilometer_dsn[5],
+ dbname => $ceilometer_dsn[6],
+ allowed_hosts => $allowed_hosts,
+ }
if $::osfamily == 'RedHat' {
$rabbit_provider = 'yum'
@@ -221,6 +229,7 @@ if hiera('step') >= 2 {
include ::swift::proxy::keystone
include ::swift::proxy::authtoken
include ::swift::proxy::staticweb
+ include ::swift::proxy::ceilometer
include ::swift::proxy::ratelimit
include ::swift::proxy::catch_errors
include ::swift::proxy::tempurl
@@ -242,4 +251,20 @@ if hiera('step') >= 2 {
swift::storage::filter::recon { $swift_components : }
swift::storage::filter::healthcheck { $swift_components : }
+ # Ceilometer
+ include ::ceilometer
+ include ::ceilometer::api
+ include ::ceilometer::db
+ include ::ceilometer::agent::notification
+ include ::ceilometer::agent::central
+ include ::ceilometer::alarm::notifier
+ include ::ceilometer::alarm::evaluator
+ include ::ceilometer::expirer
+ include ::ceilometer::collector
+ class { 'ceilometer::agent::auth':
+ auth_url => join(['http://', hiera('controller_virtual_ip'), ':5000/v2.0']),
+ }
+
+ Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
+
} #END STEP 2