diff options
| author | Nataliia S. <81954790+natali-rs1985@users.noreply.github.com> | 2026-05-19 13:59:57 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-19 13:59:57 +0300 |
| commit | 2430dd1db9c81f4f61d7629a1d9d9dbcd798a4b2 (patch) | |
| tree | f48ad5e1eb8bede65c1457ec2f2d5bf7ffb63217 | |
| parent | 51ab39e51bb925307c0f9ad1d905d450ceecc0f5 (diff) | |
| download | vyos-1x-2430dd1db9c81f4f61d7629a1d9d9dbcd798a4b2.tar.gz vyos-1x-2430dd1db9c81f4f61d7629a1d9d9dbcd798a4b2.zip | |
high-availability: T7059: Allow disabling persistent connections for virtual-server (#5205)
| -rw-r--r-- | data/templates/high-availability/keepalived.conf.j2 | 2 | ||||
| -rw-r--r-- | interface-definitions/high-availability.xml.in | 6 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_high-availability_virtual-server.py | 7 |
3 files changed, 14 insertions, 1 deletions
diff --git a/data/templates/high-availability/keepalived.conf.j2 b/data/templates/high-availability/keepalived.conf.j2 index a45befdb6..f69230f8b 100644 --- a/data/templates/high-availability/keepalived.conf.j2 +++ b/data/templates/high-availability/keepalived.conf.j2 @@ -228,7 +228,9 @@ virtual_server fwmark {{ vserver_config.fwmark }} { {% elif vserver_config.forward_method is vyos_defined('tunnel') %} lb_kind TUN {% endif %} +{% if vserver_config.persistence_timeout | int > 0 %} persistence_timeout {{ vserver_config.persistence_timeout }} +{% endif %} protocol {{ vserver_config.protocol | upper }} {% if vserver_config.real_server is vyos_defined %} {% for rserver, rserver_config in vserver_config.real_server.items() %} diff --git a/interface-definitions/high-availability.xml.in b/interface-definitions/high-availability.xml.in index 70ac308a3..11ea91309 100644 --- a/interface-definitions/high-availability.xml.in +++ b/interface-definitions/high-availability.xml.in @@ -513,11 +513,15 @@ <properties> <help>Timeout for persistent connections</help> <valueHelp> + <format>u32:0</format> + <description>Disable persistent connections</description> + </valueHelp> + <valueHelp> <format>u32:1-86400</format> <description>Timeout for persistent connections</description> </valueHelp> <constraint> - <validator name="numeric" argument="--range 1-86400"/> + <validator name="numeric" argument="--range 0-86400"/> </constraint> </properties> <defaultValue>300</defaultValue> diff --git a/smoketest/scripts/cli/test_high-availability_virtual-server.py b/smoketest/scripts/cli/test_high-availability_virtual-server.py index 1e243278e..7939f139e 100755 --- a/smoketest/scripts/cli/test_high-availability_virtual-server.py +++ b/smoketest/scripts/cli/test_high-availability_virtual-server.py @@ -83,6 +83,13 @@ class TestHAVirtualServer(VyOSUnitTestSHIM.TestCase): self.assertIn(f'{proto.upper()}_CHECK', config) self.assertIn(f'connect_timeout {connection_timeout}', config) + # Verify persistence_timeout is not set when value is 0 + self.cli_set(vserver_base + [vs, 'persistence-timeout', '0']) + self.cli_commit() + + config = read_file(KEEPALIVED_CONF) + self.assertNotIn('persistence_timeout', config) + def test_02_ha_virtual_server_and_vrrp(self): algo = 'least-connection' delay = '15' |
