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:
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user