Add support for oslo.reports options

Depends-on: https://review.opendev.org/804804
Change-Id: I40a76ca2832cbb67dc6836cbcd33e64eb0c20ac1
This commit is contained in:
Takashi Kajinami 2024-01-30 00:42:17 +09:00
parent 0a7a6b0ef0
commit c36b2dba10
3 changed files with 82 additions and 0 deletions

33
manifests/reports.pp Normal file
View File

@ -0,0 +1,33 @@
# == Class: magnum::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 magnum::reports(
$log_dir = $facts['os_service_default'],
$file_event_handler = $facts['os_service_default'],
$file_event_handler_interval = $facts['os_service_default'],
) {
include magnum::deps
oslo::reports { 'magnum_config':
log_dir => $log_dir,
file_event_handler => $file_event_handler,
file_event_handler_interval => $file_event_handler_interval,
}
}

View File

@ -0,0 +1,4 @@
---
features:
- |
The new ``magnum::reports`` class has been added.

View File

@ -0,0 +1,45 @@
require 'spec_helper'
describe 'magnum::reports' do
shared_examples 'magnum::reports' do
context 'with default parameters' do
it {
is_expected.to contain_oslo__reports('magnum_config').with(
:log_dir => '<SERVICE DEFAULT>',
:file_event_handler => '<SERVICE DEFAULT>',
:file_event_handler_interval => '<SERVICE DEFAULT>',
)
}
end
context 'with specified parameters' do
let :params do
{
:log_dir => '/var/log/magnum',
:file_event_handler => '/var/tmp/magnum/reports',
:file_event_handler_interval => 1,
}
end
it {
is_expected.to contain_oslo__reports('magnum_config').with(
:log_dir => '/var/log/magnum',
:file_event_handler => '/var/tmp/magnum/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 'magnum::reports'
end
end
end