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

  1. Inspect the wrapped Nova error for the concrete cause
  2. Verify no running servers still reference the keypair
  3. 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.