From 93046343f8dc03e07a2b3120aa6d4a9e7ea80bdf Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 30 Jan 2024 00:36:20 +0900 Subject: [PATCH] Add support for oslo.reports options Depends-on: https://review.opendev.org/804804 Change-Id: Id2e06c51defc715bc9a308a80615b06ab1a4bb7f --- manifests/reports.pp | 33 ++++++++++++++ .../notes/oslo-reports-ca22920b4392b6e8.yaml | 4 ++ spec/classes/cinder_reports_spec.rb | 45 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 manifests/reports.pp create mode 100644 releasenotes/notes/oslo-reports-ca22920b4392b6e8.yaml create mode 100644 spec/classes/cinder_reports_spec.rb diff --git a/manifests/reports.pp b/manifests/reports.pp new file mode 100644 index 00000000..c24e037c --- /dev/null +++ b/manifests/reports.pp @@ -0,0 +1,33 @@ +# == Class: cinder::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 cinder::reports( + $log_dir = $facts['os_service_default'], + $file_event_handler = $facts['os_service_default'], + $file_event_handler_interval = $facts['os_service_default'], +) { + + include cinder::deps + + oslo::reports { 'cinder_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-ca22920b4392b6e8.yaml b/releasenotes/notes/oslo-reports-ca22920b4392b6e8.yaml new file mode 100644 index 00000000..49089149 --- /dev/null +++ b/releasenotes/notes/oslo-reports-ca22920b4392b6e8.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + The new ``cinder::reports`` class has been added. diff --git a/spec/classes/cinder_reports_spec.rb b/spec/classes/cinder_reports_spec.rb new file mode 100644 index 00000000..7be45a59 --- /dev/null +++ b/spec/classes/cinder_reports_spec.rb @@ -0,0 +1,45 @@ +require 'spec_helper' + +describe 'cinder::reports' do + shared_examples 'cinder::reports' do + context 'with default parameters' do + it { + is_expected.to contain_oslo__reports('cinder_config').with( + :log_dir => '', + :file_event_handler => '', + :file_event_handler_interval => '', + ) + } + end + + context 'with specified parameters' do + let :params do + { + :log_dir => '/var/log/cinder', + :file_event_handler => '/var/tmp/cinder/reports', + :file_event_handler_interval => 1, + } + end + + it { + is_expected.to contain_oslo__reports('cinder_config').with( + :log_dir => '/var/log/cinder', + :file_event_handler => '/var/tmp/cinder/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 'cinder::reports' + end + end +end