Merge "Support arbitrary configurations of inspector.conf"
This commit is contained in:
commit
b32397ce51
|
@ -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)
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The new ``ironic::inspector::config`` class has been added. This class
|
||||||
|
allows arbitrary configurations of ``ironic-inspector.conf``.
|
|
@ -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
|
Loading…
Reference in New Issue