From a84e7a4baaf154a3c726c1568d9a378f2cd3b237 Mon Sep 17 00:00:00 2001 From: Nataliia Solomko Date: Mon, 2 Nov 2026 16:16:55 +0200 Subject: ha: T9557: Verify real-server port for every virtual-server The real-server port check ran only for the last virtual-server, so a real-server without a port on any other virtual-server passed verify and keepalived received a real_server entry with no port. The check now runs for each virtual-server. --- src/conf_mode/high-availability.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/conf_mode/high-availability.py b/src/conf_mode/high-availability.py index 175929547..25ff815eb 100755 --- a/src/conf_mode/high-availability.py +++ b/src/conf_mode/high-availability.py @@ -168,10 +168,13 @@ def verify(ha): raise ConfigError(f'Cannot set both port and fwmark for virtual-server "{vs}"') if 'real_server' not in vs_config: raise ConfigError(f'Real-server ip is required but not set for virtual-server "{vs}"') - # Real-server - for rs, rs_config in vs_config['real_server'].items(): - if 'port' not in rs_config: - raise ConfigError(f'Port is required but not set for virtual-server "{vs}" real-server "{rs}"') + + # Real-server + for rs, rs_config in vs_config['real_server'].items(): + if 'port' not in rs_config: + raise ConfigError( + f'Port is required but not set for virtual-server "{vs}" real-server "{rs}"' + ) def _validate_health_check(group, group_config): -- cgit v1.2.3