]> 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)
committerTakashi Kajinami <tkajinam@redhat.com>
Fri, 21 Apr 2023 01:04:56 +0000 (01:04 +0000)
... instead of leaving the parameters unmanaged.

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

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

index 8dbb70c721cf909bd5d4d67794043d225e97c667..2504f56754aa0dbcd0883b6784be3dc03aa59eab 100644 (file)
@@ -95,7 +95,7 @@ class ceilometer::agent::polling (
   if $central_namespace {
     $central_namespace_name = 'central'
   } else {
-    $central_namespace_name = ''
+    $central_namespace_name = undef
   }
 
   if $compute_namespace {
@@ -121,27 +121,39 @@ class ceilometer::agent::polling (
       'compute/resource_cache_expiry':     value => $resource_cache_expiry;
     }
   } 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 3f1fdf49faf681d704818dea414c9b87d8086112..d585a81babc6856acacd173123a23c82decf37d6 100644 (file)
@@ -83,15 +83,44 @@ describe 'ceilometer::agent::polling' do
       }
     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 )