kubernetes/kops · error
deleting load-balancer IP: %w
Error message
deleting load-balancer IP: %w
What it means
In DeleteLoadBalancer, after the load-balancer was deleted and awaited, releasing one of its reserved IPs via lbAPI.ReleaseIP failed. The load-balancer itself is already gone, so this leaves orphaned reserved IPs that will keep billing until manually released.
Source
Thrown at upup/pkg/fi/cloudup/scaleway/cloud.go:585
if err != nil {
return fmt.Errorf("deleting load-balancer %s: %w", loadBalancer.ID, err)
}
// We wait for the load-balancer to be deleted, then we detach its IPs
_, err = s.lbAPI.WaitForLb(&lb.ZonedAPIWaitForLBRequest{
LBID: loadBalancer.ID,
Zone: s.zone,
})
if !is404Error(err) {
return fmt.Errorf("waiting for load-balancer %s after deletion: %w", loadBalancer.ID, err)
}
for _, ip := range ipsToRelease {
err := s.lbAPI.ReleaseIP(&lb.ZonedAPIReleaseIPRequest{
Zone: s.zone,
IPID: ip.ID,
})
if err != nil {
return fmt.Errorf("deleting load-balancer IP: %w", err)
}
}
return nil
}
func (s *scwCloudImplementation) DeleteServer(server *instance.Server) error {
srv, err := s.instanceAPI.GetServer(&instance.GetServerRequest{
Zone: s.zone,
ServerID: server.ID,
})
if err != nil {
if is404Error(err) {
klog.V(4).Infof("delete server %s: instance %q was already deleted", server.ID, server.Name)
return nil
}
return err
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Manually release the orphaned IP in the Scaleway console or via the API
- Check the wrapped error (IP may already be released or attached elsewhere)
- Re-run cluster deletion to retry cleanup
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/scaleway/cloud.go:585 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/e8df5df030571bff.
Report an issue: GitHub.