agent: Add support for workers and threads

Change-Id: Id3fab4c74d05a29c0784a9a44055e382f8ee66df
This commit is contained in:
Takashi Kajinami 2021-11-10 09:27:38 +09:00
parent f2ae8f4c9b
commit 751360a9b0
3 changed files with 27 additions and 3 deletions

View File

@ -24,6 +24,14 @@
# (optional) Driver used for backend communication (fake, rpc, bind9)
# Defaults to 'bind9'
#
# [*workers*]
# (optional) Number of agent worker process to spawn
# Defaults to $::os_workers
#
# [*threads*]
# (optional) Number of agent greenthreads to spawn
# Defaults to $::os_service_default
#
# [*listen*]
# (optional) Agent host:port pairs to listen on.
# Defaults to $::os_service_default
@ -34,6 +42,8 @@ class designate::agent (
$enabled = true,
$manage_service = true,
$backend_driver = 'bind9',
$workers = $::os_workers,
$threads = $::os_service_default,
$listen = $::os_service_default,
) inherits designate {
@ -41,6 +51,8 @@ class designate::agent (
designate_config {
'service:agent/backend_driver' : value => $backend_driver;
'service:agent/workers' : value => $workers;
'service:agent/threads' : value => $threads;
'service:agent/listen' : value => $listen;
}

View File

@ -0,0 +1,5 @@
---
features:
- |
The ``designate::agent`` class now supports the ``worker`` parameter and
the ``thread`` parameter.

View File

@ -26,9 +26,10 @@ describe 'designate::agent' do
)
end
it 'configures designate-agent with default parameters' do
is_expected.to contain_designate_config('service:agent/backend_driver').with_value('bind9')
is_expected.to contain_designate_config('service:agent/workers').with_value(8)
is_expected.to contain_designate_config('service:agent/threads').with_value('<SERVICE DEFAULT>')
is_expected.to contain_designate_config('service:agent/listen').with_value('<SERVICE DEFAULT>')
end
@ -56,10 +57,16 @@ describe 'designate::agent' do
context 'with overriding parameters' do
before do
params.merge!({ :listen => '127.0.0.1:9002' })
params.merge!({
:workers => 2,
:threads => 1000,
:listen => '127.0.0.1:9002',
})
end
it 'configures designate-agent with custom parameters' do
is_expected.to contain_designate_config('service:agent/workers').with_value( params[:workers] )
is_expected.to contain_designate_config('service:agent/threads').with_value( params[:threads] )
is_expected.to contain_designate_config('service:agent/listen').with_value( params[:listen] )
end
end
@ -71,7 +78,7 @@ describe 'designate::agent' do
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
facts.merge!(OSDefaults.get_facts({ :os_workers => 8 }))
end
let(:platform_params) do