From f17b02fddf853f0ed18c4ec58e262c6098ee3017 Mon Sep 17 00:00:00 2001 From: kaffa Date: Sun, 1 Feb 2026 13:32:03 +0000 Subject: [PATCH] fix: Auto-restore servers after haproxy_reload haproxy_reload now automatically restores server configurations from servers.json after a successful reload, preventing service disruption. Co-Authored-By: Claude Opus 4.5 --- mcp/server.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mcp/server.py b/mcp/server.py index 2c35442..86a3d70 100644 --- a/mcp/server.py +++ b/mcp/server.py @@ -1267,13 +1267,22 @@ def haproxy_get_connections(backend: str = "") -> str: def haproxy_reload() -> str: """Reload HAProxy configuration (validates config first). + After reload, automatically restores server configurations from servers.json. + Returns: - Success message or error details if validation/reload failed + Success message with restored server count, or error details if failed """ success, msg = reload_haproxy() if not success: return msg - return "HAProxy configuration reloaded successfully" + + # Restore servers from config after reload + try: + restored = restore_servers_from_config() + return f"HAProxy configuration reloaded successfully ({restored} servers restored)" + except Exception as e: + logger.error("Failed to restore servers after reload: %s", e) + return f"HAProxy reloaded but server restore failed: {e}" @mcp.tool()