kubernetes/kops · error

error deleting VPC %q: %v

Error message

error deleting VPC %q: %v

What it means

Fires in DeleteVPC when ec2.DeleteVpc fails with an error that is neither InvalidVpcID.NotFound (treated as concurrently deleted) nor a dependency violation (which is returned for retry) — an unexpected EC2 API failure deleting the VPC.

Source

Thrown at pkg/resources/aws/vpc.go:54

	c := cloud.(awsup.AWSCloud)

	id := r.ID

	klog.V(2).Infof("Deleting EC2 VPC %q", id)
	request := &ec2.DeleteVpcInput{
		VpcId: &id,
	}
	_, err := c.EC2().DeleteVpc(ctx, request)
	if err != nil {
		if awsup.AWSErrorCode(err) == "InvalidVpcID.NotFound" {
			// Concurrently deleted
			return nil
		}

		if IsDependencyViolation(err) {
			return err
		}
		return fmt.Errorf("error deleting VPC %q: %v", id, err)
	}
	return nil
}

func DumpVPC(op *resources.DumpOperation, r *resources.Resource) error {
	data := make(map[string]interface{})
	data["id"] = r.ID
	data["type"] = ec2types.ResourceTypeVpc
	data["raw"] = r.Obj
	op.Dump.Resources = append(op.Dump.Resources, data)

	ec2VPC := r.Obj.(*ec2types.Vpc)
	vpc := &resources.VPC{
		ID: aws.ToString(ec2VPC.VpcId),
	}
	op.Dump.VPC = vpc

	return nil

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check ec2:DeleteVpc permission
  2. If it's a dependency violation, delete remaining subnets/gateways/security groups first and retry
  3. Verify the VPC ID exists in the target region/account
Defensive patterns

Strategy: retry

When it happens

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