Introduce ceilometer:config to manage custom options
This ceilometer::config is aim to use ceilometer_config resource to manage custom configurations in ceilometer.conf. This will make end user easy to add their own custom options in Hiera data. Fully implements blueprint ceilometer-custom-config Change-Id: I82b38ca26d4d99471a74b2c116e4c4133262187c
This commit is contained in:
parent
9bd58d7434
commit
c9cadc5352
31
manifests/config.pp
Normal file
31
manifests/config.pp
Normal file
@ -0,0 +1,31 @@
|
||||
# == Class: ceilometer::config
|
||||
#
|
||||
# This class is used to manage arbitrary ceilometer configurations.
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*ceilometer_config*]
|
||||
# (optional) Allow configuration of ceilometer.conf.
|
||||
#
|
||||
# The value is an hash of ceilometer_config resource. Example:
|
||||
# { 'DEFAULT/foo' => { value => 'fooValue'},
|
||||
# 'DEFAULT/bar' => { value => 'barValue'}
|
||||
# }
|
||||
#
|
||||
# In yaml format, Example:
|
||||
# ceilometer_config:
|
||||
# DEFAULT/foo:
|
||||
# value: fooValue
|
||||
# DEFAULT/bar:
|
||||
# value: barValue
|
||||
#
|
||||
# NOTE: The configuration MUST NOT be already handled by this module
|
||||
# or Puppet catalog compilation will fail with duplicate resources.
|
||||
#
|
||||
class ceilometer::config (
|
||||
$ceilometer_config = {},
|
||||
) {
|
||||
validate_hash($ceilometer_config)
|
||||
|
||||
create_resources('ceilometer_config', $ceilometer_config)
|
||||
}
|
29
spec/classes/ceilometer_config_spec.rb
Normal file
29
spec/classes/ceilometer_config_spec.rb
Normal file
@ -0,0 +1,29 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'ceilometer::config' do
|
||||
|
||||
let :params do
|
||||
{ :ceilometer_config => {
|
||||
'api/host' => { 'value' => '0.0.0.0'},
|
||||
'api/port' => { 'value' => '8777'},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
it 'with [api] options ceilometer_config ' do
|
||||
should contain_ceilometer_config('api/host').with_value('0.0.0.0')
|
||||
should contain_ceilometer_config('api/port').with_value('8777')
|
||||
end
|
||||
|
||||
describe 'with [rpc_notifier2] options ceilometer_config' do
|
||||
before do
|
||||
params.merge!({
|
||||
:ceilometer_config => { 'rpc_notifier2/topics' => { 'value' => 'notifications'},},
|
||||
})
|
||||
end
|
||||
it 'should configure rpc_notifier2 topics correctly' do
|
||||
should contain_ceilometer_config('rpc_notifier2/topics').with_value('notifications')
|
||||
end
|
||||
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user