Add support for [conductor] error_on_ramdisk_config_inconsistency
This option was introduced during this cycle. Depends-on: https://review.opendev.org/941611 Change-Id: I2459d50438c23303255808c779ef55adc31fd851 Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
This commit is contained in:
@@ -222,6 +222,11 @@
|
|||||||
# containing EFI boot loader.
|
# containing EFI boot loader.
|
||||||
# Defaults to $facts['os_service_default']
|
# Defaults to $facts['os_service_default']
|
||||||
#
|
#
|
||||||
|
# [*error_on_ramdisk_config_inconsistency*]
|
||||||
|
# (optional) Determine if Ironic should fail to boot ramdisk in situation
|
||||||
|
# where configuration is ambiguous.
|
||||||
|
# Defaults to $facts['os_service_default']
|
||||||
|
#
|
||||||
# [*allow_provisioning_in_maintenance*]
|
# [*allow_provisioning_in_maintenance*]
|
||||||
# (optional) Whether to allow nodes to enter or undergo deploy or cleaning
|
# (optional) Whether to allow nodes to enter or undergo deploy or cleaning
|
||||||
# when in maintenance mode. If this option is set to False, and a node enters
|
# when in maintenance mode. If this option is set to False, and a node enters
|
||||||
@@ -259,54 +264,55 @@
|
|||||||
# Defaults to $facts['os_service_default']
|
# Defaults to $facts['os_service_default']
|
||||||
#
|
#
|
||||||
class ironic::conductor (
|
class ironic::conductor (
|
||||||
$package_ensure = 'present',
|
$package_ensure = 'present',
|
||||||
Boolean $enabled = true,
|
Boolean $enabled = true,
|
||||||
Boolean $manage_service = true,
|
Boolean $manage_service = true,
|
||||||
$enabled_hardware_types = $facts['os_service_default'],
|
$enabled_hardware_types = $facts['os_service_default'],
|
||||||
$force_power_state_during_sync = $facts['os_service_default'],
|
$force_power_state_during_sync = $facts['os_service_default'],
|
||||||
$http_url = $facts['os_service_default'],
|
$http_url = $facts['os_service_default'],
|
||||||
Stdlib::Absolutepath $http_root = '/httpboot',
|
Stdlib::Absolutepath $http_root = '/httpboot',
|
||||||
$force_raw_images = $facts['os_service_default'],
|
$force_raw_images = $facts['os_service_default'],
|
||||||
$automated_clean = $facts['os_service_default'],
|
$automated_clean = $facts['os_service_default'],
|
||||||
$cleaning_network = $facts['os_service_default'],
|
$cleaning_network = $facts['os_service_default'],
|
||||||
Optional[Enum['full', 'metadata', 'none']] $cleaning_disk_erase
|
Optional[Enum['full', 'metadata', 'none']] $cleaning_disk_erase
|
||||||
= undef,
|
= undef,
|
||||||
$continue_if_disk_secure_erase_fails = $facts['os_service_default'],
|
$continue_if_disk_secure_erase_fails = $facts['os_service_default'],
|
||||||
$provisioning_network = $facts['os_service_default'],
|
$provisioning_network = $facts['os_service_default'],
|
||||||
$rescuing_network = $facts['os_service_default'],
|
$rescuing_network = $facts['os_service_default'],
|
||||||
$inspection_network = $facts['os_service_default'],
|
$inspection_network = $facts['os_service_default'],
|
||||||
$configdrive_use_object_store = $facts['os_service_default'],
|
$configdrive_use_object_store = $facts['os_service_default'],
|
||||||
$configdrive_swift_container = $facts['os_service_default'],
|
$configdrive_swift_container = $facts['os_service_default'],
|
||||||
$inspect_wait_timeout = $facts['os_service_default'],
|
$inspect_wait_timeout = $facts['os_service_default'],
|
||||||
$default_boot_option = $facts['os_service_default'],
|
$default_boot_option = $facts['os_service_default'],
|
||||||
$default_boot_mode = $facts['os_service_default'],
|
$default_boot_mode = $facts['os_service_default'],
|
||||||
$port_setup_delay = $facts['os_service_default'],
|
$port_setup_delay = $facts['os_service_default'],
|
||||||
$soft_power_off_timeout = $facts['os_service_default'],
|
$soft_power_off_timeout = $facts['os_service_default'],
|
||||||
$power_state_change_timeout = $facts['os_service_default'],
|
$power_state_change_timeout = $facts['os_service_default'],
|
||||||
$sync_power_state_interval = $facts['os_service_default'],
|
$sync_power_state_interval = $facts['os_service_default'],
|
||||||
$sync_power_state_workers = $facts['os_service_default'],
|
$sync_power_state_workers = $facts['os_service_default'],
|
||||||
$power_state_sync_max_retries = $facts['os_service_default'],
|
$power_state_sync_max_retries = $facts['os_service_default'],
|
||||||
$power_failure_recovery_interval = $facts['os_service_default'],
|
$power_failure_recovery_interval = $facts['os_service_default'],
|
||||||
$periodic_max_workers = $facts['os_service_default'],
|
$periodic_max_workers = $facts['os_service_default'],
|
||||||
$graceful_shutdown_timeout = $facts['os_service_default'],
|
$graceful_shutdown_timeout = $facts['os_service_default'],
|
||||||
$conductor_group = $facts['os_service_default'],
|
$conductor_group = $facts['os_service_default'],
|
||||||
$deploy_kernel = $facts['os_service_default'],
|
$deploy_kernel = $facts['os_service_default'],
|
||||||
$deploy_ramdisk = $facts['os_service_default'],
|
$deploy_ramdisk = $facts['os_service_default'],
|
||||||
$deploy_kernel_by_arch = $facts['os_service_default'],
|
$deploy_kernel_by_arch = $facts['os_service_default'],
|
||||||
$deploy_ramdisk_by_arch = $facts['os_service_default'],
|
$deploy_ramdisk_by_arch = $facts['os_service_default'],
|
||||||
$rescue_kernel = $facts['os_service_default'],
|
$rescue_kernel = $facts['os_service_default'],
|
||||||
$rescue_ramdisk = $facts['os_service_default'],
|
$rescue_ramdisk = $facts['os_service_default'],
|
||||||
$rescue_kernel_by_arch = $facts['os_service_default'],
|
$rescue_kernel_by_arch = $facts['os_service_default'],
|
||||||
$rescue_ramdisk_by_arch = $facts['os_service_default'],
|
$rescue_ramdisk_by_arch = $facts['os_service_default'],
|
||||||
$bootloader = $facts['os_service_default'],
|
$bootloader = $facts['os_service_default'],
|
||||||
$bootloader_by_arch = $facts['os_service_default'],
|
$bootloader_by_arch = $facts['os_service_default'],
|
||||||
$allow_provisioning_in_maintenance = $facts['os_service_default'],
|
$error_on_ramdisk_config_inconsistency = $facts['os_service_default'],
|
||||||
$image_download_concurrency = $facts['os_service_default'],
|
$allow_provisioning_in_maintenance = $facts['os_service_default'],
|
||||||
$deploy_callback_timeout = $facts['os_service_default'],
|
$image_download_concurrency = $facts['os_service_default'],
|
||||||
$heartbeat_interval = $facts['os_service_default'],
|
$deploy_callback_timeout = $facts['os_service_default'],
|
||||||
$heartbeat_timeout = $facts['os_service_default'],
|
$heartbeat_interval = $facts['os_service_default'],
|
||||||
$max_concurrent_deploy = $facts['os_service_default'],
|
$heartbeat_timeout = $facts['os_service_default'],
|
||||||
$max_concurrent_clean = $facts['os_service_default'],
|
$max_concurrent_deploy = $facts['os_service_default'],
|
||||||
|
$max_concurrent_clean = $facts['os_service_default'],
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include ironic::deps
|
include ironic::deps
|
||||||
@@ -364,47 +370,48 @@ class ironic::conductor (
|
|||||||
|
|
||||||
# Configure ironic.conf
|
# Configure ironic.conf
|
||||||
ironic_config {
|
ironic_config {
|
||||||
'DEFAULT/enabled_hardware_types': value => join(any2array($enabled_hardware_types), ',');
|
'DEFAULT/enabled_hardware_types': value => join(any2array($enabled_hardware_types), ',');
|
||||||
'conductor/force_power_state_during_sync': value => $force_power_state_during_sync;
|
'conductor/force_power_state_during_sync': value => $force_power_state_during_sync;
|
||||||
'conductor/automated_clean': value => $automated_clean;
|
'conductor/automated_clean': value => $automated_clean;
|
||||||
'deploy/http_url': value => $http_url;
|
'deploy/http_url': value => $http_url;
|
||||||
'deploy/http_root': value => $http_root_real;
|
'deploy/http_root': value => $http_root_real;
|
||||||
'DEFAULT/force_raw_images': value => $force_raw_images;
|
'DEFAULT/force_raw_images': value => $force_raw_images;
|
||||||
'deploy/erase_devices_priority': value => $erase_devices_priority;
|
'deploy/erase_devices_priority': value => $erase_devices_priority;
|
||||||
'deploy/erase_devices_metadata_priority': value => $erase_devices_metadata_priority;
|
'deploy/erase_devices_metadata_priority': value => $erase_devices_metadata_priority;
|
||||||
'deploy/continue_if_disk_secure_erase_fails': value => $continue_if_disk_secure_erase_fails;
|
'deploy/continue_if_disk_secure_erase_fails': value => $continue_if_disk_secure_erase_fails;
|
||||||
'deploy/configdrive_use_object_store': value => $configdrive_use_object_store;
|
'deploy/configdrive_use_object_store': value => $configdrive_use_object_store;
|
||||||
'conductor/configdrive_swift_container': value => $configdrive_swift_container;
|
'conductor/configdrive_swift_container': value => $configdrive_swift_container;
|
||||||
'conductor/inspect_wait_timeout': value => $inspect_wait_timeout;
|
'conductor/inspect_wait_timeout': value => $inspect_wait_timeout;
|
||||||
'deploy/default_boot_option': value => $default_boot_option;
|
'deploy/default_boot_option': value => $default_boot_option;
|
||||||
'deploy/default_boot_mode': value => $default_boot_mode;
|
'deploy/default_boot_mode': value => $default_boot_mode;
|
||||||
'neutron/port_setup_delay': value => $port_setup_delay;
|
'neutron/port_setup_delay': value => $port_setup_delay;
|
||||||
'conductor/soft_power_off_timeout': value => $soft_power_off_timeout;
|
'conductor/soft_power_off_timeout': value => $soft_power_off_timeout;
|
||||||
'conductor/power_state_change_timeout': value => $power_state_change_timeout;
|
'conductor/power_state_change_timeout': value => $power_state_change_timeout;
|
||||||
'conductor/sync_power_state_interval': value => $sync_power_state_interval;
|
'conductor/sync_power_state_interval': value => $sync_power_state_interval;
|
||||||
'conductor/sync_power_state_workers': value => $sync_power_state_workers;
|
'conductor/sync_power_state_workers': value => $sync_power_state_workers;
|
||||||
'conductor/power_state_sync_max_retries': value => $power_state_sync_max_retries;
|
'conductor/power_state_sync_max_retries': value => $power_state_sync_max_retries;
|
||||||
'conductor/power_failure_recovery_interval': value => $power_failure_recovery_interval;
|
'conductor/power_failure_recovery_interval': value => $power_failure_recovery_interval;
|
||||||
'conductor/periodic_max_workers': value => $periodic_max_workers;
|
'conductor/periodic_max_workers': value => $periodic_max_workers;
|
||||||
'conductor/graceful_shutdown_timeout': value => $graceful_shutdown_timeout;
|
'conductor/graceful_shutdown_timeout': value => $graceful_shutdown_timeout;
|
||||||
'conductor/conductor_group': value => $conductor_group;
|
'conductor/conductor_group': value => $conductor_group;
|
||||||
'conductor/deploy_kernel': value => $deploy_kernel;
|
'conductor/deploy_kernel': value => $deploy_kernel;
|
||||||
'conductor/deploy_ramdisk': value => $deploy_ramdisk;
|
'conductor/deploy_ramdisk': value => $deploy_ramdisk;
|
||||||
'conductor/deploy_kernel_by_arch': value => $deploy_kernel_by_arch_real;
|
'conductor/deploy_kernel_by_arch': value => $deploy_kernel_by_arch_real;
|
||||||
'conductor/deploy_ramdisk_by_arch': value => $deploy_ramdisk_by_arch_real;
|
'conductor/deploy_ramdisk_by_arch': value => $deploy_ramdisk_by_arch_real;
|
||||||
'conductor/rescue_kernel': value => $rescue_kernel;
|
'conductor/rescue_kernel': value => $rescue_kernel;
|
||||||
'conductor/rescue_ramdisk': value => $rescue_ramdisk;
|
'conductor/rescue_ramdisk': value => $rescue_ramdisk;
|
||||||
'conductor/rescue_kernel_by_arch': value => $rescue_kernel_by_arch_real;
|
'conductor/rescue_kernel_by_arch': value => $rescue_kernel_by_arch_real;
|
||||||
'conductor/rescue_ramdisk_by_arch': value => $rescue_ramdisk_by_arch_real;
|
'conductor/rescue_ramdisk_by_arch': value => $rescue_ramdisk_by_arch_real;
|
||||||
'conductor/bootloader': value => $bootloader;
|
'conductor/bootloader': value => $bootloader;
|
||||||
'conductor/bootloader_by_arch': value => $bootloader_by_arch_real;
|
'conductor/bootloader_by_arch': value => $bootloader_by_arch_real;
|
||||||
'conductor/allow_provisioning_in_maintenance': value => $allow_provisioning_in_maintenance;
|
'conductor/error_on_ramdisk_config_inconsistency': value => $error_on_ramdisk_config_inconsistency;
|
||||||
'DEFAULT/image_download_concurrency': value => $image_download_concurrency;
|
'conductor/allow_provisioning_in_maintenance': value => $allow_provisioning_in_maintenance;
|
||||||
'conductor/deploy_callback_timeout': value => $deploy_callback_timeout;
|
'DEFAULT/image_download_concurrency': value => $image_download_concurrency;
|
||||||
'conductor/heartbeat_interval': value => $heartbeat_interval;
|
'conductor/deploy_callback_timeout': value => $deploy_callback_timeout;
|
||||||
'conductor/heartbeat_timeout': value => $heartbeat_timeout;
|
'conductor/heartbeat_interval': value => $heartbeat_interval;
|
||||||
'conductor/max_concurrent_deploy': value => $max_concurrent_deploy;
|
'conductor/heartbeat_timeout': value => $heartbeat_timeout;
|
||||||
'conductor/max_concurrent_clean': value => $max_concurrent_clean;
|
'conductor/max_concurrent_deploy': value => $max_concurrent_deploy;
|
||||||
|
'conductor/max_concurrent_clean': value => $max_concurrent_clean;
|
||||||
}
|
}
|
||||||
|
|
||||||
ironic_config {
|
ironic_config {
|
||||||
|
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The new ``ironic::conductor::error_on_ramdisk_config_inconsistency``
|
||||||
|
parameter has been added.
|
@@ -101,6 +101,7 @@ describe 'ironic::conductor' do
|
|||||||
is_expected.to contain_ironic_config('conductor/rescue_ramdisk_by_arch').with(:value => '<SERVICE DEFAULT>')
|
is_expected.to contain_ironic_config('conductor/rescue_ramdisk_by_arch').with(:value => '<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_ironic_config('conductor/bootloader').with(:value => '<SERVICE DEFAULT>')
|
is_expected.to contain_ironic_config('conductor/bootloader').with(:value => '<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_ironic_config('conductor/bootloader_by_arch').with(:value => '<SERVICE DEFAULT>')
|
is_expected.to contain_ironic_config('conductor/bootloader_by_arch').with(:value => '<SERVICE DEFAULT>')
|
||||||
|
is_expected.to contain_ironic_config('conductor/error_on_ramdisk_config_inconsistency').with(:value => '<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_ironic_config('DEFAULT/image_download_concurrency').with(:value => '<SERVICE DEFAULT>')
|
is_expected.to contain_ironic_config('DEFAULT/image_download_concurrency').with(:value => '<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_ironic_config('conductor/deploy_callback_timeout').with(:value => '<SERVICE DEFAULT>')
|
is_expected.to contain_ironic_config('conductor/deploy_callback_timeout').with(:value => '<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_ironic_config('conductor/heartbeat_interval').with(:value => '<SERVICE DEFAULT>')
|
is_expected.to contain_ironic_config('conductor/heartbeat_interval').with(:value => '<SERVICE DEFAULT>')
|
||||||
@@ -112,49 +113,50 @@ 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_hardware_types => ['ipmi', 'irmc'],
|
:enabled_hardware_types => ['ipmi', 'irmc'],
|
||||||
:force_power_state_during_sync => false,
|
:force_power_state_during_sync => false,
|
||||||
:automated_clean => false,
|
:automated_clean => false,
|
||||||
:cleaning_network => '00000000-0000-0000-0000-000000000000',
|
:cleaning_network => '00000000-0000-0000-0000-000000000000',
|
||||||
:provisioning_network => '00000000-0000-0000-0000-000000000000',
|
:provisioning_network => '00000000-0000-0000-0000-000000000000',
|
||||||
:rescuing_network => '00000000-0000-0000-0000-000000000000',
|
:rescuing_network => '00000000-0000-0000-0000-000000000000',
|
||||||
:inspection_network => '00000000-0000-0000-0000-000000000000',
|
:inspection_network => '00000000-0000-0000-0000-000000000000',
|
||||||
:cleaning_disk_erase => 'metadata',
|
:cleaning_disk_erase => 'metadata',
|
||||||
:http_url => 'http://host:port',
|
:http_url => 'http://host:port',
|
||||||
:http_root => '/src/www',
|
:http_root => '/src/www',
|
||||||
:force_raw_images => false,
|
:force_raw_images => false,
|
||||||
:configdrive_use_object_store => true,
|
:configdrive_use_object_store => true,
|
||||||
:configdrive_swift_container => 'cont',
|
:configdrive_swift_container => 'cont',
|
||||||
:inspect_wait_timeout => 600,
|
:inspect_wait_timeout => 600,
|
||||||
:default_boot_option => 'local',
|
:default_boot_option => 'local',
|
||||||
:default_boot_mode => 'uefi',
|
:default_boot_mode => 'uefi',
|
||||||
:port_setup_delay => '15',
|
:port_setup_delay => '15',
|
||||||
:soft_power_off_timeout => 600,
|
:soft_power_off_timeout => 600,
|
||||||
:power_state_change_timeout => '300',
|
:power_state_change_timeout => '300',
|
||||||
:sync_power_state_interval => 120,
|
:sync_power_state_interval => 120,
|
||||||
:sync_power_state_workers => 2,
|
:sync_power_state_workers => 2,
|
||||||
:power_state_sync_max_retries => 5,
|
:power_state_sync_max_retries => 5,
|
||||||
:power_failure_recovery_interval => 120,
|
:power_failure_recovery_interval => 120,
|
||||||
:periodic_max_workers => 4,
|
:periodic_max_workers => 4,
|
||||||
:graceful_shutdown_timeout => 60,
|
:graceful_shutdown_timeout => 60,
|
||||||
:conductor_group => 'in-the-closet-to-the-left',
|
:conductor_group => 'in-the-closet-to-the-left',
|
||||||
:deploy_kernel => 'http://host/deploy.kernel',
|
:deploy_kernel => 'http://host/deploy.kernel',
|
||||||
:deploy_ramdisk => 'http://host/deploy.ramdisk',
|
:deploy_ramdisk => 'http://host/deploy.ramdisk',
|
||||||
:deploy_kernel_by_arch => {'x86_64' => 'http://host/deploy.kernel'},
|
:deploy_kernel_by_arch => {'x86_64' => 'http://host/deploy.kernel'},
|
||||||
:deploy_ramdisk_by_arch => {'x86_64' => 'http://host/deploy.ramdisk'},
|
:deploy_ramdisk_by_arch => {'x86_64' => 'http://host/deploy.ramdisk'},
|
||||||
:rescue_kernel => 'http://host/rescue.kernel',
|
:rescue_kernel => 'http://host/rescue.kernel',
|
||||||
:rescue_ramdisk => 'http://host/rescue.ramdisk',
|
:rescue_ramdisk => 'http://host/rescue.ramdisk',
|
||||||
:rescue_kernel_by_arch => {'x86_64' => 'http://host/rescue.kernel'},
|
:rescue_kernel_by_arch => {'x86_64' => 'http://host/rescue.kernel'},
|
||||||
:rescue_ramdisk_by_arch => {'x86_64' => 'http://host/rescue.ramdisk'},
|
:rescue_ramdisk_by_arch => {'x86_64' => 'http://host/rescue.ramdisk'},
|
||||||
:bootloader => 'http://host/bootloader',
|
:bootloader => 'http://host/bootloader',
|
||||||
:bootloader_by_arch => {'x86_64' => 'http://host/bootloader'},
|
:bootloader_by_arch => {'x86_64' => 'http://host/bootloader'},
|
||||||
:allow_provisioning_in_maintenance => false,
|
:error_on_ramdisk_config_inconsistency => false,
|
||||||
:image_download_concurrency => 20,
|
:allow_provisioning_in_maintenance => false,
|
||||||
:deploy_callback_timeout => 1800,
|
:image_download_concurrency => 20,
|
||||||
:heartbeat_interval => 10,
|
:deploy_callback_timeout => 1800,
|
||||||
:heartbeat_timeout => 60,
|
:heartbeat_interval => 10,
|
||||||
:max_concurrent_deploy => 250,
|
:heartbeat_timeout => 60,
|
||||||
:max_concurrent_clean => 50,
|
:max_concurrent_deploy => 250,
|
||||||
|
:max_concurrent_clean => 50,
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
it 'should replace default parameter with new value' do
|
it 'should replace default parameter with new value' do
|
||||||
@@ -195,6 +197,7 @@ describe 'ironic::conductor' do
|
|||||||
is_expected.to contain_ironic_config('conductor/rescue_ramdisk_by_arch').with_value('x86_64:http://host/rescue.ramdisk')
|
is_expected.to contain_ironic_config('conductor/rescue_ramdisk_by_arch').with_value('x86_64:http://host/rescue.ramdisk')
|
||||||
is_expected.to contain_ironic_config('conductor/bootloader').with_value(p[:bootloader])
|
is_expected.to contain_ironic_config('conductor/bootloader').with_value(p[:bootloader])
|
||||||
is_expected.to contain_ironic_config('conductor/bootloader_by_arch').with_value('x86_64:http://host/bootloader')
|
is_expected.to contain_ironic_config('conductor/bootloader_by_arch').with_value('x86_64:http://host/bootloader')
|
||||||
|
is_expected.to contain_ironic_config('conductor/error_on_ramdisk_config_inconsistency').with_value(false)
|
||||||
is_expected.to contain_ironic_config('conductor/allow_provisioning_in_maintenance').with_value(p[:allow_provisioning_in_maintenance])
|
is_expected.to contain_ironic_config('conductor/allow_provisioning_in_maintenance').with_value(p[:allow_provisioning_in_maintenance])
|
||||||
is_expected.to contain_ironic_config('DEFAULT/image_download_concurrency').with_value(p[:image_download_concurrency])
|
is_expected.to contain_ironic_config('DEFAULT/image_download_concurrency').with_value(p[:image_download_concurrency])
|
||||||
is_expected.to contain_ironic_config('conductor/deploy_callback_timeout').with_value(p[:deploy_callback_timeout])
|
is_expected.to contain_ironic_config('conductor/deploy_callback_timeout').with_value(p[:deploy_callback_timeout])
|
||||||
|
Reference in New Issue
Block a user