Add support for oslo.reports options

Depends-on: https://review.opendev.org/804804
Change-Id: I83da2a6dcfc42aa8c363c8894188977c3be3b7a2
This commit is contained in:
Takashi Kajinami 2024-01-30 00:47:33 +09:00
parent 332fb89413
commit 49c63e5a10
3 changed files with 82 additions and 0 deletions

33
manifests/reports.pp Normal file
View File

@ -0,0 +1,33 @@
# == Class: nova::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 nova::reports(
$log_dir = $facts['os_service_default'],
$file_event_handler = $facts['os_service_default'],
$file_event_handler_interval = $facts['os_service_default'],
) {
include nova::deps
oslo::reports { 'nova_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 ``nova::reports`` class has been added.

View File

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