diff --git a/manifests/scheduler.pp b/manifests/scheduler.pp index c36b73af8..73eb67c94 100644 --- a/manifests/scheduler.pp +++ b/manifests/scheduler.pp @@ -20,10 +20,6 @@ # (Optional) The amount of scheduler workers. # Defaults to $::os_workers # -# [*scheduler_driver*] -# (Optional) Default driver to use for the scheduler -# Defaults to 'filter_scheduler' -# # [*discover_hosts_in_cells_interval*] # (Optional) This value controls how often (in seconds) the scheduler should # attempt to discover new hosts that have been added to cells. @@ -68,12 +64,17 @@ # aggregate. # Defaults to $::os_service_default # +# DEPRECATED PARAMETERS +# +# [*scheduler_driver*] +# (Optional) Default driver to use for the scheduler +# Defaults to undef +# class nova::scheduler( $enabled = true, $manage_service = true, $ensure_package = 'present', $workers = $::os_workers, - $scheduler_driver = 'filter_scheduler', $discover_hosts_in_cells_interval = $::os_service_default, $query_placement_for_image_type_support = $::os_service_default, $limit_tenants_to_placement_aggregate = $::os_service_default, @@ -81,6 +82,8 @@ class nova::scheduler( $max_placement_results = $::os_service_default, $enable_isolated_aggregate_filtering = $::os_service_default, $query_placement_for_availability_zone = $::os_service_default, + # DEPRECATED PARAMETERS + $scheduler_driver = undef, ) { include nova::deps @@ -98,7 +101,6 @@ class nova::scheduler( nova_config { 'scheduler/workers': value => $workers; - 'scheduler/driver': value => $scheduler_driver; 'scheduler/discover_hosts_in_cells_interval': value => $discover_hosts_in_cells_interval; 'scheduler/query_placement_for_image_type_support': value => $query_placement_for_image_type_support; 'scheduler/limit_tenants_to_placement_aggregate': value => $limit_tenants_to_placement_aggregate; @@ -107,4 +109,16 @@ class nova::scheduler( 'scheduler/enable_isolated_aggregate_filtering': value => $enable_isolated_aggregate_filtering; 'scheduler/query_placement_for_availability_zone': value => $query_placement_for_availability_zone; } + + if $scheduler_driver != undef { + warning('The scheduler_driver parameter is deprecated and will be removed \ +in a future release') + nova_config { + 'scheduler/driver': value => $scheduler_driver; + } + } else { + nova_config { + 'scheduler/driver': ensure => absent; + } + } } diff --git a/releasenotes/notes/deprecate-scheduler_driver-8f2c60797709ad9a.yaml b/releasenotes/notes/deprecate-scheduler_driver-8f2c60797709ad9a.yaml new file mode 100644 index 000000000..276ec9c7a --- /dev/null +++ b/releasenotes/notes/deprecate-scheduler_driver-8f2c60797709ad9a.yaml @@ -0,0 +1,5 @@ +--- +deprecations: + - | + The ``nova::scheduler::scheduler_driver`` parameter has been deprecated and + will be removed in a future release. diff --git a/spec/classes/nova_scheduler_spec.rb b/spec/classes/nova_scheduler_spec.rb index a754e4b69..b092285b8 100644 --- a/spec/classes/nova_scheduler_spec.rb +++ b/spec/classes/nova_scheduler_spec.rb @@ -18,7 +18,7 @@ describe 'nova::scheduler' do )} it { is_expected.to contain_nova_config('scheduler/workers').with_value(4) } - it { is_expected.to contain_nova_config('scheduler/driver').with_value('filter_scheduler') } + it { is_expected.to contain_nova_config('scheduler/driver').with_ensure('absent') } it { is_expected.to contain_nova_config('scheduler/discover_hosts_in_cells_interval').with_value('') } it { is_expected.to contain_nova_config('scheduler/query_placement_for_image_type_support').with_value('') } it { is_expected.to contain_nova_config('scheduler/limit_tenants_to_placement_aggregate').with_value('') }