Add parameters for amphora anti-affinity

This patch adds the Octavia configuration parameters for amphora
anti-affinity when using active/standby topology load balancers.

Change-Id: I9e636b2d420497f7bf65912fddf7cba72d350a9e
This commit is contained in:
Michael Johnson 2019-11-18 10:59:14 -08:00 committed by Emilien Macchi
parent 904c732828
commit 4bd67a42d0
3 changed files with 25 additions and 1 deletions

View File

@ -150,6 +150,15 @@
# [*vrrp_garp_refresh_count*]
# (optional) Number of gratuitous ARP announcements to make on each refresh interval.
# Defaults to $::os_service_default
#
# [*enable_anti_affinity*]
# (optional) Flag to indicate if octavia anti-affinity feature is turned on.
# Defaults to $::os_service_default
#
# [*anti_affinity_policy*]
# (optional) Sets the nova anti-affinity policy for octavia.
# Defaults to $::os_service_default
#
class octavia::controller (
$amp_flavor_id = '65',
@ -185,6 +194,8 @@ class octavia::controller (
$vrrp_success_count = $::os_service_default,
$vrrp_garp_refresh_interval = $::os_service_default,
$vrrp_garp_refresh_count = $::os_service_default,
$enable_anti_affinity = $::os_service_default,
$anti_affinity_policy = $::os_service_default,
) inherits octavia::params {
include ::octavia::deps
@ -250,5 +261,7 @@ class octavia::controller (
'keepalived_vrrp/vrrp_success_count' : value => $vrrp_success_count;
'keepalived_vrrp/vrrp_garp_refresh_interval' : value => $vrrp_garp_refresh_interval;
'keepalived_vrrp/vrrp_garp_refresh_count' : value => $vrrp_garp_refresh_count;
'nova/enable_anti_affinity' : value => $enable_anti_affinity;
'nova/anti_affinity_policy' : value => $anti_affinity_policy;
}
}

View File

@ -0,0 +1,5 @@
---
features:
- |
Add parameters to enable and configure nova anti-affinity for
active/standby amphorae.

View File

@ -37,7 +37,9 @@ describe 'octavia::controller' do
:vrrp_fail_count => 2,
:vrrp_success_count => 2,
:vrrp_garp_refresh_interval => 5,
:vrrp_garp_refresh_count => 2
:vrrp_garp_refresh_count => 2,
:enable_anti_affinity => true,
:anti_affinity_policy => 'anti-affinity'
}
end
@ -66,6 +68,8 @@ describe 'octavia::controller' do
it { is_expected.to contain_octavia_config('keepalived_vrrp/vrrp_success_count').with_value(2) }
it { is_expected.to contain_octavia_config('keepalived_vrrp/vrrp_garp_refresh_interval').with_value(5) }
it { is_expected.to contain_octavia_config('keepalived_vrrp/vrrp_garp_refresh_count').with_value(2) }
it { is_expected.to contain_octavia_config('nova/enable_anti_affinity').with_value(true) }
it { is_expected.to contain_octavia_config('nova/anti_affinity_policy').with_value('anti-affinity') }
end
it 'configures worker parameters' do
@ -96,6 +100,8 @@ describe 'octavia::controller' do
is_expected.to contain_octavia_config('keepalived_vrrp/vrrp_success_count').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('keepalived_vrrp/vrrp_garp_refresh_interval').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('keepalived_vrrp/vrrp_garp_refresh_count').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('nova/enable_anti_affinity').with_value('<SERVICE DEFAULT>')
is_expected.to contain_octavia_config('nova/anti_affinity_policy').with_value('<SERVICE DEFAULT>')
end
context 'with ssh key access disabled' do