@@ -98,7 +98,12 @@ func newGatewaysCommand() *cobra.Command {
98
98
}
99
99
100
100
var statuses []gatewayStatus
101
- gatewayMetrics := getGatewayMetrics (k8sAPI , pods .Items , leaders , opts .wait )
101
+ gatewayMetrics , err := getGatewayMetrics (k8sAPI , pods .Items , leaders , opts .wait )
102
+ if err != nil {
103
+ fmt .Fprintf (os .Stderr , "Failed to get gateway metrics for cluster %s: %s\n " , opts .clusterName , err )
104
+ os .Exit (1 )
105
+ }
106
+
102
107
for _ , gateway := range gatewayMetrics {
103
108
if gateway .err != nil {
104
109
fmt .Fprintf (os .Stderr , "Failed to get gateway status for %s: %s\n " , gateway .clusterName , gateway .err )
@@ -195,7 +200,7 @@ func newGatewaysCommand() *cobra.Command {
195
200
return cmd
196
201
}
197
202
198
- func getGatewayMetrics (k8sAPI * k8s.KubernetesAPI , pods []corev1.Pod , leaders map [string ]struct {}, wait time.Duration ) []gatewayMetrics {
203
+ func getGatewayMetrics (k8sAPI * k8s.KubernetesAPI , pods []corev1.Pod , leaders map [string ]struct {}, wait time.Duration ) ( []gatewayMetrics , error ) {
199
204
var metrics []gatewayMetrics
200
205
metricsChan := make (chan gatewayMetrics )
201
206
var wg sync.WaitGroup
@@ -250,11 +255,11 @@ wait:
250
255
}
251
256
metrics = append (metrics , metric )
252
257
case <- timeout .C :
253
- break wait
258
+ return nil , fmt . Errorf ( "timed out waiting for metrics" )
254
259
}
255
260
}
256
261
257
- return metrics
262
+ return metrics , nil
258
263
}
259
264
260
265
func getServiceMirrorContainer (pod corev1.Pod ) (corev1.Container , error ) {
0 commit comments