Add support for oslo.reports options

Depends-on: https://review.opendev.org/804804
Change-Id: Iccaaf9bb21085edf99d123b6a9007ee188643f7c
This commit is contained in:
Takashi Kajinami 2024-01-30 00:48:56 +09:00
parent 0442ea6f0c
commit a23697ae4d
3 changed files with 82 additions and 0 deletions

33
manifests/reports.pp Normal file
View File

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

View File

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