kubernetes/kops · error

error setting tags to cinder volume %q: %v

Error message

error setting tags to cinder volume %q: %v

What it means

The Cinder volume update that sets metadata (tags) failed after retry-with-backoff. The wrapped error carries the API reason; common causes are the volume being in a transitional state or authorization problems.

Source

Thrown at upup/pkg/fi/cloudup/openstack/volume.go:122

func (c *openstackCloud) SetVolumeTags(id string, tags map[string]string) error {
	return setVolumeTags(c, id, tags)
}

func setVolumeTags(c OpenstackCloud, id string, tags map[string]string) error {
	if len(tags) == 0 {
		return nil
	}
	if id == "" {
		return fmt.Errorf("error setting tags to unknown volume")
	}
	klog.V(4).Infof("setting tags to cinder volume %q: %v", id, tags)

	opt := cinder.UpdateOpts{Metadata: tags}
	done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {
		_, err := cinder.Update(context.TODO(), c.BlockStorageClient(), id, opt).Extract()
		if err != nil {
			return false, fmt.Errorf("error setting tags to cinder volume %q: %v", id, err)
		}
		return true, nil
	})
	if err != nil {
		return err
	} else if done {
		return nil
	} else {
		return wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) DeleteVolume(volumeID string) error {
	return deleteVolume(c, volumeID)
}

func deleteVolume(c OpenstackCloud, volumeID string) error {
	done, err := vfs.RetryWithBackoff(deleteBackoff, func() (bool, error) {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the wrapped error
  2. Verify the volume is in a state that permits metadata updates
  3. Retry once the volume stabilizes
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstack/volume.go:122 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/37fa3f3900dff84a. Report an issue: GitHub.