kubernetes/kops · error
error deleting keypair: %v
Error message
error deleting keypair: %v
What it means
The Nova keypair delete call failed with an error other than 404. Deletion is retried with backoff; this error means the keypair could not be removed after retries, e.g. in-use keypair, authorization, or API failure.
Source
Thrown at upup/pkg/fi/cloudup/openstack/keypair.go:86
})
if err != nil {
return k, err
} else if done {
return k, nil
} else {
return k, wait.ErrWaitTimeout
}
}
func (c *openstackCloud) DeleteKeyPair(name string) error {
return deleteKeyPair(c, name)
}
func deleteKeyPair(c OpenstackCloud, name string) error {
done, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {
err := keypairs.Delete(context.TODO(), c.ComputeClient(), name, nil).ExtractErr()
if err != nil && !isNotFound(err) {
return false, fmt.Errorf("error deleting keypair: %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) ListKeypairs() ([]keypairs.KeyPair, error) {
return listKeypairs(c)
}View on GitHub (pinned to 4c8573c808)
Solutions
- Inspect the wrapped Nova error for the concrete cause
- Verify no running servers still reference the keypair
- Retry the deletion after the underlying issue is fixed
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/keypair.go:86 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/bf73329150c71604.
Report an issue: GitHub.