code: func (az *Cloud) createOrUpdateLBWithRetry(service *v1.Service, lb network.LoadBalancer) error {
  	return wait.ExponentialBackoff(az.requestBackoff(), func() (bool, error) {
  		ctx, cancel := getContextWithCancel()
  		defer cancel()
  
  		resp, err := az.LoadBalancerClient.CreateOrUpdate(ctx, az.ResourceGroup, *lb.Name, lb)
  		klog.V(10).Infof("LoadBalancerClient.CreateOrUpdate(%s): end", *lb.Name)
  		done, err := az.processHTTPRetryResponse(service, "CreateOrUpdateLoadBalancer", resp, err)
  		if done && err == nil {
  			// Invalidate the cache right after updating
  			az.lbCache.Delete(*lb.Name)
  		}
  		return done, err
  	})
  }
docs: // createOrUpdateLBWithRetry invokes az.LoadBalancerClient.CreateOrUpdate with exponential backoff retry