fix(aiops): route backup decisions through ssh
Some checks failed
CD Pipeline / tests (push) Successful in 1m35s
Code Review / ai-code-review (push) Successful in 34s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-05-01 12:50:01 +08:00
parent 337bcb912e
commit 11673d80ea
11 changed files with 276 additions and 19 deletions

View File

@@ -35,6 +35,18 @@ import yaml
logger = structlog.get_logger(__name__)
_PROVIDER_ALIASES = {
"k8s": "kubernetes",
"ssh": "ssh_host",
}
def _resolve_provider_name(provider_name: str) -> str:
"""Normalize legacy callback spec provider names to registered MCP providers."""
return _PROVIDER_ALIASES.get(provider_name, provider_name)
# =============================================================================
# Data Types
# =============================================================================
@@ -262,14 +274,15 @@ async def dispatch_action(
# MCP registry dispatch
from src.plugins.mcp.registry import get_provider
provider = get_provider(spec.mcp_provider)
provider_name = _resolve_provider_name(spec.mcp_provider)
provider = get_provider(provider_name)
if not provider:
duration = (time.perf_counter() - start) * 1000
return DispatchResult(
success=False, action=action_name, incident_id=incident_id,
user_id=user_id,
result_text=f"{spec.emoji} {spec.label} 失敗MCP provider '{spec.mcp_provider}' 未註冊",
error=f"provider_not_found: {spec.mcp_provider}",
result_text=f"{spec.emoji} {spec.label} 失敗MCP provider '{provider_name}' 未註冊",
error=f"provider_not_found: {provider_name}",
duration_ms=duration,
)