diff --git a/manifests/compute.pp b/manifests/compute.pp index f195794c6..97e75b6e5 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -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; diff --git a/manifests/compute/ironic.pp b/manifests/compute/ironic.pp index 65ef22bfb..c5aebc8ed 100644 --- a/manifests/compute/ironic.pp +++ b/manifests/compute/ironic.pp @@ -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; + } + } + } diff --git a/releasenotes/notes/compute-max_concurrent_builds-5766b153dc9c0596.yaml b/releasenotes/notes/compute-max_concurrent_builds-5766b153dc9c0596.yaml new file mode 100644 index 000000000..ad1604d65 --- /dev/null +++ b/releasenotes/notes/compute-max_concurrent_builds-5766b153dc9c0596.yaml @@ -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. diff --git a/spec/classes/nova_compute_ironic_spec.rb b/spec/classes/nova_compute_ironic_spec.rb index 6b444e4bd..9dd57fbb6 100644 --- a/spec/classes/nova_compute_ironic_spec.rb +++ b/spec/classes/nova_compute_ironic_spec.rb @@ -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('') 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 diff --git a/spec/classes/nova_compute_spec.rb b/spec/classes/nova_compute_spec.rb index 12243a174..8eae26551 100644 --- a/spec/classes/nova_compute_spec.rb +++ b/spec/classes/nova_compute_spec.rb @@ -32,6 +32,7 @@ describe 'nova::compute' do it { is_expected.to contain_nova_config('barbican/barbican_api_version').with_value('') } it { is_expected.to contain_nova_config('barbican/auth_endpoint').with_value('') } it { is_expected.to contain_nova_config('glance/verify_glance_signatures').with_value('') } + it { is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value('') } it { is_expected.to contain_nova_config('DEFAULT/max_concurrent_live_migrations').with_value('') } it { is_expected.to contain_nova_config('DEFAULT/sync_power_state_pool_size').with_value('') } it { is_expected.to contain_nova_config('DEFAULT/sync_power_state_interval').with_value('') } @@ -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