kubernetes/kops · error
error creating router interface: %v
Error message
error creating router interface: %v
What it means
Adding an interface to a router failed at the Neutron API. The operation is retried with backoff; persistent failure usually means the subnet/port cannot be attached, e.g. already attached, conflict, or wrong state.
Source
Thrown at upup/pkg/fi/cloudup/openstack/router.go:91
return r, err
} else if done {
return r, nil
} else {
return r, wait.ErrWaitTimeout
}
}
func (c *openstackCloud) CreateRouterInterface(routerID string, opt routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error) {
return createRouterInterface(c, routerID, opt)
}
func createRouterInterface(c OpenstackCloud, routerID string, opt routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error) {
var i *routers.InterfaceInfo
done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {
v, err := routers.AddInterface(context.TODO(), c.NetworkingClient(), routerID, opt).Extract()
if err != nil {
return false, fmt.Errorf("error creating router interface: %v", err)
}
i = v
return true, nil
})
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 {View on GitHub (pinned to 4c8573c808)
Solutions
- Inspect the wrapped error for the conflict reason
- Verify the subnet is not already attached to another router interface
- Retry after resolving the conflict
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/router.go:91 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/2eba27f14dcb6243.
Report an issue: GitHub.