kubernetes/kops · error

error deleting IAM role policy %q %q: %v

Error message

error deleting IAM role policy %q %q: %v

What it means

Fires when iam.DeleteRolePolicy fails to remove a named inline policy from the role during cluster resource teardown — the deletion API call returned an error (permissions, throttling, or unexpected state).

Source

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

					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)
			}
			attachedPolicies = append(attachedPolicies, page.AttachedPolicies...)
		}
	}

	// Delete inline policies
	for _, policyName := range policyNames {
		klog.V(2).Infof("Deleting IAM role policy %q %q", roleName, policyName)
		request := &iam.DeleteRolePolicyInput{
			RoleName:   aws.String(r.Name),
			PolicyName: aws.String(policyName),
		}
		_, err := c.IAM().DeleteRolePolicy(ctx, request)
		if err != nil {
			return fmt.Errorf("error deleting IAM role policy %q %q: %v", roleName, policyName, err)
		}
	}

	// Detach Managed Policies
	for _, policy := range attachedPolicies {
		klog.V(2).Infof("Detaching IAM role policy %q %v", roleName, policy)
		request := &iam.DetachRolePolicyInput{
			RoleName:  aws.String(r.Name),
			PolicyArn: policy.PolicyArn,
		}
		_, err := c.IAM().DetachRolePolicy(ctx, request)
		if err != nil {
			return fmt.Errorf("error detaching IAM role policy %q %q: %v", roleName, *policy.PolicyArn, err)
		}
	}

	// Delete Role
	{

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check iam:DeleteRolePolicy permission on the role
  2. Retry; transient throttling or eventual consistency can cause failures
  3. If NoSuchEntity, re-run kops delete to let discovery treat it as already deleted
Defensive patterns

Strategy: retry

When it happens

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