Add scheduler workers support
The configuration option scheduler/workers was added in Rocky [1]. This patch adds the nova::scheduler::workers parameter which can be used to set this new config option. [1] https://docs.openstack.org/releasenotes/nova/rocky.html Change-Id: I217444b2c30d62347cd9e25def769e94d12a70fc
This commit is contained in:
parent
14116ff299
commit
3878df1f36
|
@ -16,6 +16,10 @@
|
||||||
# (optional) The state of the scheduler package
|
# (optional) The state of the scheduler package
|
||||||
# Defaults to 'present'
|
# Defaults to 'present'
|
||||||
#
|
#
|
||||||
|
# [*workers*]
|
||||||
|
# (optional) The amount of scheduler workers.
|
||||||
|
# Defaults to $::os_workers
|
||||||
|
#
|
||||||
# [*scheduler_driver*]
|
# [*scheduler_driver*]
|
||||||
# (optional) Default driver to use for the scheduler
|
# (optional) Default driver to use for the scheduler
|
||||||
# Defaults to 'filter_scheduler'
|
# Defaults to 'filter_scheduler'
|
||||||
|
@ -29,6 +33,7 @@ class nova::scheduler(
|
||||||
$enabled = true,
|
$enabled = true,
|
||||||
$manage_service = true,
|
$manage_service = true,
|
||||||
$ensure_package = 'present',
|
$ensure_package = 'present',
|
||||||
|
$workers = $::os_workers,
|
||||||
$scheduler_driver = 'filter_scheduler',
|
$scheduler_driver = 'filter_scheduler',
|
||||||
$discover_hosts_in_cells_interval = $::os_service_default,
|
$discover_hosts_in_cells_interval = $::os_service_default,
|
||||||
) {
|
) {
|
||||||
|
@ -46,6 +51,7 @@ class nova::scheduler(
|
||||||
}
|
}
|
||||||
|
|
||||||
nova_config {
|
nova_config {
|
||||||
|
'scheduler/workers': value => $workers;
|
||||||
'scheduler/driver': value => $scheduler_driver;
|
'scheduler/driver': value => $scheduler_driver;
|
||||||
'scheduler/discover_hosts_in_cells_interval': value => $discover_hosts_in_cells_interval;
|
'scheduler/discover_hosts_in_cells_interval': value => $discover_hosts_in_cells_interval;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added new parameter nova::scheduler::workers which can be used to set the
|
||||||
|
amount of scheduler workers.
|
|
@ -8,7 +8,6 @@ describe 'nova::scheduler' do
|
||||||
|
|
||||||
shared_examples 'nova-scheduler' do
|
shared_examples 'nova-scheduler' do
|
||||||
|
|
||||||
|
|
||||||
it { is_expected.to contain_package('nova-scheduler').with(
|
it { is_expected.to contain_package('nova-scheduler').with(
|
||||||
:name => platform_params[:scheduler_package_name],
|
:name => platform_params[:scheduler_package_name],
|
||||||
:ensure => 'present'
|
:ensure => 'present'
|
||||||
|
@ -20,6 +19,7 @@ describe 'nova::scheduler' do
|
||||||
:ensure => 'running'
|
:ensure => 'running'
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
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_value('filter_scheduler') }
|
||||||
it { is_expected.to contain_nova_config('scheduler/discover_hosts_in_cells_interval').with_value('<SERVICE DEFAULT>') }
|
it { is_expected.to contain_nova_config('scheduler/discover_hosts_in_cells_interval').with_value('<SERVICE DEFAULT>') }
|
||||||
|
|
||||||
|
@ -42,6 +42,14 @@ describe 'nova::scheduler' do
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with workers' do
|
||||||
|
let :params do
|
||||||
|
{ :workers => 8 }
|
||||||
|
end
|
||||||
|
|
||||||
|
it { is_expected.to contain_nova_config('scheduler/workers').with_value(8) }
|
||||||
|
end
|
||||||
|
|
||||||
context 'with scheduler driver' do
|
context 'with scheduler driver' do
|
||||||
let :params do
|
let :params do
|
||||||
{ :scheduler_driver => 'custom driver' }
|
{ :scheduler_driver => 'custom driver' }
|
||||||
|
@ -89,7 +97,7 @@ describe 'nova::scheduler' do
|
||||||
|
|
||||||
context 'on Debian platforms' do
|
context 'on Debian platforms' do
|
||||||
let :facts do
|
let :facts do
|
||||||
@default_facts.merge({ :osfamily => 'Debian' })
|
@default_facts.merge({ :osfamily => 'Debian', :os_workers => 4 })
|
||||||
end
|
end
|
||||||
|
|
||||||
let :platform_params do
|
let :platform_params do
|
||||||
|
@ -102,7 +110,7 @@ describe 'nova::scheduler' do
|
||||||
|
|
||||||
context 'on Redhat platforms' do
|
context 'on Redhat platforms' do
|
||||||
let :facts do
|
let :facts do
|
||||||
@default_facts.merge({ :osfamily => 'RedHat' })
|
@default_facts.merge({ :osfamily => 'RedHat', :os_workers => 4 })
|
||||||
end
|
end
|
||||||
|
|
||||||
let :platform_params do
|
let :platform_params do
|
||||||
|
|
Loading…
Reference in New Issue