Publish curated Unraid-AppOps-Gateway source from ba66029223865607deddc234e283c11127324eb8
This commit is contained in:
1 parent
820244dbb3
commit
8dd4b40252
52 files changed
+11814
-288
No files matched your search
@@ -1555,7 +1555,11 @@ def _execute_controller_artifact_promote(
|
||||
reason: str,
|
||||
original_policy_decision: str,
|
||||
) -> dict[str, Any]:
|
||||
from .controller_artifact_promoter import ControllerArtifactPromoter
|
||||
from .controller_artifact_promoter import (
|
||||
ControllerArtifactPromoter,
|
||||
helper_failure_diagnostics,
|
||||
safe_helper_diagnostics,
|
||||
)
|
||||
|
||||
action = "controller.artifact.promote"
|
||||
target = "tower/deployment-controller"
|
||||
@@ -1595,12 +1599,43 @@ def _execute_controller_artifact_promote(
|
||||
success = False
|
||||
message = f"{type(exc).__name__}: controller artifact promotion failed"
|
||||
|
||||
diagnostics = None
|
||||
if status == "failed" and result.get("reason") == "controller_promoter_helper_failed":
|
||||
diagnostics = safe_helper_diagnostics(result.get("diagnostics"))
|
||||
if diagnostics is None:
|
||||
diagnostics = helper_failure_diagnostics(result.get("exitCode"))
|
||||
exit_code = diagnostics["exitCode"]
|
||||
exit_code_summary = str(exit_code) if exit_code is not None else "unknown"
|
||||
message = (
|
||||
f"Controller promotion helper failed: {diagnostics['code']}; "
|
||||
f"phase={diagnostics['phase']}; exitCode={exit_code_summary}."
|
||||
)
|
||||
|
||||
completed = complete_job(
|
||||
session,
|
||||
job,
|
||||
status="succeeded" if success else "failed",
|
||||
result_summary=message,
|
||||
)
|
||||
after_state = {
|
||||
"status": status,
|
||||
"revision": result.get("revision"),
|
||||
"controllerVersion": result.get("controllerVersion"),
|
||||
"artifactSha256": result.get("artifactSha256"),
|
||||
}
|
||||
redacted_metadata = {
|
||||
"executor": action,
|
||||
"integration": "mcp" if source == "chatgpt-mcp" else "operator",
|
||||
"originalPolicyDecision": original_policy_decision,
|
||||
"callerRevisionSelectable": False,
|
||||
"callerCommandSelectable": False,
|
||||
"callerMountSelectable": False,
|
||||
"helperTargetSelectable": False,
|
||||
}
|
||||
if diagnostics is not None:
|
||||
after_state["diagnostics"] = diagnostics
|
||||
redacted_metadata["diagnostics"] = diagnostics
|
||||
|
||||
audit = log_event(
|
||||
session,
|
||||
source="action",
|
||||
@@ -1613,23 +1648,10 @@ def _execute_controller_artifact_promote(
|
||||
reason=reason,
|
||||
result="success" if success else "failed",
|
||||
execution_plan={"steps": steps, "jobId": completed.id},
|
||||
after_state={
|
||||
"status": status,
|
||||
"revision": result.get("revision"),
|
||||
"controllerVersion": result.get("controllerVersion"),
|
||||
"artifactSha256": result.get("artifactSha256"),
|
||||
},
|
||||
redacted_metadata={
|
||||
"executor": action,
|
||||
"integration": "mcp" if source == "chatgpt-mcp" else "operator",
|
||||
"originalPolicyDecision": original_policy_decision,
|
||||
"callerRevisionSelectable": False,
|
||||
"callerCommandSelectable": False,
|
||||
"callerMountSelectable": False,
|
||||
"helperTargetSelectable": False,
|
||||
},
|
||||
after_state=after_state,
|
||||
redacted_metadata=redacted_metadata,
|
||||
)
|
||||
return {
|
||||
operation_result = {
|
||||
"success": success,
|
||||
"status": "success" if success else status,
|
||||
"result": "success" if success else "failed",
|
||||
@@ -1642,6 +1664,9 @@ def _execute_controller_artifact_promote(
|
||||
"controllerVersion": result.get("controllerVersion"),
|
||||
"artifactSha256": result.get("artifactSha256"),
|
||||
}
|
||||
if diagnostics is not None:
|
||||
operation_result["diagnostics"] = diagnostics
|
||||
return operation_result
|
||||
|
||||
|
||||
def _execute_runner_fleet_upgrade_v2(
|
||||
|
||||
Reference in new issue
Block a user