@@ -2,6 +2,7 @@ package static
22
33import (
44 "context"
5+ "errors"
56 "fmt"
67 "sync"
78 "time"
@@ -183,9 +184,9 @@ func (h *eventHandlerImpl) HandleEventBatch(ctx context.Context, logger logr.Log
183184 h .setLatestConfiguration (& cfg )
184185
185186 if h .cfg .plus {
186- err = h .updateUpstreamServers (logger , cfg )
187+ err = h .updateUpstreamServers (cfg )
187188 } else {
188- err = h .updateNginxConf (ctx , logger , cfg )
189+ err = h .updateNginxConf (ctx , cfg )
189190 }
190191 case state .ClusterStateChange :
191192 h .version ++
@@ -198,7 +199,7 @@ func (h *eventHandlerImpl) HandleEventBatch(ctx context.Context, logger logr.Log
198199
199200 h .setLatestConfiguration (& cfg )
200201
201- err = h .updateNginxConf (ctx , logger , cfg )
202+ err = h .updateNginxConf (ctx , cfg )
202203 }
203204
204205 var nginxReloadRes status.NginxReloadResult
@@ -305,7 +306,6 @@ func (h *eventHandlerImpl) parseAndCaptureEvent(ctx context.Context, logger logr
305306// updateNginxConf updates nginx conf files and reloads nginx.
306307func (h * eventHandlerImpl ) updateNginxConf (
307308 ctx context.Context ,
308- logger logr.Logger ,
309309 conf dataplane.Configuration ,
310310) error {
311311 files := h .cfg .generator .Generate (conf )
@@ -318,7 +318,7 @@ func (h *eventHandlerImpl) updateNginxConf(
318318 }
319319
320320 // If using NGINX Plus, update upstream servers using the API.
321- if err := h .updateUpstreamServers (logger , conf ); err != nil {
321+ if err := h .updateUpstreamServers (conf ); err != nil {
322322 return fmt .Errorf ("failed to update upstream servers: %w" , err )
323323 }
324324
@@ -327,7 +327,7 @@ func (h *eventHandlerImpl) updateNginxConf(
327327
328328// updateUpstreamServers determines which servers have changed and uses the NGINX Plus API to update them.
329329// Only applicable when using NGINX Plus.
330- func (h * eventHandlerImpl ) updateUpstreamServers (logger logr. Logger , conf dataplane.Configuration ) error {
330+ func (h * eventHandlerImpl ) updateUpstreamServers (conf dataplane.Configuration ) error {
331331 if ! h .cfg .plus {
332332 return nil
333333 }
@@ -375,19 +375,22 @@ func (h *eventHandlerImpl) updateUpstreamServers(logger logr.Logger, conf datapl
375375 }
376376 }
377377
378+ var updateErr error
378379 for _ , upstream := range upstreams {
379380 if err := h .cfg .nginxRuntimeMgr .UpdateHTTPServers (upstream .name , upstream .servers ); err != nil {
380- logger .Error (err , "couldn't update upstream via the API" , "upstreamName" , upstream .name )
381+ updateErr = errors .Join (updateErr , fmt .Errorf (
382+ "couldn't update upstream %q via the API: %w" , upstream .name , err ))
381383 }
382384 }
383385
384386 for _ , upstream := range streamUpstreams {
385387 if err := h .cfg .nginxRuntimeMgr .UpdateStreamServers (upstream .name , upstream .servers ); err != nil {
386- logger .Error (err , "couldn't update stream upstream via the API" , "upstreamName" , upstream .name )
388+ updateErr = errors .Join (updateErr , fmt .Errorf (
389+ "couldn't update stream upstream %q via the API: %w" , upstream .name , err ))
387390 }
388391 }
389392
390- return nil
393+ return updateErr
391394}
392395
393396// serversEqual accepts lists of either UpstreamServer/Peer or StreamUpstreamServer/StreamPeer and determines
0 commit comments