kubernetes/kops · error

error creating PersistentVolume: %v

Error message

error creating PersistentVolume: %v

What it means

The Cinder volume create for the PersistentVolume task failed. The wrapped error identifies the rejection; common causes are quota exhaustion, invalid size or volume type, or AZ unavailability.

Source

Thrown at upup/pkg/fi/cloudup/openstacktasks/volume.go:142

	if a == nil {
		klog.V(2).Infof("Creating PersistentVolume with Name:%q", fi.ValueOf(e.Name))

		storageAZ, err := t.Cloud.GetStorageAZFromCompute(fi.ValueOf(e.AvailabilityZone))
		if err != nil {
			return fmt.Errorf("Failed to get storage availability zone: %s", err)
		}

		opt := cinderv3.CreateOpts{
			Size:             int(*e.SizeGB),
			AvailabilityZone: storageAZ.ZoneName,
			Metadata:         e.Tags,
			Name:             fi.ValueOf(e.Name),
			VolumeType:       fi.ValueOf(e.VolumeType),
		}

		v, err := t.Cloud.CreateVolume(opt)
		if err != nil {
			return fmt.Errorf("error creating PersistentVolume: %v", err)
		}

		e.ID = new(v.ID)
		e.AvailabilityZone = new(v.AvailabilityZone)
		return nil
	}

	if changes != nil && changes.Tags != nil {
		klog.V(2).Infof("Update the tags on volume %q: %v, the differences are %v", fi.ValueOf(e.ID), e.Tags, changes.Tags)

		err := t.Cloud.SetVolumeTags(fi.ValueOf(e.ID), e.Tags)
		if err != nil {
			return fmt.Errorf("error updating the tags on volume %q: %v", fi.ValueOf(e.ID), err)
		}
	}

	klog.V(2).Infof("Openstack task Volume::RenderOpenstack did nothing")
	return nil

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the wrapped Cinder error
  2. Check volume quotas, size, type and AZ
  3. Fix the configuration and retry
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/volume.go:142 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/20ff1fc4a4bf0b47. Report an issue: GitHub.