Merge "Support arbitrary configurations of inspector.conf"

This commit is contained in:
Zuul 2022-01-08 00:04:34 +00:00 committed by Gerrit Code Review
commit b32397ce51
3 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,32 @@
# == Class: ironic::inspector::config
#
# This class is used to manage arbitrary Ironic-inspector configurations.
#
# === Parameters
#
# [*ironic_inspector_config*]
# (optional) Allow configuration of arbitrary Ironic-inspector configurations.
# The value is an hash of ironic_config resources. Example:
# { 'DEFAULT/foo' => { value => 'fooValue'},
# 'DEFAULT/bar' => { value => 'barValue'}
# }
# In yaml format, Example:
# ironic_config:
# DEFAULT/foo:
# value: fooValue
# DEFAULT/bar:
# value: barValue
#
# NOTE: The configuration MUST NOT be already handled by this module
# or Puppet catalog compilation will fail with duplicate resources.
#
class ironic::inspector::config (
$ironic_inspector_config = {},
) {
include ironic::deps
validate_legacy(Hash, 'validate_hash', $ironic_inspector_config)
create_resources('ironic_inspector_config', $ironic_inspector_config)
}

View File

@ -0,0 +1,5 @@
---
features:
- |
The new ``ironic::inspector::config`` class has been added. This class
allows arbitrary configurations of ``ironic-inspector.conf``.

View File

@ -0,0 +1,35 @@
require 'spec_helper'
describe 'ironic::inspector::config' do
let :params do
{
:ironic_inspector_config => {
'DEFAULT/foo' => { 'value' => 'fooValue' },
'DEFAULT/bar' => { 'value' => 'barValue' },
'DEFAULT/baz' => { 'ensure' => 'absent' }
}
}
end
shared_examples 'ironic::inspector::config' do
it { should contain_class('ironic::deps') }
it {
should contain_ironic_inspector_config('DEFAULT/foo').with_value('fooValue')
should contain_ironic_inspector_config('DEFAULT/bar').with_value('barValue')
should contain_ironic_inspector_config('DEFAULT/baz').with_ensure('absent')
}
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::inspector::config'
end
end
end