From 4600d4135ac1bef01f7a7dd4b12582a0c8db6b50 Mon Sep 17 00:00:00 2001 From: Matt Fischer Date: Thu, 12 May 2016 20:32:16 -0600 Subject: [PATCH] metering_secret was renamed to telemetry_secret Annoyingly upstream renamed this variable which is used in about two dozen places. In addition to this we'll need to fix the integration tests once this lands. Change-Id: I8c01fac2c984f39e63b116c4a6433b2009a4943c --- README.md | 2 +- examples/ceilometer_with_gnocchi.pp | 8 ++--- examples/site.pp | 4 +-- manifests/init.pp | 33 ++++++++++++++----- ..._to_telemetry_secret-f056f07ae9f1b23e.yaml | 5 +++ .../acceptance/ceilometer_wsgi_apache_spec.rb | 2 +- spec/classes/ceilometer_agent_auth_spec.rb | 2 +- spec/classes/ceilometer_agent_central_spec.rb | 2 +- spec/classes/ceilometer_agent_compute_spec.rb | 2 +- .../ceilometer_agent_notification_spec.rb | 2 +- spec/classes/ceilometer_agent_polling_spec.rb | 2 +- spec/classes/ceilometer_api_spec.rb | 6 ++-- spec/classes/ceilometer_collector_spec.rb | 2 +- .../ceilometer_dispatcher_gnocchi_spec.rb | 2 +- spec/classes/ceilometer_expirer_spec.rb | 2 +- spec/classes/ceilometer_init_spec.rb | 31 +++++++++++++---- spec/classes/ceilometer_wsgi_apache_spec.rb | 2 +- 17 files changed, 75 insertions(+), 34 deletions(-) create mode 100644 releasenotes/notes/metering_secret_renamed_to_telemetry_secret-f056f07ae9f1b23e.yaml diff --git a/README.md b/README.md index 504eb23b..50d925bc 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ To utilize the ceilometer module's functionality you will need to declare multip ```puppet class { '::ceilometer': - metering_secret => 'secrete', + telemetry_secret => 'secrete', rabbit_userid => 'ceilometer', rabbit_password => 'an_even_bigger_secret', rabbit_host => '127.0.0.1', diff --git a/examples/ceilometer_with_gnocchi.pp b/examples/ceilometer_with_gnocchi.pp index bf47a617..708595ba 100644 --- a/examples/ceilometer_with_gnocchi.pp +++ b/examples/ceilometer_with_gnocchi.pp @@ -1,8 +1,8 @@ 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', diff --git a/examples/site.pp b/examples/site.pp index 3d3616e7..817be03c 100644 --- a/examples/site.pp +++ b/examples/site.pp @@ -12,9 +12,9 @@ node default { # 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 diff --git a/manifests/init.pp b/manifests/init.pp index b1900362..e06c397c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -19,7 +19,7 @@ # (<= 0 means forever) # Defaults to -1. # -# [*metering_secret*] +# [*telemetry_secret*] # (Required) Secret key for signing messages. # # [*notification_topics*] @@ -140,11 +140,15 @@ # (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*] # @@ -152,7 +156,7 @@ class ceilometer( $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, @@ -182,13 +186,26 @@ class ceilometer( $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.') } @@ -239,7 +256,7 @@ class ceilometer( # 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; } diff --git a/releasenotes/notes/metering_secret_renamed_to_telemetry_secret-f056f07ae9f1b23e.yaml b/releasenotes/notes/metering_secret_renamed_to_telemetry_secret-f056f07ae9f1b23e.yaml new file mode 100644 index 00000000..f30885e9 --- /dev/null +++ b/releasenotes/notes/metering_secret_renamed_to_telemetry_secret-f056f07ae9f1b23e.yaml @@ -0,0 +1,5 @@ +--- +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. diff --git a/spec/acceptance/ceilometer_wsgi_apache_spec.rb b/spec/acceptance/ceilometer_wsgi_apache_spec.rb index 546229ed..aa771a54 100644 --- a/spec/acceptance/ceilometer_wsgi_apache_spec.rb +++ b/spec/acceptance/ceilometer_wsgi_apache_spec.rb @@ -29,7 +29,7 @@ describe 'ceilometer with mysql' do # 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', diff --git a/spec/classes/ceilometer_agent_auth_spec.rb b/spec/classes/ceilometer_agent_auth_spec.rb index 74203bb1..3e11c763 100644 --- a/spec/classes/ceilometer_agent_auth_spec.rb +++ b/spec/classes/ceilometer_agent_auth_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'ceilometer::agent::auth' do let :pre_condition do - "class { 'ceilometer': metering_secret => 's3cr3t' }" + "class { 'ceilometer': telemetry_secret => 's3cr3t' }" end let :params do diff --git a/spec/classes/ceilometer_agent_central_spec.rb b/spec/classes/ceilometer_agent_central_spec.rb index b165bc85..ddf87d1f 100644 --- a/spec/classes/ceilometer_agent_central_spec.rb +++ b/spec/classes/ceilometer_agent_central_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'ceilometer::agent::central' do let :pre_condition do - "class { 'ceilometer': metering_secret => 's3cr3t' }" + "class { 'ceilometer': telemetry_secret => 's3cr3t' }" end let :params do diff --git a/spec/classes/ceilometer_agent_compute_spec.rb b/spec/classes/ceilometer_agent_compute_spec.rb index bf51310f..76497290 100644 --- a/spec/classes/ceilometer_agent_compute_spec.rb +++ b/spec/classes/ceilometer_agent_compute_spec.rb @@ -5,7 +5,7 @@ describe 'ceilometer::agent::compute' 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 diff --git a/spec/classes/ceilometer_agent_notification_spec.rb b/spec/classes/ceilometer_agent_notification_spec.rb index 40a031ae..695d9642 100644 --- a/spec/classes/ceilometer_agent_notification_spec.rb +++ b/spec/classes/ceilometer_agent_notification_spec.rb @@ -23,7 +23,7 @@ require 'spec_helper' describe 'ceilometer::agent::notification' do let :pre_condition do - "class { 'ceilometer': metering_secret => 's3cr3t' }" + "class { 'ceilometer': telemetry_secret => 's3cr3t' }" end let :params do diff --git a/spec/classes/ceilometer_agent_polling_spec.rb b/spec/classes/ceilometer_agent_polling_spec.rb index 52bb60fa..5dda8142 100644 --- a/spec/classes/ceilometer_agent_polling_spec.rb +++ b/spec/classes/ceilometer_agent_polling_spec.rb @@ -5,7 +5,7 @@ describe 'ceilometer::agent::polling' 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 diff --git a/spec/classes/ceilometer_api_spec.rb b/spec/classes/ceilometer_api_spec.rb index 145787dd..27b70e8e 100644 --- a/spec/classes/ceilometer_api_spec.rb +++ b/spec/classes/ceilometer_api_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'ceilometer::api' do let :pre_condition do - "class { 'ceilometer': metering_secret => 's3cr3t' } + "class { 'ceilometer': telemetry_secret => 's3cr3t' } include ::ceilometer::db" end @@ -96,7 +96,7 @@ describe 'ceilometer::api' do 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 @@ -117,7 +117,7 @@ describe 'ceilometer::api' 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/ diff --git a/spec/classes/ceilometer_collector_spec.rb b/spec/classes/ceilometer_collector_spec.rb index 6c74e2ba..4763ae89 100644 --- a/spec/classes/ceilometer_collector_spec.rb +++ b/spec/classes/ceilometer_collector_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' 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 diff --git a/spec/classes/ceilometer_dispatcher_gnocchi_spec.rb b/spec/classes/ceilometer_dispatcher_gnocchi_spec.rb index 96d5dcbf..e4554005 100644 --- a/spec/classes/ceilometer_dispatcher_gnocchi_spec.rb +++ b/spec/classes/ceilometer_dispatcher_gnocchi_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'ceilometer::dispatcher::gnocchi' do let :pre_condition do - "class { 'ceilometer': metering_secret => 's3cr3t' }" + "class { 'ceilometer': telemetry_secret => 's3cr3t' }" end let :params do diff --git a/spec/classes/ceilometer_expirer_spec.rb b/spec/classes/ceilometer_expirer_spec.rb index 765e613f..3bf6fe05 100644 --- a/spec/classes/ceilometer_expirer_spec.rb +++ b/spec/classes/ceilometer_expirer_spec.rb @@ -23,7 +23,7 @@ require 'spec_helper' describe 'ceilometer::expirer' do let :pre_condition do - "class { 'ceilometer': metering_secret => 's3cr3t' }" + "class { 'ceilometer': telemetry_secret => 's3cr3t' }" end let :params do diff --git a/spec/classes/ceilometer_init_spec.rb b/spec/classes/ceilometer_init_spec.rb index 111ec464..38f41b13 100644 --- a/spec/classes/ceilometer_init_spec.rb +++ b/spec/classes/ceilometer_init_spec.rb @@ -7,7 +7,7 @@ describe 'ceilometer' 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', @@ -102,13 +102,13 @@ describe 'ceilometer' do ) 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 @@ -208,6 +208,25 @@ describe 'ceilometer' do 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('') } diff --git a/spec/classes/ceilometer_wsgi_apache_spec.rb b/spec/classes/ceilometer_wsgi_apache_spec.rb index 54fcfb3a..c1840523 100644 --- a/spec/classes/ceilometer_wsgi_apache_spec.rb +++ b/spec/classes/ceilometer_wsgi_apache_spec.rb @@ -11,7 +11,7 @@ describe 'ceilometer::wsgi::apache' do 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