]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
polling: Ensure unused parameters are cleared
authorTakashi Kajinami <tkajinam@redhat.com>
Tue, 3 May 2022 15:48:48 +0000 (00:48 +0900)
committerYadnesh Kulkarni <yadnesh_kulkarni@proton.me>
Mon, 17 Apr 2023 06:43:29 +0000 (12:13 +0530)
... instead of leaving the parameters unmanaged.

Change-Id: I0eeb25b131385ad4448fc8cec04efbdce0b7d87a
(cherry picked from commit 2c48365980cd93de53aa17f25dc2531c8bcbfc6e)
(cherry picked from commit 7768fad0e1d44b53fa26709fe6817d9e13b8ddf6)

manifests/agent/polling.pp
spec/classes/ceilometer_agent_polling_spec.rb

index 5d5d51fce0bb077fb1fa511170881000fd44d4ee..6b895d0ac52e278adb32ec0d5937dea1a5f870d2 100644 (file)
@@ -87,7 +87,7 @@ class ceilometer::agent::polling (
   if $central_namespace {
     $central_namespace_name = 'central'
   } else {
-    $central_namespace_name = ''
+    $central_namespace_name = undef
   }
 
   if $compute_namespace {
@@ -111,27 +111,39 @@ class ceilometer::agent::polling (
       'compute/instance_discovery_method': value => $instance_discovery_method,
     }
   } else {
-    $compute_namespace_name = ''
+    $compute_namespace_name = undef
+    ceilometer_config {
+      'compute/instance_discovery_method': ensure => absent;
+      'compute/resource_update_interval':  ensure => absent;
+      'compute/resource_cache_expiry':     ensure => absent;
+    }
   }
 
   if $ipmi_namespace {
     $ipmi_namespace_name = 'ipmi'
   } else {
-    $ipmi_namespace_name = ''
+    $ipmi_namespace_name = undef
   }
 
-  $namespaces = delete([$central_namespace_name, $compute_namespace_name, $ipmi_namespace_name], '')
-  $namespaces_real = inline_template('<%= @namespaces.select { |x| x and x !~ /^undef/ }.compact.join "," %>')
-
   package { 'ceilometer-polling':
     ensure => $package_ensure,
     name   => $::ceilometer::params::agent_polling_package_name,
     tag    => ['openstack', 'ceilometer-package'],
   }
 
-  if $namespaces_real {
+  $namespaces_real = delete_undef_values([
+    $central_namespace_name,
+    $compute_namespace_name,
+    $ipmi_namespace_name
+  ])
+
+  if empty($namespaces_real) {
+    ceilometer_config {
+      'DEFAULT/polling_namespaces': ensure => absent
+    }
+  } else {
     ceilometer_config {
-      'DEFAULT/polling_namespaces': value => $namespaces_real
+      'DEFAULT/polling_namespaces': value => join($namespaces_real, ',')
     }
   }
 
index 0b8ee22a63276fccc0ccdfd4efb14a2cd727d9dc..921d2854a863fb54af55c27370afd44f5342f019 100644 (file)
@@ -69,15 +69,44 @@ describe 'ceilometer::agent::polling' do
       it { should contain_ceilometer_config('compute/instance_discovery_method').with_value('naive') }
     end
 
+    context 'with compute namespace disabled' do
+      before do
+        params.merge!(
+          :compute_namespace => false
+        )
+      end
+
+      it {
+        should contain_ceilometer_config('DEFAULT/polling_namespaces').with_value('central,ipmi')
+        should contain_ceilometer_config('compute/instance_discovery_method').with_ensure('absent')
+        should contain_ceilometer_config('compute/resource_update_interval').with_ensure('absent')
+        should contain_ceilometer_config('compute/resource_cache_expiry').with_ensure('absent')
+      }
+    end
+
     context 'with central and ipmi polling namespaces disabled' do
       before do
-        params.merge!( :central_namespace => false,
-                       :ipmi_namespace    => false )
+        params.merge!(
+          :central_namespace => false,
+          :ipmi_namespace    => false
+        )
       end
 
       it { should contain_ceilometer_config('DEFAULT/polling_namespaces').with_value('compute') }
     end
 
+    context 'with all namespaces disabled' do
+      before do
+        params.merge!(
+          :compute_namespace => false,
+          :central_namespace => false,
+          :ipmi_namespace    => false
+        )
+      end
+
+      it { should contain_ceilometer_config('DEFAULT/polling_namespaces').with_ensure('absent') }
+    end
+
     context 'with service disabled' do
       before do
         params.merge!( :enabled => false )