diff --git a/octavia/common/jinja/lvs/templates/macros.j2 b/octavia/common/jinja/lvs/templates/macros.j2 index dd4ef11f60..2c719c3cd4 100644 --- a/octavia/common/jinja/lvs/templates/macros.j2 +++ b/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 }} diff --git a/octavia/tests/unit/common/jinja/lvs/test_lvs_jinja_cfg.py b/octavia/tests/unit/common/jinja/lvs/test_lvs_jinja_cfg.py index c77102a9bf..83a0c3bd71 100644 --- a/octavia/tests/unit/common/jinja/lvs/test_lvs_jinja_cfg.py +++ b/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") diff --git a/releasenotes/notes/udp-delay-based-on-correct-setting-6a60856de2927ccd.yaml b/releasenotes/notes/udp-delay-based-on-correct-setting-6a60856de2927ccd.yaml new file mode 100644 index 0000000000..2d735aae10 --- /dev/null +++ b/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``.