Add support for connection retry variables
Adds support for connection_max_retries and connection_retry_interval configuration. Change-Id: I8be48a7bd07e0a00972b4bef268c4bd2badc6711 Closes-Bug: #1838410
This commit is contained in:
parent
9e62de27cd
commit
36ca9c36cb
|
@ -70,22 +70,32 @@
|
|||
# when it connects back to the controllers to report its health.
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
# [*connection_max_retries*]
|
||||
# (optional) Maximum number of retries when contacting amphora.
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
# [*connection_retry_interval*]
|
||||
# (optional) Number of seconds to wait between connection attempts to amphora.
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
class octavia::controller (
|
||||
$amp_flavor_id = '65',
|
||||
$amp_image_tag = $::os_service_default,
|
||||
$amp_secgroup_list = $::os_service_default,
|
||||
$amp_boot_network_list = [],
|
||||
$loadbalancer_topology = $::os_service_default,
|
||||
$amphora_driver = 'amphora_haproxy_rest_driver',
|
||||
$compute_driver = 'compute_nova_driver',
|
||||
$network_driver = 'allowed_address_pairs_driver',
|
||||
$enable_ssh_access = true,
|
||||
$amp_ssh_key_name = 'octavia-ssh-key',
|
||||
$timeout_client_data = $::os_service_default,
|
||||
$timeout_member_connect = $::os_service_default,
|
||||
$timeout_member_data = $::os_service_default,
|
||||
$timeout_tcp_inspect = $::os_service_default,
|
||||
$controller_ip_port_list = $::os_service_default,
|
||||
$amp_flavor_id = '65',
|
||||
$amp_image_tag = $::os_service_default,
|
||||
$amp_secgroup_list = $::os_service_default,
|
||||
$amp_boot_network_list = [],
|
||||
$loadbalancer_topology = $::os_service_default,
|
||||
$amphora_driver = 'amphora_haproxy_rest_driver',
|
||||
$compute_driver = 'compute_nova_driver',
|
||||
$network_driver = 'allowed_address_pairs_driver',
|
||||
$enable_ssh_access = true,
|
||||
$amp_ssh_key_name = 'octavia-ssh-key',
|
||||
$timeout_client_data = $::os_service_default,
|
||||
$timeout_member_connect = $::os_service_default,
|
||||
$timeout_member_data = $::os_service_default,
|
||||
$timeout_tcp_inspect = $::os_service_default,
|
||||
$controller_ip_port_list = $::os_service_default,
|
||||
$connection_max_retries = $::os_service_default,
|
||||
$connection_retry_interval = $::os_service_default,
|
||||
) inherits octavia::params {
|
||||
|
||||
include ::octavia::deps
|
||||
|
@ -120,18 +130,20 @@ class octavia::controller (
|
|||
}
|
||||
|
||||
octavia_config {
|
||||
'controller_worker/amp_flavor_id' : value => $amp_flavor_id_real;
|
||||
'controller_worker/amp_image_tag' : value => $amp_image_tag_real;
|
||||
'controller_worker/amp_secgroup_list' : value => $amp_secgroup_list_real;
|
||||
'controller_worker/amp_boot_network_list' : value => $amp_boot_network_list_real;
|
||||
'controller_worker/loadbalancer_topology' : value => $loadbalancer_topology_real;
|
||||
'controller_worker/amphora_driver' : value => $amphora_driver_real;
|
||||
'controller_worker/compute_driver' : value => $compute_driver_real;
|
||||
'controller_worker/network_driver' : value => $network_driver_real;
|
||||
'haproxy_amphora/timeout_client_data' : value => $timeout_client_data_real;
|
||||
'haproxy_amphora/timeout_member_connect' : value => $timeout_member_connect_real;
|
||||
'haproxy_amphora/timeout_member_data' : value => $timeout_member_data_real;
|
||||
'haproxy_amphora/timeout_tcp_inspect' : value => $timeout_tcp_inspect_real;
|
||||
'health_manager/controller_ip_port_list' : value => $controller_ip_port_list;
|
||||
'controller_worker/amp_flavor_id' : value => $amp_flavor_id_real;
|
||||
'controller_worker/amp_image_tag' : value => $amp_image_tag_real;
|
||||
'controller_worker/amp_secgroup_list' : value => $amp_secgroup_list_real;
|
||||
'controller_worker/amp_boot_network_list' : value => $amp_boot_network_list_real;
|
||||
'controller_worker/loadbalancer_topology' : value => $loadbalancer_topology_real;
|
||||
'controller_worker/amphora_driver' : value => $amphora_driver_real;
|
||||
'controller_worker/compute_driver' : value => $compute_driver_real;
|
||||
'controller_worker/network_driver' : value => $network_driver_real;
|
||||
'haproxy_amphora/timeout_client_data' : value => $timeout_client_data_real;
|
||||
'haproxy_amphora/timeout_member_connect' : value => $timeout_member_connect_real;
|
||||
'haproxy_amphora/timeout_member_data' : value => $timeout_member_data_real;
|
||||
'haproxy_amphora/timeout_tcp_inspect' : value => $timeout_tcp_inspect_real;
|
||||
'health_manager/controller_ip_port_list' : value => $controller_ip_port_list;
|
||||
'haproxy_amphora/connection_max_retries' : value => $connection_max_retries;
|
||||
'haproxy_amphora/connection_retry_interval' : value => $connection_retry_interval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Adds connection_max_retries and connection_retry_interval to control retry
|
||||
behavior when the contacting the amphora.
|
|
@ -13,13 +13,15 @@ describe 'octavia::controller' do
|
|||
|
||||
context 'configured with specific parameters' do
|
||||
let :params do
|
||||
{ :amp_flavor_id => '42',
|
||||
:amp_image_tag => 'amphorae1',
|
||||
:amp_secgroup_list => ['lb-mgmt-sec-grp'],
|
||||
:amp_boot_network_list => ['lbnet1', 'lbnet2'],
|
||||
:loadbalancer_topology => 'SINGLE',
|
||||
:amp_ssh_key_name => 'custom-amphora-key',
|
||||
:controller_ip_port_list => '1.2.3.4:5555,4.3.2.1:5555',
|
||||
{ :amp_flavor_id => '42',
|
||||
:amp_image_tag => 'amphorae1',
|
||||
:amp_secgroup_list => ['lb-mgmt-sec-grp'],
|
||||
:amp_boot_network_list => ['lbnet1', 'lbnet2'],
|
||||
:loadbalancer_topology => 'SINGLE',
|
||||
:amp_ssh_key_name => 'custom-amphora-key',
|
||||
:controller_ip_port_list => '1.2.3.4:5555,4.3.2.1:5555',
|
||||
:connection_max_retries => 240,
|
||||
:connection_retry_interval => 10
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -30,6 +32,8 @@ describe 'octavia::controller' do
|
|||
it { is_expected.to contain_octavia_config('controller_worker/loadbalancer_topology').with_value('SINGLE') }
|
||||
it { is_expected.to contain_octavia_config('controller_worker/amp_ssh_key_name').with_value('custom-amphora-key') }
|
||||
it { is_expected.to contain_octavia_config('health_manager/controller_ip_port_list').with_value('1.2.3.4:5555,4.3.2.1:5555') }
|
||||
it { is_expected.to contain_octavia_config('haproxy_amphora/connection_max_retries').with_value(240) }
|
||||
it { is_expected.to contain_octavia_config('haproxy_amphora/connection_retry_interval').with_value(10) }
|
||||
end
|
||||
|
||||
it 'configures worker parameters' do
|
||||
|
@ -42,6 +46,8 @@ describe 'octavia::controller' do
|
|||
is_expected.to contain_octavia_config('haproxy_amphora/timeout_member_connect').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_octavia_config('haproxy_amphora/timeout_member_data').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_octavia_config('haproxy_amphora/timeout_tcp_inspect').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_octavia_config('haproxy_amphora/connection_max_retries').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_octavia_config('haproxy_amphora/connection_retry_interval').with_value('<SERVICE DEFAULT>')
|
||||
end
|
||||
|
||||
context 'with ssh key access disabled' do
|
||||
|
|
Loading…
Reference in New Issue