From 3042965cca5577d75382df97acba7f9f63339910 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 30 Jan 2024 00:50:14 +0900 Subject: [PATCH] Add support for oslo.reports options Depends-on: https://review.opendev.org/804804 Change-Id: I2216ae2256a9898bc663157698445022382b4ff5 --- manifests/reports.pp | 33 ++++++++++++++ .../notes/oslo-reports-ac7c3a08f7cef23d.yaml | 4 ++ spec/classes/zaqar_reports_spec.rb | 45 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 manifests/reports.pp create mode 100644 releasenotes/notes/oslo-reports-ac7c3a08f7cef23d.yaml create mode 100644 spec/classes/zaqar_reports_spec.rb diff --git a/manifests/reports.pp b/manifests/reports.pp new file mode 100644 index 0000000..016cf9d --- /dev/null +++ b/manifests/reports.pp @@ -0,0 +1,33 @@ +# == Class: zaqar::reports +# +# Configure oslo_reports options +# +# === Parameters +# +# [*log_dir*] +# (Optional) Path to a log directory where to create a file +# Defaults to $facts['os_service_default'] +# +# [*file_event_handler*] +# (Optional) The path to a file to watch for changes to trigger the reports. +# Defaults to $facts['os_service_default'] +# +# [*file_event_handler_interval*] +# (Optional) How many seconds to wait between pools when file_event_handler +# is set. +# Defaults to $facts['os_service_default'] +# +class zaqar::reports( + $log_dir = $facts['os_service_default'], + $file_event_handler = $facts['os_service_default'], + $file_event_handler_interval = $facts['os_service_default'], +) { + + include zaqar::deps + + oslo::reports { 'zaqar_config': + log_dir => $log_dir, + file_event_handler => $file_event_handler, + file_event_handler_interval => $file_event_handler_interval, + } +} diff --git a/releasenotes/notes/oslo-reports-ac7c3a08f7cef23d.yaml b/releasenotes/notes/oslo-reports-ac7c3a08f7cef23d.yaml new file mode 100644 index 0000000..7faa5bb --- /dev/null +++ b/releasenotes/notes/oslo-reports-ac7c3a08f7cef23d.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + The new ``zaqar::reports`` class has been added. diff --git a/spec/classes/zaqar_reports_spec.rb b/spec/classes/zaqar_reports_spec.rb new file mode 100644 index 0000000..ddf79a2 --- /dev/null +++ b/spec/classes/zaqar_reports_spec.rb @@ -0,0 +1,45 @@ +require 'spec_helper' + +describe 'zaqar::reports' do + shared_examples 'zaqar::reports' do + context 'with default parameters' do + it { + is_expected.to contain_oslo__reports('zaqar_config').with( + :log_dir => '', + :file_event_handler => '', + :file_event_handler_interval => '', + ) + } + end + + context 'with specified parameters' do + let :params do + { + :log_dir => '/var/log/zaqar', + :file_event_handler => '/var/tmp/zaqar/reports', + :file_event_handler_interval => 1, + } + end + + it { + is_expected.to contain_oslo__reports('zaqar_config').with( + :log_dir => '/var/log/zaqar', + :file_event_handler => '/var/tmp/zaqar/reports', + :file_event_handler_interval => 1, + ) + } + end + end + + on_supported_os({ + :supported_os => OSDefaults.get_supported_os + }).each do |os,facts| + context "on #{os}" do + let (:facts) do + facts.merge(OSDefaults.get_facts()) + end + + it_behaves_like 'zaqar::reports' + end + end +end