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.
|
||||
# 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*]
|
||||
# (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
|
||||
@@ -259,54 +264,55 @@
|
||||
# Defaults to $facts['os_service_default']
|
||||
#
|
||||
class ironic::conductor (
|
||||
$package_ensure = 'present',
|
||||
Boolean $enabled = true,
|
||||
Boolean $manage_service = true,
|
||||
$enabled_hardware_types = $facts['os_service_default'],
|
||||
$force_power_state_during_sync = $facts['os_service_default'],
|
||||
$http_url = $facts['os_service_default'],
|
||||
Stdlib::Absolutepath $http_root = '/httpboot',
|
||||
$force_raw_images = $facts['os_service_default'],
|
||||
$automated_clean = $facts['os_service_default'],
|
||||
$cleaning_network = $facts['os_service_default'],
|
||||
$package_ensure = 'present',
|
||||
Boolean $enabled = true,
|
||||
Boolean $manage_service = true,
|
||||
$enabled_hardware_types = $facts['os_service_default'],
|
||||
$force_power_state_during_sync = $facts['os_service_default'],
|
||||
$http_url = $facts['os_service_default'],
|
||||
Stdlib::Absolutepath $http_root = '/httpboot',
|
||||
$force_raw_images = $facts['os_service_default'],
|
||||
$automated_clean = $facts['os_service_default'],
|
||||
$cleaning_network = $facts['os_service_default'],
|
||||
Optional[Enum['full', 'metadata', 'none']] $cleaning_disk_erase
|
||||
= undef,
|
||||
$continue_if_disk_secure_erase_fails = $facts['os_service_default'],
|
||||
$provisioning_network = $facts['os_service_default'],
|
||||
$rescuing_network = $facts['os_service_default'],
|
||||
$inspection_network = $facts['os_service_default'],
|
||||
$configdrive_use_object_store = $facts['os_service_default'],
|
||||
$configdrive_swift_container = $facts['os_service_default'],
|
||||
$inspect_wait_timeout = $facts['os_service_default'],
|
||||
$default_boot_option = $facts['os_service_default'],
|
||||
$default_boot_mode = $facts['os_service_default'],
|
||||
$port_setup_delay = $facts['os_service_default'],
|
||||
$soft_power_off_timeout = $facts['os_service_default'],
|
||||
$power_state_change_timeout = $facts['os_service_default'],
|
||||
$sync_power_state_interval = $facts['os_service_default'],
|
||||
$sync_power_state_workers = $facts['os_service_default'],
|
||||
$power_state_sync_max_retries = $facts['os_service_default'],
|
||||
$power_failure_recovery_interval = $facts['os_service_default'],
|
||||
$periodic_max_workers = $facts['os_service_default'],
|
||||
$graceful_shutdown_timeout = $facts['os_service_default'],
|
||||
$conductor_group = $facts['os_service_default'],
|
||||
$deploy_kernel = $facts['os_service_default'],
|
||||
$deploy_ramdisk = $facts['os_service_default'],
|
||||
$deploy_kernel_by_arch = $facts['os_service_default'],
|
||||
$deploy_ramdisk_by_arch = $facts['os_service_default'],
|
||||
$rescue_kernel = $facts['os_service_default'],
|
||||
$rescue_ramdisk = $facts['os_service_default'],
|
||||
$rescue_kernel_by_arch = $facts['os_service_default'],
|
||||
$rescue_ramdisk_by_arch = $facts['os_service_default'],
|
||||
$bootloader = $facts['os_service_default'],
|
||||
$bootloader_by_arch = $facts['os_service_default'],
|
||||
$allow_provisioning_in_maintenance = $facts['os_service_default'],
|
||||
$image_download_concurrency = $facts['os_service_default'],
|
||||
$deploy_callback_timeout = $facts['os_service_default'],
|
||||
$heartbeat_interval = $facts['os_service_default'],
|
||||
$heartbeat_timeout = $facts['os_service_default'],
|
||||
$max_concurrent_deploy = $facts['os_service_default'],
|
||||
$max_concurrent_clean = $facts['os_service_default'],
|
||||
$continue_if_disk_secure_erase_fails = $facts['os_service_default'],
|
||||
$provisioning_network = $facts['os_service_default'],
|
||||
$rescuing_network = $facts['os_service_default'],
|
||||
$inspection_network = $facts['os_service_default'],
|
||||
$configdrive_use_object_store = $facts['os_service_default'],
|
||||
$configdrive_swift_container = $facts['os_service_default'],
|
||||
$inspect_wait_timeout = $facts['os_service_default'],
|
||||
$default_boot_option = $facts['os_service_default'],
|
||||
$default_boot_mode = $facts['os_service_default'],
|
||||
$port_setup_delay = $facts['os_service_default'],
|
||||
$soft_power_off_timeout = $facts['os_service_default'],
|
||||
$power_state_change_timeout = $facts['os_service_default'],
|
||||
$sync_power_state_interval = $facts['os_service_default'],
|
||||
$sync_power_state_workers = $facts['os_service_default'],
|
||||
$power_state_sync_max_retries = $facts['os_service_default'],
|
||||
$power_failure_recovery_interval = $facts['os_service_default'],
|
||||
$periodic_max_workers = $facts['os_service_default'],
|
||||
$graceful_shutdown_timeout = $facts['os_service_default'],
|
||||
$conductor_group = $facts['os_service_default'],
|
||||
$deploy_kernel = $facts['os_service_default'],
|
||||
$deploy_ramdisk = $facts['os_service_default'],
|
||||
$deploy_kernel_by_arch = $facts['os_service_default'],
|
||||
$deploy_ramdisk_by_arch = $facts['os_service_default'],
|
||||
$rescue_kernel = $facts['os_service_default'],
|
||||
$rescue_ramdisk = $facts['os_service_default'],
|
||||
$rescue_kernel_by_arch = $facts['os_service_default'],
|
||||
$rescue_ramdisk_by_arch = $facts['os_service_default'],
|
||||
$bootloader = $facts['os_service_default'],
|
||||
$bootloader_by_arch = $facts['os_service_default'],
|
||||
$error_on_ramdisk_config_inconsistency = $facts['os_service_default'],
|
||||
$allow_provisioning_in_maintenance = $facts['os_service_default'],
|
||||
$image_download_concurrency = $facts['os_service_default'],
|
||||
$deploy_callback_timeout = $facts['os_service_default'],
|
||||
$heartbeat_interval = $facts['os_service_default'],
|
||||
$heartbeat_timeout = $facts['os_service_default'],
|
||||
$max_concurrent_deploy = $facts['os_service_default'],
|
||||
$max_concurrent_clean = $facts['os_service_default'],
|
||||
) {
|
||||
|
||||
include ironic::deps
|
||||
@@ -364,47 +370,48 @@ class ironic::conductor (
|
||||
|
||||
# Configure ironic.conf
|
||||
ironic_config {
|
||||
'DEFAULT/enabled_hardware_types': value => join(any2array($enabled_hardware_types), ',');
|
||||
'conductor/force_power_state_during_sync': value => $force_power_state_during_sync;
|
||||
'conductor/automated_clean': value => $automated_clean;
|
||||
'deploy/http_url': value => $http_url;
|
||||
'deploy/http_root': value => $http_root_real;
|
||||
'DEFAULT/force_raw_images': value => $force_raw_images;
|
||||
'deploy/erase_devices_priority': value => $erase_devices_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/configdrive_use_object_store': value => $configdrive_use_object_store;
|
||||
'conductor/configdrive_swift_container': value => $configdrive_swift_container;
|
||||
'conductor/inspect_wait_timeout': value => $inspect_wait_timeout;
|
||||
'deploy/default_boot_option': value => $default_boot_option;
|
||||
'deploy/default_boot_mode': value => $default_boot_mode;
|
||||
'neutron/port_setup_delay': value => $port_setup_delay;
|
||||
'conductor/soft_power_off_timeout': value => $soft_power_off_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_workers': value => $sync_power_state_workers;
|
||||
'conductor/power_state_sync_max_retries': value => $power_state_sync_max_retries;
|
||||
'conductor/power_failure_recovery_interval': value => $power_failure_recovery_interval;
|
||||
'conductor/periodic_max_workers': value => $periodic_max_workers;
|
||||
'conductor/graceful_shutdown_timeout': value => $graceful_shutdown_timeout;
|
||||
'conductor/conductor_group': value => $conductor_group;
|
||||
'conductor/deploy_kernel': value => $deploy_kernel;
|
||||
'conductor/deploy_ramdisk': value => $deploy_ramdisk;
|
||||
'conductor/deploy_kernel_by_arch': value => $deploy_kernel_by_arch_real;
|
||||
'conductor/deploy_ramdisk_by_arch': value => $deploy_ramdisk_by_arch_real;
|
||||
'conductor/rescue_kernel': value => $rescue_kernel;
|
||||
'conductor/rescue_ramdisk': value => $rescue_ramdisk;
|
||||
'conductor/rescue_kernel_by_arch': value => $rescue_kernel_by_arch_real;
|
||||
'conductor/rescue_ramdisk_by_arch': value => $rescue_ramdisk_by_arch_real;
|
||||
'conductor/bootloader': value => $bootloader;
|
||||
'conductor/bootloader_by_arch': value => $bootloader_by_arch_real;
|
||||
'conductor/allow_provisioning_in_maintenance': value => $allow_provisioning_in_maintenance;
|
||||
'DEFAULT/image_download_concurrency': value => $image_download_concurrency;
|
||||
'conductor/deploy_callback_timeout': value => $deploy_callback_timeout;
|
||||
'conductor/heartbeat_interval': value => $heartbeat_interval;
|
||||
'conductor/heartbeat_timeout': value => $heartbeat_timeout;
|
||||
'conductor/max_concurrent_deploy': value => $max_concurrent_deploy;
|
||||
'conductor/max_concurrent_clean': value => $max_concurrent_clean;
|
||||
'DEFAULT/enabled_hardware_types': value => join(any2array($enabled_hardware_types), ',');
|
||||
'conductor/force_power_state_during_sync': value => $force_power_state_during_sync;
|
||||
'conductor/automated_clean': value => $automated_clean;
|
||||
'deploy/http_url': value => $http_url;
|
||||
'deploy/http_root': value => $http_root_real;
|
||||
'DEFAULT/force_raw_images': value => $force_raw_images;
|
||||
'deploy/erase_devices_priority': value => $erase_devices_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/configdrive_use_object_store': value => $configdrive_use_object_store;
|
||||
'conductor/configdrive_swift_container': value => $configdrive_swift_container;
|
||||
'conductor/inspect_wait_timeout': value => $inspect_wait_timeout;
|
||||
'deploy/default_boot_option': value => $default_boot_option;
|
||||
'deploy/default_boot_mode': value => $default_boot_mode;
|
||||
'neutron/port_setup_delay': value => $port_setup_delay;
|
||||
'conductor/soft_power_off_timeout': value => $soft_power_off_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_workers': value => $sync_power_state_workers;
|
||||
'conductor/power_state_sync_max_retries': value => $power_state_sync_max_retries;
|
||||
'conductor/power_failure_recovery_interval': value => $power_failure_recovery_interval;
|
||||
'conductor/periodic_max_workers': value => $periodic_max_workers;
|
||||
'conductor/graceful_shutdown_timeout': value => $graceful_shutdown_timeout;
|
||||
'conductor/conductor_group': value => $conductor_group;
|
||||
'conductor/deploy_kernel': value => $deploy_kernel;
|
||||
'conductor/deploy_ramdisk': value => $deploy_ramdisk;
|
||||
'conductor/deploy_kernel_by_arch': value => $deploy_kernel_by_arch_real;
|
||||
'conductor/deploy_ramdisk_by_arch': value => $deploy_ramdisk_by_arch_real;
|
||||
'conductor/rescue_kernel': value => $rescue_kernel;
|
||||
'conductor/rescue_ramdisk': value => $rescue_ramdisk;
|
||||
'conductor/rescue_kernel_by_arch': value => $rescue_kernel_by_arch_real;
|
||||
'conductor/rescue_ramdisk_by_arch': value => $rescue_ramdisk_by_arch_real;
|
||||
'conductor/bootloader': value => $bootloader;
|
||||
'conductor/bootloader_by_arch': value => $bootloader_by_arch_real;
|
||||
'conductor/error_on_ramdisk_config_inconsistency': value => $error_on_ramdisk_config_inconsistency;
|
||||
'conductor/allow_provisioning_in_maintenance': value => $allow_provisioning_in_maintenance;
|
||||
'DEFAULT/image_download_concurrency': value => $image_download_concurrency;
|
||||
'conductor/deploy_callback_timeout': value => $deploy_callback_timeout;
|
||||
'conductor/heartbeat_interval': value => $heartbeat_interval;
|
||||
'conductor/heartbeat_timeout': value => $heartbeat_timeout;
|
||||
'conductor/max_concurrent_deploy': value => $max_concurrent_deploy;
|
||||
'conductor/max_concurrent_clean': value => $max_concurrent_clean;
|
||||
}
|
||||
|
||||
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/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/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('conductor/deploy_callback_timeout').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
|
||||
before :each do
|
||||
params.merge!(
|
||||
:enabled_hardware_types => ['ipmi', 'irmc'],
|
||||
:force_power_state_during_sync => false,
|
||||
:automated_clean => false,
|
||||
:cleaning_network => '00000000-0000-0000-0000-000000000000',
|
||||
:provisioning_network => '00000000-0000-0000-0000-000000000000',
|
||||
:rescuing_network => '00000000-0000-0000-0000-000000000000',
|
||||
:inspection_network => '00000000-0000-0000-0000-000000000000',
|
||||
:cleaning_disk_erase => 'metadata',
|
||||
:http_url => 'http://host:port',
|
||||
:http_root => '/src/www',
|
||||
:force_raw_images => false,
|
||||
:configdrive_use_object_store => true,
|
||||
:configdrive_swift_container => 'cont',
|
||||
:inspect_wait_timeout => 600,
|
||||
:default_boot_option => 'local',
|
||||
:default_boot_mode => 'uefi',
|
||||
:port_setup_delay => '15',
|
||||
:soft_power_off_timeout => 600,
|
||||
:power_state_change_timeout => '300',
|
||||
:sync_power_state_interval => 120,
|
||||
:sync_power_state_workers => 2,
|
||||
:power_state_sync_max_retries => 5,
|
||||
:power_failure_recovery_interval => 120,
|
||||
:periodic_max_workers => 4,
|
||||
:graceful_shutdown_timeout => 60,
|
||||
:conductor_group => 'in-the-closet-to-the-left',
|
||||
:deploy_kernel => 'http://host/deploy.kernel',
|
||||
:deploy_ramdisk => 'http://host/deploy.ramdisk',
|
||||
:deploy_kernel_by_arch => {'x86_64' => 'http://host/deploy.kernel'},
|
||||
:deploy_ramdisk_by_arch => {'x86_64' => 'http://host/deploy.ramdisk'},
|
||||
:rescue_kernel => 'http://host/rescue.kernel',
|
||||
:rescue_ramdisk => 'http://host/rescue.ramdisk',
|
||||
:rescue_kernel_by_arch => {'x86_64' => 'http://host/rescue.kernel'},
|
||||
:rescue_ramdisk_by_arch => {'x86_64' => 'http://host/rescue.ramdisk'},
|
||||
:bootloader => 'http://host/bootloader',
|
||||
:bootloader_by_arch => {'x86_64' => 'http://host/bootloader'},
|
||||
:allow_provisioning_in_maintenance => false,
|
||||
:image_download_concurrency => 20,
|
||||
:deploy_callback_timeout => 1800,
|
||||
:heartbeat_interval => 10,
|
||||
:heartbeat_timeout => 60,
|
||||
:max_concurrent_deploy => 250,
|
||||
:max_concurrent_clean => 50,
|
||||
:enabled_hardware_types => ['ipmi', 'irmc'],
|
||||
:force_power_state_during_sync => false,
|
||||
:automated_clean => false,
|
||||
:cleaning_network => '00000000-0000-0000-0000-000000000000',
|
||||
:provisioning_network => '00000000-0000-0000-0000-000000000000',
|
||||
:rescuing_network => '00000000-0000-0000-0000-000000000000',
|
||||
:inspection_network => '00000000-0000-0000-0000-000000000000',
|
||||
:cleaning_disk_erase => 'metadata',
|
||||
:http_url => 'http://host:port',
|
||||
:http_root => '/src/www',
|
||||
:force_raw_images => false,
|
||||
:configdrive_use_object_store => true,
|
||||
:configdrive_swift_container => 'cont',
|
||||
:inspect_wait_timeout => 600,
|
||||
:default_boot_option => 'local',
|
||||
:default_boot_mode => 'uefi',
|
||||
:port_setup_delay => '15',
|
||||
:soft_power_off_timeout => 600,
|
||||
:power_state_change_timeout => '300',
|
||||
:sync_power_state_interval => 120,
|
||||
:sync_power_state_workers => 2,
|
||||
:power_state_sync_max_retries => 5,
|
||||
:power_failure_recovery_interval => 120,
|
||||
:periodic_max_workers => 4,
|
||||
:graceful_shutdown_timeout => 60,
|
||||
:conductor_group => 'in-the-closet-to-the-left',
|
||||
:deploy_kernel => 'http://host/deploy.kernel',
|
||||
:deploy_ramdisk => 'http://host/deploy.ramdisk',
|
||||
:deploy_kernel_by_arch => {'x86_64' => 'http://host/deploy.kernel'},
|
||||
:deploy_ramdisk_by_arch => {'x86_64' => 'http://host/deploy.ramdisk'},
|
||||
:rescue_kernel => 'http://host/rescue.kernel',
|
||||
:rescue_ramdisk => 'http://host/rescue.ramdisk',
|
||||
:rescue_kernel_by_arch => {'x86_64' => 'http://host/rescue.kernel'},
|
||||
:rescue_ramdisk_by_arch => {'x86_64' => 'http://host/rescue.ramdisk'},
|
||||
:bootloader => 'http://host/bootloader',
|
||||
:bootloader_by_arch => {'x86_64' => 'http://host/bootloader'},
|
||||
:error_on_ramdisk_config_inconsistency => false,
|
||||
:allow_provisioning_in_maintenance => false,
|
||||
:image_download_concurrency => 20,
|
||||
:deploy_callback_timeout => 1800,
|
||||
:heartbeat_interval => 10,
|
||||
:heartbeat_timeout => 60,
|
||||
:max_concurrent_deploy => 250,
|
||||
:max_concurrent_clean => 50,
|
||||
)
|
||||
end
|
||||
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/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/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('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])
|
||||
|
Reference in New Issue
Block a user