Support configuring enabled and default storage interface(s)

Change-Id: Id6a00a3829b9494cd726bf8e72979ba3ae757028
This commit is contained in:
Dmitry Tantsur 2017-07-19 17:22:55 +02:00
parent e15b0fdb8d
commit 84a4c0117f
3 changed files with 23 additions and 0 deletions

View File

@ -54,6 +54,11 @@
# raid_interface field set.
# Defaults to $::os_service_default
#
# [*default_storage_interface*]
# (optional) Default storage interface to be used for nodes that do not have
# storage_interface field set.
# Defaults to $::os_service_default
#
# [*default_vendor_interface*]
# (optional) Default vendor interface to be used for nodes that do not have
# vendor_interface field set.
@ -99,6 +104,11 @@
# service initialization.
# Defaults to $::os_service_default
#
# [*enabled_storage_interfaces*]
# (optional) Specify the list of storage interfaces to load during
# service initialization.
# Defaults to $::os_service_default
#
# [*enabled_vendor_interfaces*]
# (optional) Specify the list of vendor interfaces to load during
# service initialization.
@ -113,6 +123,7 @@ class ironic::drivers::interfaces (
$default_network_interface = $::os_service_default,
$default_power_interface = $::os_service_default,
$default_raid_interface = $::os_service_default,
$default_storage_interface = $::os_service_default,
$default_vendor_interface = $::os_service_default,
$enabled_boot_interfaces = $::os_service_default,
$enabled_console_interfaces = $::os_service_default,
@ -122,6 +133,7 @@ class ironic::drivers::interfaces (
$enabled_network_interfaces = $::os_service_default,
$enabled_power_interfaces = $::os_service_default,
$enabled_raid_interfaces = $::os_service_default,
$enabled_storage_interfaces = $::os_service_default,
$enabled_vendor_interfaces = $::os_service_default,
) {
@ -142,6 +154,8 @@ class ironic::drivers::interfaces (
'default' => $default_power_interface },
'raid' => { 'enabled_list' => $enabled_raid_interfaces,
'default' => $default_raid_interface },
'storage' => { 'enabled_list' => $enabled_storage_interfaces,
'default' => $default_storage_interface },
'vendor' => { 'enabled_list' => $enabled_vendor_interfaces,
'default' => $default_vendor_interface },
}

View File

@ -0,0 +1,6 @@
---
features:
- |
Add new parameters ``enabled_storage_interfaces`` and
``default_storage_interface`` to the ``ironic::drivers::interfaces``
manifest. This allows configuring the newly introduced storage interface.

View File

@ -28,6 +28,7 @@ describe 'ironic::drivers::interfaces' do
it { is_expected.to contain_ironic_config('DEFAULT/enabled_network_interfaces').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_power_interfaces').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_raid_interfaces').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_storage_interfaces').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_vendor_interfaces').with_value('<SERVICE DEFAULT>') }
end
@ -41,6 +42,7 @@ describe 'ironic::drivers::interfaces' do
:enabled_network_interfaces => ['flat','neutron'],
:enabled_power_interfaces => ['irmc', 'ipmitool'],
:enabled_raid_interfaces => ['agent', 'no-raid'],
:enabled_storage_interfaces => ['cinder'],
:enabled_vendor_interfaces => ['no-vendor'] }
end
@ -52,6 +54,7 @@ describe 'ironic::drivers::interfaces' do
it { is_expected.to contain_ironic_config('DEFAULT/enabled_network_interfaces').with_value('flat,neutron') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_power_interfaces').with_value('irmc,ipmitool') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_raid_interfaces').with_value('agent,no-raid') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_storage_interfaces').with_value('cinder') }
it { is_expected.to contain_ironic_config('DEFAULT/enabled_vendor_interfaces').with_value('no-vendor') }
end