kubernetes/kops · error

error creating Disk: %v

Error message

error creating Disk: %v

What it means

Wrapped error from Disk.RenderGCE when the synchronous Disks.Insert call fails for a new disk (a == nil). GCE rejected the create request — typical causes are invalid disk type/size, zone issues, quota, or name conflicts.

Source

Thrown at upup/pkg/fi/cloudup/gcetasks/disk.go:135

		*e.VolumeType)

	disk := &compute.Disk{
		Name:   *e.Name,
		SizeGb: *e.SizeGB,
		Type:   typeURL,
	}

	if e.VolumeIops != nil {
		disk.ProvisionedIops = *e.VolumeIops
	}
	if e.VolumeThroughput != nil {
		disk.ProvisionedThroughput = *e.VolumeThroughput
	}

	if a == nil {
		op, err := cloud.Compute().Disks().Insert(t.Cloud.Project(), *e.Zone, disk)
		if err != nil {
			return fmt.Errorf("error creating Disk: %v", err)
		}
		err = cloud.WaitForOp(op)
		if err != nil {
			return fmt.Errorf("error during Disk creation: %v", err)
		}
	}

	if changes.Labels != nil {
		d, err := cloud.Compute().Disks().Get(t.Cloud.Project(), *e.Zone, disk.Name)
		if err != nil {
			return fmt.Errorf("error reading created Disk: %v", err)
		}

		labelsRequest := &compute.ZoneSetLabelsRequest{
			LabelFingerprint: d.LabelFingerprint,
			Labels:           make(map[string]string),
		}
		// Danger: labels replace tags on instances; but thankfully volumes don't have tags

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the wrapped error for the exact rejection reason
  2. Verify the disk type exists in the target zone and size/iops/throughput values are valid for that type
  3. Clear quota or naming conflicts, then re-run the apply
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/gcetasks/disk.go:135 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/344e7b734e018e99. Report an issue: GitHub.