Add support for [inventory] parameters
Depends-on: https://review.opendev.org/c/openstack/ironic/+/870470 Change-Id: I38b480f09332ad50c70fc35f175a0a9dd3826bc7
This commit is contained in:
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
|
Reference in New Issue
Block a user