From f4b32ac313d751f81b90438cbedb7fd941322c61 Mon Sep 17 00:00:00 2001 From: Gregory Thiemonge Date: Tue, 26 Apr 2022 09:23:07 +0200 Subject: [PATCH] Fix disabled UDP pools Disabling a UDP pool didn't disable it correctly, requests were still forwarded to the members. Now, when disabling a UDP pool, the members are removed from the configuration file. Story 2010011 Task 45164 Change-Id: I7d92b011455d95a2df7782984b8f4648d4b00941 --- octavia/common/jinja/lvs/templates/macros.j2 | 6 ++++-- octavia/tests/unit/common/jinja/lvs/test_jinja_cfg.py | 8 -------- .../notes/fix-disabled-udp-pool-3e84558f996017d5.yaml | 5 +++++ 3 files changed, 9 insertions(+), 10 deletions(-) create mode 100644 releasenotes/notes/fix-disabled-udp-pool-3e84558f996017d5.yaml diff --git a/octavia/common/jinja/lvs/templates/macros.j2 b/octavia/common/jinja/lvs/templates/macros.j2 index ed4e50b0cc..2b3e2a9d03 100644 --- a/octavia/common/jinja/lvs/templates/macros.j2 +++ b/octavia/common/jinja/lvs/templates/macros.j2 @@ -132,9 +132,11 @@ virtual_server {{ lb_vip_address }} {{ listener.protocol_port }} { {% if default_pool.health_monitor and default_pool.health_monitor.enabled %} # Configuration for HealthMonitor {{ default_pool.health_monitor.id }} {% endif %} - {% for member in default_pool.members %} + {% if default_pool.enabled %} + {% for member in default_pool.members %} {{- realserver_macro(constants, lib_consts, default_pool, member, listener) }} - {% endfor %} + {% endfor %} + {% endif %} {% endif %} } {% endif %} diff --git a/octavia/tests/unit/common/jinja/lvs/test_jinja_cfg.py b/octavia/tests/unit/common/jinja/lvs/test_jinja_cfg.py index d83ca1ccaa..bafe314057 100644 --- a/octavia/tests/unit/common/jinja/lvs/test_jinja_cfg.py +++ b/octavia/tests/unit/common/jinja/lvs/test_jinja_cfg.py @@ -251,14 +251,6 @@ class TestLvsCfg(base.TestCase): " lb_kind NAT\n" " protocol UDP\n\n\n" " # Pool sample_pool_id_1 is disabled\n" - " # Configuration for Member sample_member_id_1\n" - " real_server 10.0.0.99 82 {\n" - " weight 13\n\n" - " }\n\n" - " # Configuration for Member sample_member_id_2\n" - " real_server 10.0.0.98 82 {\n" - " weight 13\n\n" - " }\n\n" "}\n\n") rendered_obj = self.lvs_jinja_cfg.render_loadbalancer_obj( diff --git a/releasenotes/notes/fix-disabled-udp-pool-3e84558f996017d5.yaml b/releasenotes/notes/fix-disabled-udp-pool-3e84558f996017d5.yaml new file mode 100644 index 0000000000..260de05a7b --- /dev/null +++ b/releasenotes/notes/fix-disabled-udp-pool-3e84558f996017d5.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fix disabled UDP pools. Disabled UDP pools were marked as "OFFLINE" but the + requests were still forwarded to the members of the pool.