Skip to content

Commit 03492e6

Browse files
committed
small refactoring
1 parent 1b93fda commit 03492e6

File tree

1 file changed

+35
-32
lines changed

1 file changed

+35
-32
lines changed

main.go

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -107,92 +107,95 @@ type perNodeMetrics struct {
107107
}
108108

109109
// this historically from hawk-apiserver and parse some generic metrics
110+
// it clusterStaterieve and parse cluster data and counters
110111
func parseGenericMetrics(status *crmMon) *clusterMetrics {
111-
ret := &clusterMetrics{}
112+
clusterState := &clusterMetrics{}
112113

113-
ret.Node.Configured = status.Summary.Nodes.Number
114-
ret.Resource.Configured = status.Summary.Resources.Number
115-
ret.Resource.Disabled = status.Summary.Resources.Disabled
116-
ret.PerNode = make(map[string]perNodeMetrics)
114+
clusterState.Node.Configured = status.Summary.Nodes.Number
115+
clusterState.Resource.Configured = status.Summary.Resources.Number
116+
clusterState.Resource.Disabled = status.Summary.Resources.Disabled
117+
clusterState.PerNode = make(map[string]perNodeMetrics)
117118

118119
rscIds := make(map[string]*resource)
119120

121+
// Node informations
120122
for _, nod := range status.Nodes.Node {
121123
perNode := perNodeMetrics{ResourcesRunning: nod.ResourcesRunning}
122-
ret.PerNode[nod.Name] = perNode
124+
clusterState.PerNode[nod.Name] = perNode
123125

124126
if nod.Online {
125-
ret.Node.Online++
127+
clusterState.Node.Online++
126128
}
127129
if nod.Standby {
128-
ret.Node.Standby++
130+
clusterState.Node.Standby++
129131
}
130132
if nod.StandbyOnFail {
131-
ret.Node.StandbyOnFail++
133+
clusterState.Node.StandbyOnFail++
132134
}
133135
if nod.Maintenance {
134-
ret.Node.Maintenance++
136+
clusterState.Node.Maintenance++
135137
}
136138
if nod.Pending {
137-
ret.Node.Pending++
139+
clusterState.Node.Pending++
138140
}
139141
if nod.Unclean {
140-
ret.Node.Unclean++
142+
clusterState.Node.Unclean++
141143
}
142144
if nod.Shutdown {
143-
ret.Node.Shutdown++
145+
clusterState.Node.Shutdown++
144146
}
145147
if nod.ExpectedUp {
146-
ret.Node.ExpectedUp++
148+
clusterState.Node.ExpectedUp++
147149
}
148150
if nod.DC {
149-
ret.Node.DC++
151+
clusterState.Node.DC++
150152
}
151153
if nod.Type == "member" {
152-
ret.Node.TypeMember++
154+
clusterState.Node.TypeMember++
153155
} else if nod.Type == "ping" {
154-
ret.Node.TypePing++
156+
clusterState.Node.TypePing++
155157
} else if nod.Type == "remote" {
156-
ret.Node.TypeRemote++
158+
clusterState.Node.TypeRemote++
157159
} else {
158-
ret.Node.TypeUnknown++
160+
clusterState.Node.TypeUnknown++
159161
}
160162

163+
// node resources
161164
for _, rsc := range nod.Resources {
162165
rscIds[rsc.ID] = &rsc
163166
if rsc.Role == "Started" {
164-
ret.Resource.Started++
167+
clusterState.Resource.Started++
165168
} else if rsc.Role == "Stopped" {
166-
ret.Resource.Stopped++
169+
clusterState.Resource.Stopped++
167170
} else if rsc.Role == "Slave" {
168-
ret.Resource.Slave++
171+
clusterState.Resource.Slave++
169172
} else if rsc.Role == "Master" {
170-
ret.Resource.Master++
173+
clusterState.Resource.Master++
171174
}
172175
if rsc.Active {
173-
ret.Resource.Active++
176+
clusterState.Resource.Active++
174177
}
175178
if rsc.Orphaned {
176-
ret.Resource.Orphaned++
179+
clusterState.Resource.Orphaned++
177180
}
178181
if rsc.Blocked {
179-
ret.Resource.Blocked++
182+
clusterState.Resource.Blocked++
180183
}
181184
if rsc.Managed {
182-
ret.Resource.Managed++
185+
clusterState.Resource.Managed++
183186
}
184187
if rsc.Failed {
185-
ret.Resource.Failed++
188+
clusterState.Resource.Failed++
186189
}
187190
if rsc.FailureIgnored {
188-
ret.Resource.FailureIgnored++
191+
clusterState.Resource.FailureIgnored++
189192
}
190193
}
191194
}
192195

193-
ret.Resource.Unique = len(rscIds)
196+
clusterState.Resource.Unique = len(rscIds)
194197

195-
return ret
198+
return clusterState
196199
}
197200

198201
var (
@@ -313,7 +316,7 @@ func main() {
313316
fmt.Println("[INFO]: Reading cluster configuration with crm_mon..")
314317
monxml, err := exec.Command("/usr/sbin/crm_mon", "-1", "--as-xml", "--group-by-node", "--inactive").Output()
315318
if err != nil {
316-
fmt.Println("[ERROR]: crm_mon command was not executed correctly. Did you have crm_mon installed ?")
319+
fmt.Println("[ERROR]: crm_mon command execution failed. Did you have crm_mon installed ?")
317320
panic(err)
318321
}
319322

0 commit comments

Comments
 (0)