@@ -83,6 +83,11 @@ type eventHandlerConfig struct {
83
83
plus bool
84
84
}
85
85
86
+ // deployment name gatewayname-gatewayclassname
87
+ // cafe-nginx
88
+
89
+ // namespace and name of the gateway --> key
90
+
86
91
const (
87
92
// groups for GroupStatusUpdater.
88
93
groupAllExceptGateways = "all-graphs-except-gateways"
@@ -294,59 +299,60 @@ func (h *eventHandlerImpl) waitForStatusUpdates(ctx context.Context) {
294
299
return
295
300
}
296
301
302
+ // TODO(sberman): once we support multiple Gateways, we'll have to get
303
+ // the correct Graph for the Deployment contained in the update message
297
304
gr := h .cfg .processor .GetLatestGraph ()
298
305
if gr == nil {
299
306
continue
300
307
}
301
308
302
- deploymentName := item .Deployment
303
- gw := gr .Gateways [deploymentName ]
304
-
305
309
var nginxReloadRes graph.NginxReloadResult
306
- switch {
307
- case item .Error != nil :
308
- h .cfg .logger .Error (item .Error , "Failed to update NGINX configuration" )
309
- nginxReloadRes .Error = item .Error
310
- case gw != nil :
311
- h .cfg .logger .Info ("NGINX configuration was successfully updated" )
312
- }
313
- gr .LatestReloadResult [deploymentName ] = nginxReloadRes
314
-
315
- switch item .UpdateType {
316
- case status .UpdateAll :
317
- h .updateStatuses (ctx , gr , gw )
318
- case status .UpdateGateway :
319
- gwAddresses , err := getGatewayAddresses (
320
- ctx ,
321
- h .cfg .k8sClient ,
322
- item .GatewayService ,
323
- gw ,
324
- h .cfg .gatewayClassName ,
325
- )
326
- if err != nil {
327
- msg := "error getting Gateway Service IP address"
328
- h .cfg .logger .Error (err , msg )
329
- h .cfg .eventRecorder .Eventf (
310
+ for _ , gw := range gr .Gateways {
311
+ switch {
312
+ case item .Error != nil :
313
+ h .cfg .logger .Error (item .Error , "Failed to update NGINX configuration" )
314
+ nginxReloadRes .Error = item .Error
315
+ case gw != nil :
316
+ h .cfg .logger .Info ("NGINX configuration was successfully updated" )
317
+ }
318
+ gw .LatestReloadResult = nginxReloadRes
319
+
320
+ switch item .UpdateType {
321
+ case status .UpdateAll :
322
+ h .updateStatuses (ctx , gr , gw )
323
+ case status .UpdateGateway :
324
+ gwAddresses , err := getGatewayAddresses (
325
+ ctx ,
326
+ h .cfg .k8sClient ,
330
327
item .GatewayService ,
331
- v1 .EventTypeWarning ,
332
- "GetServiceIPFailed" ,
333
- msg + ": %s" ,
334
- err .Error (),
328
+ gw ,
329
+ h .cfg .gatewayClassName ,
330
+ )
331
+ if err != nil {
332
+ msg := "error getting Gateway Service IP address"
333
+ h .cfg .logger .Error (err , msg )
334
+ h .cfg .eventRecorder .Eventf (
335
+ item .GatewayService ,
336
+ v1 .EventTypeWarning ,
337
+ "GetServiceIPFailed" ,
338
+ msg + ": %s" ,
339
+ err .Error (),
340
+ )
341
+ continue
342
+ }
343
+
344
+ transitionTime := metav1 .Now ()
345
+
346
+ gatewayStatuses := status .PrepareGatewayRequests (
347
+ gw ,
348
+ transitionTime ,
349
+ gwAddresses ,
350
+ gw .LatestReloadResult ,
335
351
)
336
- continue
352
+ h .cfg .statusUpdater .UpdateGroup (ctx , groupGateways , gatewayStatuses ... )
353
+ default :
354
+ panic (fmt .Sprintf ("unknown event type %T" , item .UpdateType ))
337
355
}
338
-
339
- transitionTime := metav1 .Now ()
340
-
341
- gatewayStatuses := status .PrepareGatewayRequests (
342
- gw ,
343
- transitionTime ,
344
- gwAddresses ,
345
- gr .LatestReloadResult [deploymentName ],
346
- )
347
- h .cfg .statusUpdater .UpdateGroup (ctx , groupGateways , gatewayStatuses ... )
348
- default :
349
- panic (fmt .Sprintf ("unknown event type %T" , item .UpdateType ))
350
356
}
351
357
}
352
358
}
@@ -377,7 +383,7 @@ func (h *eventHandlerImpl) updateStatuses(ctx context.Context, gr *graph.Graph,
377
383
gr .L4Routes ,
378
384
gr .Routes ,
379
385
transitionTime ,
380
- gr . LatestReloadResult [ gw .DeploymentName ] ,
386
+ gw .LatestReloadResult ,
381
387
h .cfg .gatewayCtlrName ,
382
388
)
383
389
@@ -408,7 +414,7 @@ func (h *eventHandlerImpl) updateStatuses(ctx context.Context, gr *graph.Graph,
408
414
gw ,
409
415
transitionTime ,
410
416
gwAddresses ,
411
- gr . LatestReloadResult [ gw .DeploymentName ] ,
417
+ gw .LatestReloadResult ,
412
418
)
413
419
h .cfg .statusUpdater .UpdateGroup (ctx , groupGateways , gwReqs ... )
414
420
}
0 commit comments