kubernetes/kops · error

waiting for load balancer deletion completion: %w

Error message

waiting for load balancer deletion completion: %w

What it means

PollUntilDone failed while waiting for the load balancer deletion LRO; the delete was accepted but the operation failed (often because dependent resources such as public IPs or NICs still reference the LB).

Source

Thrown at upup/pkg/fi/cloudup/azure/loadbalancer.go:94

func (c *loadBalancersClientImpl) Get(ctx context.Context, resourceGroupName string, loadBalancerName string) (*network.LoadBalancer, error) {
	opts := &network.LoadBalancersClientGetOptions{
		Expand: to.Ptr("frontendIpConfigurations/publicIpAddress"),
	}
	resp, err := c.c.Get(ctx, resourceGroupName, loadBalancerName, opts)
	if err != nil {
		return nil, fmt.Errorf("getting load balancer: %w", err)
	}
	return &resp.LoadBalancer, nil
}

func (c *loadBalancersClientImpl) Delete(ctx context.Context, resourceGroupName, loadBalancerName string) error {
	future, err := c.c.BeginDelete(ctx, resourceGroupName, loadBalancerName, nil)
	if err != nil {
		return fmt.Errorf("deleting load balancer: %w", err)
	}
	if _, err := future.PollUntilDone(ctx, nil); err != nil {
		return fmt.Errorf("waiting for load balancer deletion completion: %w", err)
	}
	return nil
}

func newLoadBalancersClientImpl(subscriptionID string, cred *azidentity.DefaultAzureCredential) (*loadBalancersClientImpl, error) {
	c, err := network.NewLoadBalancersClient(subscriptionID, cred, nil)
	if err != nil {
		return nil, fmt.Errorf("creating load balancers client: %w", err)
	}
	return &loadBalancersClientImpl{
		c: c,
	}, nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Remove dependent resources (public IPs, NICs, backend pools) referencing the load balancer and retry
  2. Inspect the wrapped error for the specific provisioning failure
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/azure/loadbalancer.go:94 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/b55caa4640be5af1. Report an issue: GitHub.