From 8a5ec2926068f1d67775fef3eab6a6e39de34a29 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Wed, 29 Apr 2020 00:02:28 +0900 Subject: [PATCH] Deprecate ceilometer::expirer ... because ceilometer-expirer has already been removed from ceilometer[1]. [1] 9323f07f977f320882f8b536c3b54835274826fc Change-Id: I2c52c6e3f4c25397a7ffaea199d6f08809448558 --- examples/ceilometer_with_gnocchi.pp | 1 - examples/site.pp | 3 - manifests/expirer.pp | 49 +++------ manifests/params.pp | 1 - .../deprecate-expirer-12d11f4a2b277c3f.yaml | 5 + .../acceptance/ceilometer_wsgi_apache_spec.rb | 4 - spec/classes/ceilometer_expirer_spec.rb | 102 ------------------ 7 files changed, 19 insertions(+), 146 deletions(-) create mode 100644 releasenotes/notes/deprecate-expirer-12d11f4a2b277c3f.yaml delete mode 100644 spec/classes/ceilometer_expirer_spec.rb diff --git a/examples/ceilometer_with_gnocchi.pp b/examples/ceilometer_with_gnocchi.pp index abf43c5..22ed41f 100644 --- a/examples/ceilometer_with_gnocchi.pp +++ b/examples/ceilometer_with_gnocchi.pp @@ -11,7 +11,6 @@ class { 'ceilometer::db': class { 'ceilometer::keystone::auth': password => 'a_big_secret', } -class { 'ceilometer::expirer': } class { 'ceilometer::agent::polling': } class { 'ceilometer::agent::notification': } diff --git a/examples/site.pp b/examples/site.pp index b077f1e..09b0b67 100644 --- a/examples/site.pp +++ b/examples/site.pp @@ -59,9 +59,6 @@ node default { ipmi_namespace => false, } - # Purge old meters - class { 'ceilometer::expirer': } - # Install notification agent class { 'ceilometer::agent::notification': } diff --git a/manifests/expirer.pp b/manifests/expirer.pp index acb0055..4e19b57 100644 --- a/manifests/expirer.pp +++ b/manifests/expirer.pp @@ -17,6 +17,7 @@ # # == Class: ceilometer::expirer # +# DEPRECATED! # Setups Ceilometer Expirer service to enable TTL feature. # # === Parameters @@ -25,52 +26,30 @@ # (optional) Whether to configure a crontab entry to run the expiry. # When set to False, Puppet will try to remove the crontab. # It's useful when we upgrade from Ocata to Pike and want to remove it. -# Defaults to true. +# Defaults to undef. # # [*minute*] -# (optional) Defaults to '1'. +# (optional) Defaults to undef. # # [*hour*] -# (optional) Defaults to '0'. +# (optional) Defaults to undef. # # [*monthday*] -# (optional) Defaults to '*'. +# (optional) Defaults to undef. # # [*month*] -# (optional) Defaults to '*'. +# (optional) Defaults to undef. # # [*weekday*] -# (optional) Defaults to '*'. +# (optional) Defaults to undef. # class ceilometer::expirer ( - $enable_cron = true, - $minute = 1, - $hour = 0, - $monthday = '*', - $month = '*', - $weekday = '*', + $enable_cron = undef, + $minute = undef, + $hour = undef, + $monthday = undef, + $month = undef, + $weekday = undef, ) { - - include ceilometer::params - - Anchor['ceilometer::install::end'] ~> Class['ceilometer::expirer'] - - if $enable_cron { - $ensure = 'present' - } else { - $ensure = 'absent' - } - - cron { 'ceilometer-expirer': - ensure => $ensure, - command => $ceilometer::params::expirer_command, - environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh', - user => 'ceilometer', - minute => $minute, - hour => $hour, - monthday => $monthday, - month => $month, - weekday => $weekday - } - + warning('The ceilometer::expirer class is deprecated and has no effect') } diff --git a/manifests/params.pp b/manifests/params.pp index 1b13df5..c308270 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -7,7 +7,6 @@ class ceilometer::params { include openstacklib::defaults $dbsync_command = 'ceilometer-upgrade' - $expirer_command = 'ceilometer-expirer' $user = 'ceilometer' $event_pipeline = '/etc/ceilometer/event_pipeline.yaml' $pipeline = '/etc/ceilometer/pipeline.yaml' diff --git a/releasenotes/notes/deprecate-expirer-12d11f4a2b277c3f.yaml b/releasenotes/notes/deprecate-expirer-12d11f4a2b277c3f.yaml new file mode 100644 index 0000000..83a131d --- /dev/null +++ b/releasenotes/notes/deprecate-expirer-12d11f4a2b277c3f.yaml @@ -0,0 +1,5 @@ +--- +deprecations: + - | + The ``ceilometer::expirer`` class has been deprecated and has no effect, + and it will be removed in a future release. diff --git a/spec/acceptance/ceilometer_wsgi_apache_spec.rb b/spec/acceptance/ceilometer_wsgi_apache_spec.rb index b76c084..6b2aa10 100644 --- a/spec/acceptance/ceilometer_wsgi_apache_spec.rb +++ b/spec/acceptance/ceilometer_wsgi_apache_spec.rb @@ -22,9 +22,5 @@ describe 'ceilometer with mysql' do apply_manifest(pp, :catch_changes => true) end - describe cron do - it { is_expected.to have_entry('1 0 * * * ceilometer-expirer').with_user('ceilometer') } - end - end end diff --git a/spec/classes/ceilometer_expirer_spec.rb b/spec/classes/ceilometer_expirer_spec.rb deleted file mode 100644 index e354a0e..0000000 --- a/spec/classes/ceilometer_expirer_spec.rb +++ /dev/null @@ -1,102 +0,0 @@ -# -# Copyright (C) 2013 eNovance SAS -# -# Author: Emilien Macchi -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# Unit tests for ceilometer::expirer -# - -require 'spec_helper' - -describe 'ceilometer::expirer' do - - let :pre_condition do - "class { 'ceilometer': telemetry_secret => 's3cr3t' }" - end - - let :params do - {} - end - - shared_examples_for 'ceilometer-expirer' do - - it { is_expected.to contain_class('ceilometer::deps') } - it { is_expected.to contain_class('ceilometer::params') } - - it 'installs ceilometer common package' do - is_expected.to contain_package('ceilometer-common').with( - :ensure => 'present', - :name => platform_params[:common_package_name] - ) - end - - it 'configures a cron' do - is_expected.to contain_cron('ceilometer-expirer').with( - :ensure => 'present', - :command => 'ceilometer-expirer', - :environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh', - :user => 'ceilometer', - :minute => 1, - :hour => 0, - :monthday => '*', - :month => '*', - :weekday => '*' - ) - end - - context 'with cron not enabled' do - before do - params.merge!({ - :enable_cron => false }) - end - it { - is_expected.to contain_cron('ceilometer-expirer').with( - :ensure => 'absent', - :command => 'ceilometer-expirer', - :environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh', - :user => 'ceilometer', - :minute => 1, - :hour => 0, - :monthday => '*', - :month => '*', - :weekday => '*' - ) - } - end - - end - - on_supported_os({ - :supported_os => OSDefaults.get_supported_os - }).each do |os,facts| - context "on #{os}" do - let (:facts) do - facts.merge!(OSDefaults.get_facts()) - end - - let :platform_params do - case facts[:osfamily] - when 'Debian' - { :common_package_name => 'ceilometer-common' } - when 'RedHat' - { :common_package_name => 'openstack-ceilometer-common' } - end - end - - it_behaves_like 'ceilometer-expirer' - end - end - -end -- 2.45.2