Skip to content

Commit f8ddee7

Browse files
aLekSermarkmandel
authored andcommitted
Fix for the issue when metrics.enabled is false
If we disable metrics in Helm config file, Agones controller will panic on rr.Run() which could not be executed on non-nil interface with nil value (and not empty type of metrics.Controller).
1 parent 354d26c commit f8ddee7

1 file changed

Lines changed: 4 additions & 9 deletions

File tree

cmd/controller/main.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ func main() {
104104
kubeInformationFactory := informers.NewSharedInformerFactory(kubeClient, defaultResync)
105105

106106
server := &httpServer{}
107+
var rs []runner
107108
var health healthcheck.Handler
108-
var metricsController *metrics.Controller
109109

110110
if ctlConf.Metrics {
111111
registry := prom.NewRegistry()
@@ -115,8 +115,7 @@ func main() {
115115
}
116116
server.Handle("/metrics", metricHandler)
117117
health = healthcheck.NewMetricsHandler(registry, "agones")
118-
metricsController = metrics.NewController(kubeClient, agonesClient, agonesInformerFactory)
119-
118+
rs = append(rs, metrics.NewController(kubeClient, agonesClient, agonesInformerFactory))
120119
} else {
121120
health = healthcheck.NewHandler()
122121
}
@@ -139,19 +138,15 @@ func main() {
139138
fasController := fleetautoscalers.NewController(wh, health,
140139
kubeClient, extClient, agonesClient, agonesInformerFactory)
141140

142-
rs := []runner{
143-
wh, gsController, gsSetController, fleetController, faController, fasController, metricsController, gasController, server,
144-
}
141+
rs = append(rs,
142+
wh, gsController, gsSetController, fleetController, faController, fasController, gasController, server)
145143

146144
stop := signals.NewStopChannel()
147145

148146
kubeInformationFactory.Start(stop)
149147
agonesInformerFactory.Start(stop)
150148

151149
for _, r := range rs {
152-
if r == nil {
153-
continue
154-
}
155150
go func(rr runner) {
156151
if runErr := rr.Run(workers, stop); runErr != nil {
157152
logger.WithError(runErr).Fatalf("could not start runner: %s", reflect.TypeOf(rr))

0 commit comments

Comments
 (0)