]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
compute: Add support for tunables parameters
authorTakashi Kajinami <tkajinam@redhat.com>
Fri, 17 Dec 2021 06:39:14 +0000 (15:39 +0900)
committerTakashi Kajinami <tkajinam@redhat.com>
Fri, 17 Dec 2021 09:11:23 +0000 (18:11 +0900)
Change-Id: I21c1f7b46c008131301a86ab01616dd9b63b610d

manifests/agent/polling.pp
releasenotes/notes/compute-params-ecee48b43a1bdad2.yaml [new file with mode: 0644]
spec/classes/ceilometer_agent_polling_spec.rb

index 94da16ae16b6d5ea6c07e78a7aecc62d62fef691..b8ba7e0d0495dea5ba541c08dee7afde853e5ecc 100644 (file)
 #    * libvirt_metadata: get instances from libvirt metadata
 #      but without instance metadata (recommended for Gnocchi backend).
 #
+# [*resource_update_interval*]
+#   (Optional) New instances will be discovered periodically based on this
+#   option (in seconds).
+#   Defaults to $::os_service_default.
+#
+# [*resource_cache_expiry*]
+#   (Optional) The expiry to totally refresh the instances resource cache.
+#   Defaults to $::os_service_default.
+#
 # [*manage_polling*]
 #   (Optional) Whether to manage polling.yaml
 #   Defaults to false
@@ -72,6 +81,8 @@ class ceilometer::agent::polling (
   $compute_namespace         = true,
   $ipmi_namespace            = true,
   $instance_discovery_method = $::os_service_default,
+  $resource_update_interval  = $::os_service_default,
+  $resource_cache_expiry     = $::os_service_default,
   $manage_polling            = false,
   $polling_interval          = 600,
   $polling_meters            = $::ceilometer::params::polling_meters,
@@ -113,7 +124,9 @@ class ceilometer::agent::polling (
     Package <| title == 'nova-common' |> -> Package['ceilometer-common']
 
     ceilometer_config {
-      'compute/instance_discovery_method': value => $instance_discovery_method,
+      'compute/instance_discovery_method': value => $instance_discovery_method;
+      'compute/resource_update_interval':  value => $resource_update_interval;
+      'compute/resource_cache_expiry':     value => $resource_cache_expiry;
     }
   } else {
     $compute_namespace_name = ''
diff --git a/releasenotes/notes/compute-params-ecee48b43a1bdad2.yaml b/releasenotes/notes/compute-params-ecee48b43a1bdad2.yaml
new file mode 100644 (file)
index 0000000..495d72e
--- /dev/null
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    Support for the ``[compute] resource_update_interval`` parameter and
+    the ``[compute] resource_cache_expiry`` parameter has been added.
index 6d4492f114b02cbcf15c562d791abcd162561e0f..06fbbd94001408e115c9ab245f38eb0fbb2eb874 100644 (file)
@@ -29,7 +29,11 @@ describe 'ceilometer::agent::polling' do
        :before => /Package\[ceilometer-common\]/
       )}
 
-      it { should contain_ceilometer_config('compute/instance_discovery_method').with_value('<SERVICE DEFAULT>') }
+      it {
+        should contain_ceilometer_config('compute/instance_discovery_method').with_value('<SERVICE DEFAULT>')
+        should contain_ceilometer_config('compute/resource_update_interval').with_value('<SERVICE DEFAULT>')
+        should contain_ceilometer_config('compute/resource_cache_expiry').with_value('<SERVICE DEFAULT>')
+      }
 
       it { should contain_package('ceilometer-polling').with(
         :ensure => 'present',
@@ -62,12 +66,20 @@ describe 'ceilometer::agent::polling' do
       )}
     end
 
-    context 'when setting instance_discovery_method' do
+    context 'when compute parameters set' do
       before do
-        params.merge!( :instance_discovery_method => 'naive' )
+        params.merge!(
+          :instance_discovery_method => 'naive',
+          :resource_update_interval  => 0,
+          :resource_cache_expiry     => 3600,
+        )
       end
 
-      it { should contain_ceilometer_config('compute/instance_discovery_method').with_value('naive') }
+      it {
+        should contain_ceilometer_config('compute/instance_discovery_method').with_value('naive')
+        should contain_ceilometer_config('compute/resource_update_interval').with_value(0)
+        should contain_ceilometer_config('compute/resource_cache_expiry').with_value(3600)
+      }
     end
 
     context 'with central and ipmi polling namespaces disabled' do