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 <noreply@anthropic.com>
This commit is contained in:
kaffa
2026-02-01 13:32:03 +00:00
parent 85b4e9b4ed
commit f17b02fddf

View File

@@ -1267,13 +1267,22 @@ def haproxy_get_connections(backend: str = "") -> str:
def haproxy_reload() -> str: def haproxy_reload() -> str:
"""Reload HAProxy configuration (validates config first). """Reload HAProxy configuration (validates config first).
After reload, automatically restores server configurations from servers.json.
Returns: 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() success, msg = reload_haproxy()
if not success: if not success:
return msg 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() @mcp.tool()