kubernetes/kops · error

error deleting Keyset %q: %v

Error message

error deleting Keyset %q: %v

What it means

Deleting an individual Keyset during cluster teardown failed with a non-NotFound error; NotFound is tolerated (logged as concurrent deletion), so this is a genuine API failure or RBAC problem affecting that specific object.

Source

Thrown at pkg/client/simple/api/clientset.go:156

	name := cluster.Name
	namespace := restNamespaceForClusterName(name)

	{
		keysets, err := c.KopsClient.Keysets(namespace).List(ctx, metav1.ListOptions{})
		if err != nil {
			return fmt.Errorf("error listing Keysets: %v", err)
		}

		for i := range keysets.Items {
			keyset := &keysets.Items[i]
			err = c.KopsClient.Keysets(namespace).Delete(ctx, keyset.Name, metav1.DeleteOptions{})
			if err != nil {
				if errors.IsNotFound(err) {
					// Unlikely...
					klog.Warningf("Keyset was concurrently deleted")
				} else {
					return fmt.Errorf("error deleting Keyset %q: %v", keyset.Name, err)
				}
			}
		}
	}

	{
		igs, err := c.KopsClient.InstanceGroups(namespace).List(ctx, metav1.ListOptions{})
		if err != nil {
			return fmt.Errorf("error listing instance groups: %v", err)
		}

		for i := range igs.Items {
			ig := &igs.Items[i]
			err = c.KopsClient.InstanceGroups(namespace).Delete(ctx, ig.Name, metav1.DeleteOptions{})
			if err != nil {
				if errors.IsNotFound(err) {
					// Unlikely...
					klog.Warningf("instance group was concurrently deleted")

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the wrapped API error (RBAC, conflict, timeout)
  2. Retry kops delete cluster
  3. Remove the named Keyset manually via kubectl if the API is healthy but the object is wedged
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/client/simple/api/clientset.go:156 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/f698ef39f0b4f598. Report an issue: GitHub.