kubernetes/kops · error
distrusting keypair for %s: %v
Error message
distrusting keypair for %s: %v
What it means
While iterating keysets for 'all' mode, RunDistrustKeypair wraps a per-keyset distrustKeypair failure with the keyset name. The underlying failure (find, store, or validation of that keyset) is in the wrapped error.
Source
Thrown at cmd/kops/distrust_keypair.go:139
keyStore, err := clientset.KeyStore(cluster)
if err != nil {
return err
}
if options.Keyset != "all" {
return distrustKeypair(ctx, out, options.Keyset, options.KeypairIDs, keyStore)
}
keysets, err := keyStore.ListKeysets()
if err != nil {
return fmt.Errorf("listing keysets: %v", err)
}
for name := range keysets {
if rotatableKeysetFilter(name, nil) {
if err := distrustKeypair(ctx, out, name, nil, keyStore); err != nil {
return fmt.Errorf("distrusting keypair for %s: %v", name, err)
}
}
}
return nil
}
func distrustKeypair(ctx context.Context, out io.Writer, name string, keypairIDs []string, keyStore fi.CAStore) error {
keyset, err := keyStore.FindKeyset(ctx, name)
if err != nil {
return err
} else if keyset == nil {
return fmt.Errorf("keyset not found")
}
if len(keypairIDs) == 0 {
primarySerial := keyset.Primary.Certificate.Certificate.SerialNumber
for id, item := range keyset.Items {View on GitHub (pinned to 4c8573c808)
Solutions
- Inspect the wrapped error to see which step failed for the named keyset
- Fix the keyset-specific issue (e.g. primary-keypair constraint or store error)
- Re-run targeting only the failing keyset by name
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at cmd/kops/distrust_keypair.go:139 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/e0e0caf63c1087d8.
Report an issue: GitHub.