Browse Source

Correct delay between UDP healthchecks

Template was using timeout value instead of delay value.
Also clean up redundant values in the templates (things like retry and
delay_before_retry only need to be specified once at the top level).

Change-Id: I376917e40eb7a92f7f03e691ed9a0c23fd2ce8f8
changes/81/718881/1
Adam Harwell 2 years ago
parent
commit
4b2a38d93c
  1. 12
      octavia/common/jinja/lvs/templates/macros.j2
  2. 40
      octavia/tests/unit/common/jinja/lvs/test_lvs_jinja_cfg.py
  3. 5
      releasenotes/notes/udp-delay-based-on-correct-setting-6a60856de2927ccd.yaml

12
octavia/common/jinja/lvs/templates/macros.j2

@ -25,18 +25,12 @@ misc_path "{{ health_monitor.check_script_path }} {{ member.monitor_address|defa
{%- macro misc_check_macro(pool, member, health_monitor) -%}
MISC_CHECK {
{{ misc_path_macro(member, health_monitor) }}
misc_timeout {{ pool.health_monitor.delay }}
misc_timeout {{ pool.health_monitor.timeout }}
}
{%- endmacro -%}
{% macro health_monitor_rs_macro(constants, pool, member) %}
{% if pool.health_monitor and pool.health_monitor.enabled %}
{% if pool.health_monitor.timeout %}
delay_before_retry {{ pool.health_monitor.timeout }}
{% endif %}
{% if pool.health_monitor.fall_threshold %}
retry {{ pool.health_monitor.fall_threshold }}
{% endif %}
{% if pool.health_monitor.type == constants.HEALTH_MONITOR_UDP_CONNECT %}
{{ misc_check_macro(pool, member, pool.health_monitor) -}}
{% endif %}
@ -62,9 +56,7 @@ MISC_CHECK {
{% if default_pool and default_pool.health_monitor and default_pool.health_monitor.enabled %}
{% if default_pool.health_monitor.delay %}
delay_loop {{ default_pool.health_monitor.delay }}
{% endif %}
{% if default_pool.health_monitor.timeout %}
delay_before_retry {{ default_pool.health_monitor.timeout }}
delay_before_retry {{ default_pool.health_monitor.delay }}
{% endif %}
{% if default_pool.health_monitor.fall_threshold %}
retry {{ default_pool.health_monitor.fall_threshold }}

40
octavia/tests/unit/common/jinja/lvs/test_lvs_jinja_cfg.py

@ -46,7 +46,7 @@ class TestLvsCfg(base.TestCase):
" persistence_timeout 33\n"
" persistence_granularity 255.255.0.0\n"
" delay_loop 30\n"
" delay_before_retry 31\n"
" delay_before_retry 30\n"
" retry 3\n\n\n"
" # Configuration for Pool sample_pool_id_1\n"
" # Configuration for HealthMonitor sample_monitor_id_1\n"
@ -54,24 +54,20 @@ class TestLvsCfg(base.TestCase):
" real_server 10.0.0.99 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 10.0.0.99 82\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
" # Configuration for Member sample_member_id_2\n"
" real_server 10.0.0.98 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 10.0.0.98 82\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
"}\n\n")
@ -94,7 +90,7 @@ class TestLvsCfg(base.TestCase):
" lb_kind NAT\n"
" protocol UDP\n"
" delay_loop 30\n"
" delay_before_retry 31\n"
" delay_before_retry 30\n"
" retry 3\n\n\n"
" # Configuration for Pool sample_pool_id_1\n"
" # Configuration for HealthMonitor sample_monitor_id_1\n"
@ -102,24 +98,20 @@ class TestLvsCfg(base.TestCase):
" real_server 10.0.0.99 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 10.0.0.99 82\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
" # Configuration for Member sample_member_id_2\n"
" real_server 10.0.0.98 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 10.0.0.98 82\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
"}\n\n")
@ -141,7 +133,7 @@ class TestLvsCfg(base.TestCase):
" lb_kind NAT\n"
" protocol UDP\n"
" delay_loop 30\n"
" delay_before_retry 31\n"
" delay_before_retry 30\n"
" retry 3\n\n\n"
" # Configuration for Pool sample_pool_id_1\n"
" # Configuration for HealthMonitor sample_monitor_id_1\n"
@ -149,24 +141,20 @@ class TestLvsCfg(base.TestCase):
" real_server 10.0.0.99 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 10.0.0.99 82\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
" # Configuration for Member sample_member_id_2\n"
" real_server 10.0.0.98 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 10.0.0.98 82\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
"}\n\n")
@ -188,7 +176,7 @@ class TestLvsCfg(base.TestCase):
" lb_kind NAT\n"
" protocol UDP\n"
" delay_loop 30\n"
" delay_before_retry 31\n"
" delay_before_retry 30\n"
" retry 3\n\n\n"
" # Configuration for Pool sample_pool_id_1\n"
" # Configuration for HealthMonitor sample_monitor_id_1\n"
@ -196,24 +184,20 @@ class TestLvsCfg(base.TestCase):
" real_server 10.0.0.99 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 192.168.1.1 9000\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
" # Configuration for Member sample_member_id_2\n"
" real_server 10.0.0.98 82 {\n"
" weight 13\n"
" uthreshold 98\n"
" delay_before_retry 31\n"
" retry 3\n"
" MISC_CHECK {\n"
" misc_path \"/var/lib/octavia/lvs/check/"
"udp_check.sh 192.168.1.1 9000\"\n"
" misc_timeout 30\n"
" misc_timeout 31\n"
" }\n"
" }\n\n"
"}\n\n")

5
releasenotes/notes/udp-delay-based-on-correct-setting-6a60856de2927ccd.yaml

@ -0,0 +1,5 @@
---
fixes:
- |
Delay between checks on UDP healthmonitors was using the incorrect config
value ``timeout``, when it should have been ``delay``.
Loading…
Cancel
Save