@@ -2034,31 +2034,23 @@ func (cp *CloudProvider) getFrontendNsgByName(ctx context.Context, logger *zap.S
20342034func (cp * CloudProvider ) checkPendingLBWorkRequests (ctx context.Context , logger * zap.SugaredLogger , lbProvider CloudLoadBalancerProvider , lb * client.GenericLoadBalancer , service * v1.Service , startTime time.Time ) (err error ) {
20352035 listWorkRequestTime := time .Now ()
20362036 loadBalancerType := getLoadBalancerType (service )
2037- lbName := GetLoadBalancerName (service )
2038- dimensionsMap := make (map [string ]string )
2039- dimensionsMap [metrics .ResourceOCIDDimension ] = * lb .Id
20402037
2041- lbInProgressWorkRequests , err := lbProvider .lbClient .ListWorkRequests (ctx , * lb .CompartmentId , * lb .Id )
2042- logger .With ("loadBalancerID" , * lb .Id ).Infof ("time (in seconds) to list work-requests for LB %f" , time .Since (listWorkRequestTime ).Seconds ())
2043- if err != nil {
2044- logger .With (zap .Error (err )).Error ("Failed to list work-requests in-progress" )
2045- errorType := util .GetError (err )
2046- lbMetricDimension := util .GetMetricDimensionForComponent (errorType , util .LoadBalancerType )
2047- dimensionsMap [metrics .ComponentDimension ] = lbMetricDimension
2048- dimensionsMap [metrics .ResourceOCIDDimension ] = lbName
2049- metrics .SendMetricData (cp .metricPusher , getMetric (loadBalancerType , List ), time .Since (startTime ).Seconds (), dimensionsMap )
2050- return err
2051- }
2052- for _ , wr := range lbInProgressWorkRequests {
2053- switch loadBalancerType {
2054- case NLB :
2055- if wr .Status == string (networkloadbalancer .OperationStatusInProgress ) || wr .Status == string (networkloadbalancer .OperationStatusAccepted ) {
2056- logger .With ("loadBalancerID" , * lb .Id ).Infof ("current in-progress work requests for Network Load Balancer %s" , * wr .Id )
2057- return errors .New ("Network Load Balancer has work requests in progress, will wait and retry" )
2058- }
2059- default :
2038+ switch loadBalancerType {
2039+ case NLB :
2040+ if * lb .LifecycleState == string (networkloadbalancer .LifecycleStateUpdating ) {
2041+ logger .Info ("Load Balancer is in UPDATING state, possibly a work request is in progress" )
2042+ return errors .New ("Load Balancer might have work requests in progress, will wait and retry" )
2043+ }
2044+ default :
2045+ lbInProgressWorkRequests , err := lbProvider .lbClient .ListWorkRequests (ctx , * lb .CompartmentId , * lb .Id )
2046+ logger .Infof ("time (in seconds) to list work-requests for LB %f" , time .Since (listWorkRequestTime ).Seconds ())
2047+ if err != nil {
2048+ logger .With (zap .Error (err )).Error ("Failed to list work-requests in-progress" )
2049+ return err
2050+ }
2051+ for _ , wr := range lbInProgressWorkRequests {
20602052 if * wr .LifecycleState == string (loadbalancer .WorkRequestLifecycleStateInProgress ) || * wr .LifecycleState == string (loadbalancer .WorkRequestLifecycleStateAccepted ) {
2061- logger .With ( "loadBalancerID" , * lb . Id ). Infof ("current in-progress work requests for Load Balancer %s" , * wr .Id )
2053+ logger .Infof ("current in-progress work requests for Load Balancer %s" , * wr .Id )
20622054 return errors .New ("Load Balancer has work requests in progress, will wait and retry" )
20632055 }
20642056 }
0 commit comments