Deprecate and unset the enabled_drivers option
The classic drivers are being removed, with the removal of pxe_ipmitool already planned. The enabled_drivers option is deprecated in this change and is made no-op, since there are no more classic drivers to enable with it. We also force it to be empty, since the ironic team is planning on a validate that is not set on ironic-conductor start up. Change-Id: I6e02f59807c98643923d1c2333fcb25114735f25
This commit is contained in:
parent
b77a2d5ab1
commit
d04996c9d3
@ -27,10 +27,6 @@
|
|||||||
# (optional) Define if the service must be enabled or not.
|
# (optional) Define if the service must be enabled or not.
|
||||||
# Defaults to true.
|
# Defaults to true.
|
||||||
#
|
#
|
||||||
# [*enabled_drivers*]
|
|
||||||
# (optional) Array of drivers to load during service initialization.
|
|
||||||
# Defaults to ['pxe_ipmitool'].
|
|
||||||
#
|
|
||||||
# [*enabled_hardware_types*]
|
# [*enabled_hardware_types*]
|
||||||
# (optional) Array of hardware types to load during service initialization.
|
# (optional) Array of hardware types to load during service initialization.
|
||||||
# Defaults to ['ipmi'].
|
# Defaults to ['ipmi'].
|
||||||
@ -140,10 +136,16 @@
|
|||||||
# so that the baremetal node is in the desired new power state.
|
# so that the baremetal node is in the desired new power state.
|
||||||
# Defaults to $::os_service_default
|
# Defaults to $::os_service_default
|
||||||
#
|
#
|
||||||
|
# DEPRECATED PARAMETERS
|
||||||
|
#
|
||||||
|
# [*enabled_drivers*]
|
||||||
|
# (optional) Array of drivers to load during service initialization.
|
||||||
|
# Deprecated and does nothing since the classic drivers have been removed.
|
||||||
|
# Defaults to undef
|
||||||
|
#
|
||||||
class ironic::conductor (
|
class ironic::conductor (
|
||||||
$package_ensure = 'present',
|
$package_ensure = 'present',
|
||||||
$enabled = true,
|
$enabled = true,
|
||||||
$enabled_drivers = ['pxe_ipmitool'],
|
|
||||||
$enabled_hardware_types = ['ipmi'],
|
$enabled_hardware_types = ['ipmi'],
|
||||||
$max_time_interval = '120',
|
$max_time_interval = '120',
|
||||||
$force_power_state_during_sync = true,
|
$force_power_state_during_sync = true,
|
||||||
@ -165,6 +167,7 @@ class ironic::conductor (
|
|||||||
$provisioning_network_name = undef,
|
$provisioning_network_name = undef,
|
||||||
$rescuing_network_name = undef,
|
$rescuing_network_name = undef,
|
||||||
$power_state_change_timeout = $::os_service_default,
|
$power_state_change_timeout = $::os_service_default,
|
||||||
|
$enabled_drivers = undef,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include ::ironic::deps
|
include ::ironic::deps
|
||||||
@ -185,7 +188,6 @@ class ironic::conductor (
|
|||||||
fail('rescuing_network_name and rescuing_network can not be specified in the same time.')
|
fail('rescuing_network_name and rescuing_network can not be specified in the same time.')
|
||||||
}
|
}
|
||||||
|
|
||||||
validate_array($enabled_drivers)
|
|
||||||
validate_array($enabled_hardware_types)
|
validate_array($enabled_hardware_types)
|
||||||
|
|
||||||
# NOTE(dtantsur): all in-tree drivers are IPA-based, so it won't hurt
|
# NOTE(dtantsur): all in-tree drivers are IPA-based, so it won't hurt
|
||||||
@ -194,8 +196,7 @@ class ironic::conductor (
|
|||||||
|
|
||||||
# On Ubuntu, ipmitool dependency is missing and ironic-conductor fails to start.
|
# On Ubuntu, ipmitool dependency is missing and ironic-conductor fails to start.
|
||||||
# https://bugs.launchpad.net/cloud-archive/+bug/1572800
|
# https://bugs.launchpad.net/cloud-archive/+bug/1572800
|
||||||
if (member($enabled_drivers, 'pxe_ipmitool') or
|
if member($enabled_hardware_types, 'ipmi') and $::osfamily == 'Debian' {
|
||||||
member($enabled_hardware_types, 'ipmi')) and $::osfamily == 'Debian' {
|
|
||||||
ensure_packages('ipmitool',
|
ensure_packages('ipmitool',
|
||||||
{
|
{
|
||||||
ensure => $package_ensure,
|
ensure => $package_ensure,
|
||||||
@ -229,7 +230,8 @@ class ironic::conductor (
|
|||||||
|
|
||||||
# Configure ironic.conf
|
# Configure ironic.conf
|
||||||
ironic_config {
|
ironic_config {
|
||||||
'DEFAULT/enabled_drivers': value => join($enabled_drivers, ',');
|
# Force removal of the deprecated options to avoid failures. Remove in Stein.
|
||||||
|
'DEFAULT/enabled_drivers': ensure => absent;
|
||||||
'DEFAULT/enabled_hardware_types': value => join($enabled_hardware_types, ',');
|
'DEFAULT/enabled_hardware_types': value => join($enabled_hardware_types, ',');
|
||||||
'conductor/max_time_interval': value => $max_time_interval;
|
'conductor/max_time_interval': value => $max_time_interval;
|
||||||
'conductor/force_power_state_during_sync': value => $force_power_state_during_sync;
|
'conductor/force_power_state_during_sync': value => $force_power_state_during_sync;
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
The ``enabled_drivers`` configuration option will be unset on upgrade.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
The ``ironic::conductor::enabled_drivers`` option is deprecated and has
|
||||||
|
no effect. Use ``ironic::conductor::enabled_hardware_types`` to configure
|
||||||
|
the enabled hardware types.
|
@ -25,7 +25,6 @@ describe 'ironic::conductor' do
|
|||||||
let :default_params do
|
let :default_params do
|
||||||
{ :package_ensure => 'present',
|
{ :package_ensure => 'present',
|
||||||
:enabled => true,
|
:enabled => true,
|
||||||
:enabled_drivers => ['pxe_ipmitool'],
|
|
||||||
:enabled_hardware_types => ['ipmi'],
|
:enabled_hardware_types => ['ipmi'],
|
||||||
:max_time_interval => '120',
|
:max_time_interval => '120',
|
||||||
:force_power_state_during_sync => true }
|
:force_power_state_during_sync => true }
|
||||||
@ -63,7 +62,7 @@ describe 'ironic::conductor' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it 'configures ironic.conf' do
|
it 'configures ironic.conf' do
|
||||||
is_expected.to contain_ironic_config('DEFAULT/enabled_drivers').with_value('pxe_ipmitool')
|
is_expected.to contain_ironic_config('DEFAULT/enabled_drivers').with_ensure('absent')
|
||||||
is_expected.to contain_ironic_config('DEFAULT/enabled_hardware_types').with_value('ipmi')
|
is_expected.to contain_ironic_config('DEFAULT/enabled_hardware_types').with_value('ipmi')
|
||||||
is_expected.to contain_ironic_config('conductor/max_time_interval').with_value(p[:max_time_interval])
|
is_expected.to contain_ironic_config('conductor/max_time_interval').with_value(p[:max_time_interval])
|
||||||
is_expected.to contain_ironic_config('conductor/force_power_state_during_sync').with_value(p[:force_power_state_during_sync])
|
is_expected.to contain_ironic_config('conductor/force_power_state_during_sync').with_value(p[:force_power_state_during_sync])
|
||||||
@ -86,7 +85,6 @@ describe 'ironic::conductor' do
|
|||||||
context 'when overriding parameters' do
|
context 'when overriding parameters' do
|
||||||
before :each do
|
before :each do
|
||||||
params.merge!(
|
params.merge!(
|
||||||
:enabled_drivers => ['pxe_ilo', 'agent_ilo'],
|
|
||||||
:enabled_hardware_types => ['ipmi', 'irmc'],
|
:enabled_hardware_types => ['ipmi', 'irmc'],
|
||||||
:max_time_interval => '50',
|
:max_time_interval => '50',
|
||||||
:force_power_state_during_sync => false,
|
:force_power_state_during_sync => false,
|
||||||
@ -106,7 +104,6 @@ describe 'ironic::conductor' do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
it 'should replace default parameter with new value' do
|
it 'should replace default parameter with new value' do
|
||||||
is_expected.to contain_ironic_config('DEFAULT/enabled_drivers').with_value('pxe_ilo,agent_ilo')
|
|
||||||
is_expected.to contain_ironic_config('DEFAULT/enabled_hardware_types').with_value('ipmi,irmc')
|
is_expected.to contain_ironic_config('DEFAULT/enabled_hardware_types').with_value('ipmi,irmc')
|
||||||
is_expected.to contain_ironic_config('conductor/max_time_interval').with_value(p[:max_time_interval])
|
is_expected.to contain_ironic_config('conductor/max_time_interval').with_value(p[:max_time_interval])
|
||||||
is_expected.to contain_ironic_config('conductor/force_power_state_during_sync').with_value(p[:force_power_state_during_sync])
|
is_expected.to contain_ironic_config('conductor/force_power_state_during_sync').with_value(p[:force_power_state_during_sync])
|
||||||
|
Loading…
Reference in New Issue
Block a user