diff --git a/manifests/controller.pp b/manifests/controller.pp index 7ef032b3..f6d92c5a 100644 --- a/manifests/controller.pp +++ b/manifests/controller.pp @@ -64,21 +64,28 @@ # (optional) Time to wait for TCP packets for content inspection. # Defaults to $::os_service_default # +# [*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', - $timeout_client_data = $::os_service_default, - $timeout_member_connect = $::os_service_default, - $timeout_member_data = $::os_service_default, - $timeout_tcp_inspect = $::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, ) inherits octavia::params { include ::octavia::deps @@ -125,5 +132,6 @@ class octavia::controller ( '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; } } diff --git a/releasenotes/notes/add-controller_ip_port_list-dd70205aa2cc8182.yaml b/releasenotes/notes/add-controller_ip_port_list-dd70205aa2cc8182.yaml new file mode 100644 index 00000000..023b0c74 --- /dev/null +++ b/releasenotes/notes/add-controller_ip_port_list-dd70205aa2cc8182.yaml @@ -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. diff --git a/spec/classes/octavia_controller_spec.rb b/spec/classes/octavia_controller_spec.rb index fa185113..83fd4783 100644 --- a/spec/classes/octavia_controller_spec.rb +++ b/spec/classes/octavia_controller_spec.rb @@ -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