kubernetes/kops · error

error deleting router interface: %v

Error message

error deleting router interface: %v

What it means

Removing an interface from a router failed with a non-404 error. Deletion is retried; persistent failure typically means the interface is in a transitional state or the API rejects the removal.

Source

Thrown at upup/pkg/fi/cloudup/openstack/router.go:113

	})
	if err != nil {
		return i, err
	} else if done {
		return i, nil
	} else {
		return i, wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) DeleteRouterInterface(routerID string, opt routers.RemoveInterfaceOptsBuilder) error {
	return deleteRouterInterface(c, routerID, opt)
}

func deleteRouterInterface(c OpenstackCloud, routerID string, opt routers.RemoveInterfaceOptsBuilder) error {
	done, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {
		_, err := routers.RemoveInterface(context.TODO(), c.NetworkingClient(), routerID, opt).Extract()
		if err != nil && !isNotFound(err) {
			return false, fmt.Errorf("error deleting router interface: %v", err)
		}
		if isNotFound(err) {
			return true, nil
		}
		return false, nil
	})
	if err != nil {
		return err
	} else if done {
		return nil
	} else {
		return wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) DeleteRouter(routerID string) error {
	return deleteRouter(c, routerID)
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the wrapped Neutron error
  2. Retry after the router leaves a PENDING state
  3. Manually check remaining interfaces on the router
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstack/router.go:113 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/b2c192d97c893ef4. Report an issue: GitHub.