```puppet
class { '::ceilometer':
- metering_secret => 'secrete',
+ telemetry_secret => 'secrete',
rabbit_userid => 'ceilometer',
rabbit_password => 'an_even_bigger_secret',
rabbit_host => '127.0.0.1',
class { '::ceilometer':
- metering_secret => 'secrete',
- rabbit_userid => 'ceilometer',
- rabbit_password => 'an_even_bigger_secret',
- rabbit_host => '127.0.0.1',
+ telemetry_secret => 'secrete',
+ rabbit_userid => 'ceilometer',
+ rabbit_password => 'an_even_bigger_secret',
+ rabbit_host => '127.0.0.1',
}
class { '::ceilometer::db::mysql':
password => 'a_big_secret',
# Add the base ceilometer class & parameters
# This class is required by ceilometer agents & api classes
- # The metering_secret parameter is mandatory
+ # The telemetry_secret parameter is mandatory
class { '::ceilometer':
- metering_secret => 'darksecret'
+ telemetry_secret => 'darksecret'
}
# Configure the ceilometer database
# (<= 0 means forever)
# Defaults to -1.
#
-# [*metering_secret*]
+# [*telemetry_secret*]
# (Required) Secret key for signing messages.
#
# [*notification_topics*]
# (string value)
# Defaults to $::os_service_default
#
-# [*memcached_servers*]
-# (Optional) A list of memcached server(s) to use for caching. (list value)
-# Defaults to $::os_service_default
+# [*memcached_servers*]
+# (Optional) A list of memcached server(s) to use for caching. (list value)
+# Defaults to $::os_service_default
#
# === DEPRECATED PARAMETERS:
+# [*metering_secret*]
+# (optional) Secret key for signing messages.
+# This option has been renamed to telemetry_secret in Mitaka.
+# Don't define this if using telemetry_secret.
#
# [*alarm_history_time_to_live*]
#
$http_timeout = '600',
$event_time_to_live = '-1',
$metering_time_to_live = '-1',
- $metering_secret = false,
+ $telemetry_secret = false,
$notification_topics = ['notifications'],
$package_ensure = 'present',
$debug = undef,
$memcached_servers = $::os_service_default,
# DEPRECATED PARAMETERS
$alarm_history_time_to_live = undef,
+ $metering_secret = undef,
) {
- validate_string($metering_secret)
-
include ::ceilometer::logging
include ::ceilometer::params
+ # Cleanup in Ocata.
+ if $telemetry_secret {
+ validate_string($telemetry_secret)
+ if $metering_secret {
+ warning('Both $metering_secret and $telemetry_secret defined, using $telemetry_secret')
+ }
+ $telemetry_secret_real = $telemetry_secret
+ }
+ else {
+ warning('metering_secret has been renamed to telemetry_secret. metering_secret will continue to work until Ocata.')
+ validate_string($metering_secret)
+ $telemetry_secret_real = $metering_secret
+ }
+
if $alarm_history_time_to_live {
warning('alarm_history_time_to_live parameter is deprecated. It should be configured for Aodh.')
}
# Once we got here, we can act as an honey badger on the rpc used.
ceilometer_config {
'DEFAULT/http_timeout' : value => $http_timeout;
- 'publisher/metering_secret' : value => $metering_secret, secret => true;
+ 'publisher/telemetry_secret' : value => $telemetry_secret_real, secret => true;
'database/event_time_to_live' : value => $event_time_to_live;
'database/metering_time_to_live' : value => $metering_time_to_live;
}
--- /dev/null
+---
+deprecations:
+ - The variable $metering_secret has been renamed as
+ $telemetry_secret to match the name of the config
+ option. The old variable will be removed in Ocata.
# Ceilometer resources
class { '::ceilometer':
- metering_secret => 'secrete',
+ telemetry_secret => 'secrete',
rabbit_userid => 'ceilometer',
rabbit_password => 'an_even_bigger_secret',
rabbit_host => '127.0.0.1',
describe 'ceilometer::agent::auth' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
describe 'ceilometer::agent::central' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
let :pre_condition do
"include nova\n" +
"include nova::compute\n" +
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
describe 'ceilometer::agent::notification' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
let :pre_condition do
"include nova\n" +
"include nova::compute\n" +
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
describe 'ceilometer::api' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }
include ::ceilometer::db"
end
let :pre_condition do
"include ::apache
include ::ceilometer::db
- class { 'ceilometer': metering_secret => 's3cr3t' }"
+ class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
it 'configures ceilometer-api service with Apache' do
let :pre_condition do
"include ::apache
include ::ceilometer::db
- class { 'ceilometer': metering_secret => 's3cr3t' }"
+ class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
it_raises 'a Puppet::Error', /Invalid service_name/
describe 'ceilometer::collector' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
shared_examples_for 'ceilometer-collector' do
describe 'ceilometer::dispatcher::gnocchi' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
describe 'ceilometer::expirer' do
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
let :params do
:http_timeout => '600',
:event_time_to_live => '604800',
:metering_time_to_live => '604800',
- :metering_secret => 'metering-s3cr3t',
+ :telemetry_secret => 'metering-s3cr3t',
:package_ensure => 'present',
:debug => 'False',
:log_dir => '/var/log/ceilometer',
)
end
- it 'configures required metering_secret' do
- is_expected.to contain_ceilometer_config('publisher/metering_secret').with_value('metering-s3cr3t')
- is_expected.to contain_ceilometer_config('publisher/metering_secret').with_value( params[:metering_secret] ).with_secret(true)
+ it 'configures required telemetry_secret' do
+ is_expected.to contain_ceilometer_config('publisher/telemetry_secret').with_value('metering-s3cr3t')
+ is_expected.to contain_ceilometer_config('publisher/telemetry_secret').with_value( params[:telemetry_secret] ).with_secret(true)
end
- context 'without the required metering_secret' do
- before { params.delete(:metering_secret) }
+ context 'without the required telemetry_secret' do
+ before { params.delete(:telemetry_secret) }
it { expect { is_expected.to raise_error(Puppet::Error) } }
end
end
end
+
+ # Cleanup in Ocata
+ shared_examples_for 'using old metering_secret param' do
+ context "with old metering_secret param it uses telemetry_secret instead" do
+ before { params.merge!(
+ :metering_secret => 'broncos',
+ :telemetry_secret => 'metering-s3cr3t',
+ ) }
+ it { is_expected.to contain_ceilometer_config('publisher/telemetry_secret').with_value('metering-s3cr3t') }
+ end
+ context "with old metering_secret param set and telemetry_secret unset" do
+ before { params.merge!(
+ :metering_secret => 'broncos',
+ :telemetry_secret => nil,
+ ) }
+ it { is_expected.to contain_ceilometer_config('publisher/telemetry_secret').with_value('broncos') }
+ end
+ end
+
shared_examples_for 'rabbit with SSL support' do
context "with default parameters" do
it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_use_ssl').with_value('<SERVICE DEFAULT>') }
end
let :pre_condition do
- "class { 'ceilometer': metering_secret => 's3cr3t' }"
+ "class { 'ceilometer': telemetry_secret => 's3cr3t' }"
end
shared_examples_for 'apache serving ceilometer with mod_wsgi' do