# * libvirt_metadata: get instances from libvirt metadata
# but without instance metadata (recommended for Gnocchi backend).
#
+# [*manage_polling*]
+# (Optional) Whether to manage polling.yaml
+# Defaults to false
+#
+# [*polling_interval*]
+# (Optional) Number of seconds between polling cycle
+# Defaults to 600 seconds, used only if manage_polling is true.
+#
class ceilometer::agent::polling (
$manage_service = true,
$enabled = true,
$ipmi_namespace = true,
$coordination_url = undef,
$instance_discovery_method = $::os_service_default,
+ $manage_polling = false,
+ $polling_interval = 600,
) inherits ceilometer {
include ::ceilometer::deps
'coordination/backend_url': value => $coordination_url
}
}
+
+ if $manage_polling {
+ file { 'polling':
+ ensure => present,
+ path => $::ceilometer::params::polling,
+ content => template('ceilometer/polling.yaml.erb'),
+ selinux_ignore_defaults => true,
+ }
+ }
}
$user = 'ceilometer'
$event_pipeline = '/etc/ceilometer/event_pipeline.yaml'
$pipeline = '/etc/ceilometer/pipeline.yaml'
+ $polling = '/etc/ceilometer/polling.yaml'
$client_package_name = 'python-ceilometerclient'
case $::osfamily {
end
end
+ context "with polling management enabled" do
+ before { params.merge!(
+ :manage_polling => true
+ ) }
+
+ it { is_expected.to contain_file('polling').with(
+ 'path' => '/etc/ceilometer/polling.yaml',
+ ) }
+ end
+
+ context "with polling management disabled" do
+ before { params.merge!(
+ :manage_polling => false
+ ) }
+
+ it { is_expected.not_to contain_file('polling') }
+ end
+
it 'configures central agent' do
is_expected.to contain_ceilometer_config('coordination/backend_url').with_value( params[:coordination_url] )
end