kubernetes/kops · error
error setting tags to unknown volume
Error message
error setting tags to unknown volume
What it means
SetVolumeTags was called with an empty volume ID but a non-empty tags map. It is a defensive guard against programming errors where the caller lost track of which volume to tag; the request is rejected before hitting the API.
Source
Thrown at upup/pkg/fi/cloudup/openstack/volume.go:114
if !done {
if err == nil {
err = wait.ErrWaitTimeout
}
return attachment, err
}
return attachment, err
}
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
}View on GitHub (pinned to 4c8573c808)
Solutions
- Trace the caller: the volume ID was never populated (volume creation may have failed earlier)
- Ensure volume creation succeeded and its ID is propagated before tagging
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/volume.go:114 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/7ef4b635ce67eba6.
Report an issue: GitHub.