Add support for oslo.reports options
Depends-on: https://review.opendev.org/907091 Change-Id: I316de2106716b97fcffc0eec02d4480bb94db972
This commit is contained in:
48
manifests/reports.pp
Normal file
48
manifests/reports.pp
Normal file
@@ -0,0 +1,48 @@
|
||||
# == Class: ironic::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']
|
||||
#
|
||||
# [*package_ensure*]
|
||||
# (Optional) ensure state for package.
|
||||
# Defaults to 'present'
|
||||
#
|
||||
# [*manage_package*]
|
||||
# (Optional) Manage oslo.reports package.
|
||||
# Defaults to true
|
||||
#
|
||||
class ironic::reports(
|
||||
$log_dir = $facts['os_service_default'],
|
||||
$file_event_handler = $facts['os_service_default'],
|
||||
$file_event_handler_interval = $facts['os_service_default'],
|
||||
$package_ensure = 'present',
|
||||
Boolean $manage_package = true,
|
||||
) {
|
||||
|
||||
include ironic::deps
|
||||
|
||||
oslo::reports { 'ironic_config':
|
||||
log_dir => $log_dir,
|
||||
file_event_handler => $file_event_handler,
|
||||
file_event_handler_interval => $file_event_handler_interval,
|
||||
package_ensure => $package_ensure,
|
||||
manage_package => $manage_package,
|
||||
}
|
||||
|
||||
# Install the oslo.reports library before starting the ironic service
|
||||
Oslo::Reports['ironic_config'] -> Anchor['ironic::service::begin']
|
||||
}
|
4
releasenotes/notes/oslo-reports-5d3a111ce191107f.yaml
Normal file
4
releasenotes/notes/oslo-reports-5d3a111ce191107f.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The new ``ironic::reports`` class has been added.
|
47
spec/classes/ironic_reports_spec.rb
Normal file
47
spec/classes/ironic_reports_spec.rb
Normal file
@@ -0,0 +1,47 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'ironic::reports' do
|
||||
shared_examples 'ironic::reports' do
|
||||
context 'with default parameters' do
|
||||
it {
|
||||
is_expected.to contain_oslo__reports('ironic_config').with(
|
||||
:log_dir => '<SERVICE DEFAULT>',
|
||||
:file_event_handler => '<SERVICE DEFAULT>',
|
||||
:file_event_handler_interval => '<SERVICE DEFAULT>',
|
||||
:package_ensure => 'present',
|
||||
:manage_package => true,
|
||||
)
|
||||
}
|
||||
end
|
||||
|
||||
context 'with specified parameters' do
|
||||
let :params do
|
||||
{
|
||||
:log_dir => '/var/log/ironic',
|
||||
:file_event_handler => '/var/tmp/ironic/reports',
|
||||
:file_event_handler_interval => 1,
|
||||
}
|
||||
end
|
||||
|
||||
it {
|
||||
is_expected.to contain_oslo__reports('ironic_config').with(
|
||||
:log_dir => '/var/log/ironic',
|
||||
:file_event_handler => '/var/tmp/ironic/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 'ironic::reports'
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user