diff --git a/frontend-modern/src/components/Settings/NodeModal.tsx b/frontend-modern/src/components/Settings/NodeModal.tsx index 0cd1e1ff7..4c3ebb51b 100644 --- a/frontend-modern/src/components/Settings/NodeModal.tsx +++ b/frontend-modern/src/components/Settings/NodeModal.tsx @@ -205,9 +205,15 @@ export const NodeModal: Component = (props) => { message: result.message || 'Connection successful' }); } catch (error) { + console.error('Test existing node error:', error); + let errorMessage = 'Connection failed'; + if (error instanceof Error) { + // Remove "API request failed: XXX " prefix if present + errorMessage = error.message.replace(/^API request failed: \d{3}\s*/, ''); + } setTestResult({ status: 'error', - message: error instanceof Error ? error.message : 'Connection failed' + message: errorMessage }); } finally { setIsTesting(false); @@ -261,9 +267,15 @@ export const NodeModal: Component = (props) => { isCluster: result.isCluster }); } catch (error) { + console.error('Test connection error:', error); + let errorMessage = 'Connection failed'; + if (error instanceof Error) { + // Remove "API request failed: XXX " prefix if present + errorMessage = error.message.replace(/^API request failed: \d{3}\s*/, ''); + } setTestResult({ status: 'error', - message: error instanceof Error ? error.message : 'Connection failed' + message: errorMessage }); } finally { setIsTesting(false); @@ -1256,6 +1268,11 @@ export const NodeModal: Component = (props) => { {/* Test Result */} + {(() => { + const result = testResult(); + console.log('Test result display:', { status: result?.status, message: result?.message }); + return null; + })()}
0 { + // Set node details + if len(nodes) > 0 { nodeDiag.Details = &NodeDetails{ NodeCount: len(nodes), } // Get version from first node - if len(nodes) > 0 { - if status, err := client.GetNodeStatus(ctx, nodes[0].Node); err == nil && status != nil { - if status.PVEVersion != "" { - nodeDiag.Details.Version = status.PVEVersion - } + if status, err := client.GetNodeStatus(ctx, nodes[0].Node); err == nil && status != nil { + if status.PVEVersion != "" { + nodeDiag.Details.Version = status.PVEVersion } } } + // Try to get cluster status (this may fail for standalone nodes, which is OK) + if clusterStatus, err := client.GetClusterStatus(ctx); err == nil { + nodeDiag.ClusterInfo = &ClusterInfo{ + Nodes: len(clusterStatus), + } + } else { + // Standalone node or cluster status not available + // This is not an error - standalone nodes don't have cluster status + log.Debug().Str("node", node.Name).Msg("Cluster status not available (likely standalone node)") + nodeDiag.ClusterInfo = &ClusterInfo{ + Nodes: 1, // Standalone node + } + } + // Run VM disk monitoring check nodeDiag.VMDiskCheck = r.checkVMDiskMonitoring(ctx, client, node.Name) }