Add support for [inventory] parameters
Depends-on: https://review.opendev.org/c/openstack/ironic/+/870470 Change-Id: I38b480f09332ad50c70fc35f175a0a9dd3826bc7
This commit is contained in:
parent
c8978dcba2
commit
def2473550
34
manifests/inventory.pp
Normal file
34
manifests/inventory.pp
Normal file
@ -0,0 +1,34 @@
|
||||
# == Class: ironic::inventory
|
||||
#
|
||||
# Configure the inventory parameters
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*data_backend*]
|
||||
# (Optional) The storage backend for storing introspection data.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
# [*swift_data_container*]
|
||||
# (Optional) The Swift introspection data container to store the inventory
|
||||
# data.
|
||||
# Defaults to $::os_service_default.
|
||||
#
|
||||
class ironic::inventory (
|
||||
$data_backend = $::os_service_default,
|
||||
$swift_data_container = $::os_service_default,
|
||||
) {
|
||||
|
||||
include ironic::deps
|
||||
include ironic::params
|
||||
|
||||
if ! is_service_default($data_backend) {
|
||||
validate_legacy(Enum['none', 'database', 'swift'], 'validate_re', $data_backend,
|
||||
['^none$', '^database$', '^swift$'])
|
||||
}
|
||||
|
||||
ironic_config {
|
||||
'inventory/data_backend': value => $data_backend;
|
||||
'inventory/swift_data_container': value => $swift_data_container;
|
||||
}
|
||||
|
||||
}
|
4
releasenotes/notes/inventory-ffdad31e3fc409c5.yaml
Normal file
4
releasenotes/notes/inventory-ffdad31e3fc409c5.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The new ``ironic::inventory`` class has been added.
|
45
spec/classes/ironic_inventory_spec.rb
Normal file
45
spec/classes/ironic_inventory_spec.rb
Normal file
@ -0,0 +1,45 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'ironic::inventory' do
|
||||
|
||||
shared_examples_for 'ironic::inventory' do
|
||||
|
||||
context 'with default parameters' do
|
||||
let :params do
|
||||
{}
|
||||
end
|
||||
|
||||
it 'configures default values' do
|
||||
is_expected.to contain_ironic_config('inventory/data_backend').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_ironic_config('inventory/swift_data_container').with_value('<SERVICE DEFAULT>')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with specific parameters' do
|
||||
let :params do
|
||||
{
|
||||
:data_backend => 'database',
|
||||
:swift_data_container => 'introspection_data_container'
|
||||
}
|
||||
end
|
||||
|
||||
it 'configures specified values' do
|
||||
is_expected.to contain_ironic_config('inventory/data_backend').with_value('database')
|
||||
is_expected.to contain_ironic_config('inventory/swift_data_container').with_value('introspection_data_container')
|
||||
end
|
||||
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_configures 'ironic::inventory'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user