Add octavia::controller::controller_ip_port_list

This patch adds the octavia::controller::controller_ip_port_list
parameter that sets the [health_manager]/controller_ip_port_list
configuration option.

Change-Id: Ifc2a55c005c08240c875d3191e1031f69c2341aa
This commit is contained in:
Tobias Urdin 2018-11-07 14:53:13 +01:00
parent cd5d21c815
commit 822bac9367
3 changed files with 31 additions and 16 deletions

View File

@ -48,17 +48,24 @@
# to false disables configuration of SSH key related properties.
# Defaults to true
#
# [*controller_ip_port_list*]
# (optional) The list of controllers in a host:port comma separated
# list if multiple. This is added to the amphora config and is used
# when it connects back to the controllers to report its health.
# 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',
$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',
$controller_ip_port_list = $::os_service_default,
) inherits octavia::params {
include ::octavia::deps
@ -97,5 +104,6 @@ class octavia::controller (
'controller_worker/amphora_driver' : value => $amphora_driver_real;
'controller_worker/compute_driver' : value => $compute_driver_real;
'controller_worker/network_driver' : value => $network_driver_real;
'health_manager/controller_ip_port_list' : value => $controller_ip_port_list;
}
}

View File

@ -0,0 +1,5 @@
---
features:
- |
Added octavia::controller::controller_ip_port_list which can be used to configure
the [health_manager]/controller_ip_port_list configuration option.

View File

@ -13,12 +13,13 @@ 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',
{ :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',
}
end
@ -28,6 +29,7 @@ describe 'octavia::controller' do
it { is_expected.to contain_octavia_config('controller_worker/amp_boot_network_list').with_value(['lbnet1', 'lbnet2']) }
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') }
end
it 'configures worker parameters' do