kubernetes/kops · error

error listing IAM role policies for %q: %v

Error message

error listing IAM role policies for %q: %v

What it means

Fires when iam.ListRolePolicies pagination fails for an IAM role during deletion. NoSuchEntity is treated as already-deleted and returns nil; any other error (permissions, throttling) aborts with this message.

Source

Thrown at pkg/resources/aws/aws.go:1919

	var policyNames []string

	c := cloud.(awsup.AWSCloud)
	roleName := r.Name

	// List Inline policies
	{
		request := &iam.ListRolePoliciesInput{
			RoleName: aws.String(roleName),
		}
		paginator := iam.NewListRolePoliciesPaginator(c.IAM(), request)
		for paginator.HasMorePages() {
			page, err := paginator.NextPage(ctx)
			if err != nil {
				if awsup.IsIAMNoSuchEntityException(err) {
					klog.V(2).Infof("Got NoSuchEntity describing IAM RolePolicy %q; will treat as already-deleted", roleName)
					return nil
				}
				return fmt.Errorf("error listing IAM role policies for %q: %v", roleName, err)
			}
			policyNames = append(policyNames, page.PolicyNames...)
		}
	}

	// List Attached Policies
	{
		request := &iam.ListAttachedRolePoliciesInput{
			RoleName: aws.String(roleName),
		}
		paginator := iam.NewListAttachedRolePoliciesPaginator(c.IAM(), request)
		for paginator.HasMorePages() {
			page, err := paginator.NextPage(ctx)
			if err != nil {
				if awsup.IsIAMNoSuchEntityException(err) {
					klog.V(2).Infof("Got NoSuchEntity describing IAM RolePolicy %q; will treat as already-deleted", roleName)
					return nil
				}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check IAM permissions (iam:ListRolePolicies) for the credentials in use
  2. Retry after throttling (inspect wrapped error for Throttling/SlowDown)
  3. If the role was concurrently deleted, re-run discovery so it is treated as deleted
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/resources/aws/aws.go:1919 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/b312ddd20b76700e. Report an issue: GitHub.