Merge "Make max_concurrent_builds more generally available"

This commit is contained in:
Zuul 2020-09-08 17:03:09 +00:00 committed by Gerrit Code Review
commit 7fd8101bfa
5 changed files with 34 additions and 18 deletions

View File

@ -120,6 +120,10 @@
# (optional) Barbican API version.
# Defaults to $::os_service_default
#
# [*max_concurrent_builds*]
# (optional) Maximum number of instance builds to run concurrently
# Defaults to $::os_service_default
#
# [*max_concurrent_live_migrations*]
# (optional) Maximum number of live migrations to run in parallel.
# Defaults to $::os_service_default
@ -229,6 +233,7 @@ class nova::compute (
$barbican_auth_endpoint = $::os_service_default,
$barbican_endpoint = $::os_service_default,
$barbican_api_version = $::os_service_default,
$max_concurrent_builds = $::os_service_default,
$max_concurrent_live_migrations = $::os_service_default,
$sync_power_state_pool_size = $::os_service_default,
$sync_power_state_interval = $::os_service_default,
@ -253,6 +258,10 @@ class nova::compute (
$cpu_shared_set_real = pick(join(any2array($cpu_shared_set), ','), $::os_service_default)
$cpu_dedicated_set_real = pick(join(any2array($cpu_dedicated_set), ','), $::os_service_default)
$max_concurrent_builds_real = pick(
$::nova::compute::ironic::max_concurrent_builds,
$max_concurrent_builds)
include nova::pci
include nova::compute::vgpu
@ -368,6 +377,7 @@ Use the same parameter in nova::api class.')
'barbican/auth_endpoint': value => $barbican_auth_endpoint;
'barbican/barbican_endpoint': value => $barbican_endpoint;
'barbican/barbican_api_version': value => $barbican_api_version;
'DEFAULT/max_concurrent_builds': value => $max_concurrent_builds_real;
'DEFAULT/max_concurrent_live_migrations': value => $max_concurrent_live_migrations;
'DEFAULT/sync_power_state_pool_size': value => $sync_power_state_pool_size;
'DEFAULT/sync_power_state_interval': value => $sync_power_state_interval;

View File

@ -10,11 +10,12 @@
#
# [*max_concurrent_builds*]
# (optional) Maximum number of instance builds to run concurrently
# Defaults to $::os_service_default.
# Defaults to undef
#
class nova::compute::ironic (
$max_concurrent_builds = $::os_service_default,
$compute_driver = 'ironic.IronicDriver'
$compute_driver = 'ironic.IronicDriver',
# DEPRECATED PARAMETERS
$max_concurrent_builds = undef,
) {
include nova::deps
@ -22,7 +23,15 @@ class nova::compute::ironic (
include ironic::client
nova_config {
'DEFAULT/compute_driver': value => $compute_driver;
'DEFAULT/max_concurrent_builds': value => $max_concurrent_builds;
'DEFAULT/compute_driver': value => $compute_driver;
}
if $max_concurrent_builds != undef {
warn('The nova::compute::ironic::max_concurrent_builds parameter is deprecated \
and will be removed in a future release. Use nova::compute::max_concurrent_builds instead.')
nova_config {
'DEFAULT/max_concurrent_builds': value => $max_concurrent_builds;
}
}
}

View File

@ -0,0 +1,6 @@
---
deprecations:
- |
The ``nova::compute::ironic::max_concurrent_builds`` parameter has been
deprecated and will be removed in a future release.
Use the ``nova::compute::max_concurrent_builds`` parameter instead.

View File

@ -7,7 +7,6 @@ describe 'nova::compute::ironic' do
context 'with default parameters' do
it 'configures ironic in nova.conf' do
is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('ironic.IronicDriver')
is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value('<SERVICE DEFAULT>')
is_expected.to contain_class('ironic::client')
end
end
@ -15,14 +14,12 @@ describe 'nova::compute::ironic' do
context 'with overridden parameters' do
let :params do
{
:compute_driver => 'ironic.FoobarDriver',
:max_concurrent_builds => 15,
:compute_driver => 'ironic.FoobarDriver',
}
end
it 'configures ironic in nova.conf' do
is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('ironic.FoobarDriver')
is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value(15)
end
end

View File

@ -32,6 +32,7 @@ describe 'nova::compute' do
it { is_expected.to contain_nova_config('barbican/barbican_api_version').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('barbican/auth_endpoint').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('glance/verify_glance_signatures').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('DEFAULT/max_concurrent_live_migrations').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('DEFAULT/sync_power_state_pool_size').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('DEFAULT/sync_power_state_interval').with_value('<SERVICE DEFAULT>') }
@ -77,6 +78,7 @@ describe 'nova::compute' do
:barbican_endpoint => 'http://localhost',
:barbican_api_version => 'v1',
:barbican_auth_endpoint => 'http://127.0.0.1:5000/v3',
:max_concurrent_builds => 15,
:max_concurrent_live_migrations => '4',
:sync_power_state_pool_size => '10',
:sync_power_state_interval => '0',
@ -127,24 +129,16 @@ describe 'nova::compute' do
end
it { is_expected.to contain_nova_config('DEFAULT/heal_instance_info_cache_interval').with_value('120') }
it { is_expected.to contain_nova_config('DEFAULT/force_raw_images').with(:value => false) }
it { is_expected.to contain_nova_config('DEFAULT/resize_confirm_window').with_value('3') }
it { is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value('15') }
it { is_expected.to contain_nova_config('DEFAULT/max_concurrent_live_migrations').with_value('4') }
it { is_expected.to contain_nova_config('DEFAULT/sync_power_state_pool_size').with_value('10') }
it { is_expected.to contain_nova_config('DEFAULT/sync_power_state_interval').with_value('0') }
it { is_expected.to contain_nova_config('compute/consecutive_build_service_disable_threshold').with_value('9') }
it { is_expected.to contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with_value(true) }
it { is_expected.to contain_nova_config('glance/verify_glance_signatures').with_value(true) }
it { is_expected.to contain_nova_config('compute/live_migration_wait_for_vif_plug').with_value(true) }
it { is_expected.to contain_nova_config('compute/max_disk_devices_to_attach').with_value(20) }
it 'configures nova config_drive_format to vfat' do