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