compute: Add support for tunables parameters

Change-Id: I21c1f7b46c008131301a86ab01616dd9b63b610d
This commit is contained in:
Takashi Kajinami 2021-12-17 15:39:14 +09:00
parent 5d40c9503c
commit 6892474ace
3 changed files with 35 additions and 5 deletions

View File

@ -36,6 +36,15 @@
# * 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 = ''

View File

@ -0,0 +1,5 @@
---
features:
- |
Support for the ``[compute] resource_update_interval`` parameter and
the ``[compute] resource_cache_expiry`` parameter has been added.

View 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