From e457a528a3ce5f55e8b7aa895b95d82246fb6649 Mon Sep 17 00:00:00 2001 From: Christian Berendt Date: Fri, 6 Mar 2026 20:19:24 +0100 Subject: [PATCH] Add redfish_address from driver_info to baremetal node detail page AI-assisted: Claude Code Signed-off-by: Christian Berendt --- frontend/app/nodes/[uuid]/page.tsx | 15 +++++++++++++++ frontend/lib/types.ts | 1 + osism/api.py | 3 +++ osism/tasks/openstack.py | 3 +++ 4 files changed, 22 insertions(+) diff --git a/frontend/app/nodes/[uuid]/page.tsx b/frontend/app/nodes/[uuid]/page.tsx index 5e74776a..ac19bbe4 100644 --- a/frontend/app/nodes/[uuid]/page.tsx +++ b/frontend/app/nodes/[uuid]/page.tsx @@ -160,6 +160,21 @@ export default function NodeDetailPage({ params }: { params: Promise<{ uuid: str
{node.driver}
)} + {node.redfish_address && ( +
+
Redfish Address
+
+ + {node.redfish_address} + +
+
+ )} {node.resource_class && (
Resource Class
diff --git a/frontend/lib/types.ts b/frontend/lib/types.ts index b106f9b4..8f5ff560 100644 --- a/frontend/lib/types.ts +++ b/frontend/lib/types.ts @@ -10,6 +10,7 @@ export interface BaremetalNode { resource_class: string | null; properties: Record; extra: Record; + redfish_address: string | null; last_error: string | null; created_at: string | null; updated_at: string | null; diff --git a/osism/api.py b/osism/api.py index 843d41a2..94251683 100644 --- a/osism/api.py +++ b/osism/api.py @@ -153,6 +153,9 @@ class BaremetalNode(BaseModel): extra: Dict[str, Any] = Field( default_factory=dict, description="Extra node information" ) + redfish_address: Optional[str] = Field( + None, description="Redfish address from driver_info" + ) last_error: Optional[str] = Field(None, description="Last error message") created_at: Optional[str] = Field(None, description="Creation timestamp") updated_at: Optional[str] = Field(None, description="Last update timestamp") diff --git a/osism/tasks/openstack.py b/osism/tasks/openstack.py index 346f7d53..017b0840 100644 --- a/osism/tasks/openstack.py +++ b/osism/tasks/openstack.py @@ -120,6 +120,9 @@ def get_baremetal_nodes(): "resource_class": getattr(node, "resource_class", None), "properties": getattr(node, "properties", {}), "extra": getattr(node, "extra", {}), + "redfish_address": (getattr(node, "driver_info", None) or {}).get( + "redfish_address" + ), "last_error": getattr(node, "last_error", None), "created_at": getattr(node, "created_at", None), "updated_at": getattr(node, "updated_at", None),