MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / GetClusterStatus

Method GetClusterStatus

pkg/api/cluster.go:51–80  ·  view source on GitHub ↗

GetClusterStatus retrieves high-level cluster status and node list.

()

Source from the content-addressed store, hash-verified

49
50// GetClusterStatus retrieves high-level cluster status and node list.
51func (c *Client) GetClusterStatus() (*Cluster, error) {
52 cluster := &Cluster{
53 Nodes: make([]*Node, 0),
54 StorageManager: NewStorageManager(),
55 lastUpdate: time.Now(),
56 }
57
58 // 1. Get basic cluster status
59 if err := c.getClusterBasicStatus(cluster); err != nil {
60 return nil, err
61 }
62
63 // 2. Get cluster resources for VMs and storage
64 if err := c.processClusterResources(cluster); err != nil {
65 return nil, err
66 }
67
68 // 3. Enrich VMs with detailed status information
69 if err := c.EnrichVMs(cluster); err != nil {
70 // Log error but continue
71 c.logger.Debug("[CLUSTER] Error enriching VM data: %v", err)
72 }
73
74 // 4. Calculate cluster-wide totals
75 c.calculateClusterTotals(cluster)
76
77 c.Cluster = cluster
78
79 return cluster, nil
80}
81
82// FastGetClusterStatus retrieves only essential cluster status without VM enrichment
83// for fast application startup. VM details will be loaded in the background.

Callers 6

ListNodesMethod · 0.95
GetGroupVMsMethod · 0.80
StartVMFunction · 0.80
getNodesMethod · 0.80
getVMsMethod · 0.80
findGuestByVMIDFunction · 0.80

Calls 6

getClusterBasicStatusMethod · 0.95
EnrichVMsMethod · 0.95
NewStorageManagerFunction · 0.85
DebugMethod · 0.65

Tested by

no test coverage detected