kubernetes/kops · error
found multiple Volumes with name: %s
Error message
found multiple Volumes with name: %s
What it means
Listing Cinder volumes by the task's name returned more than one volume. The name-to-volume mapping must be unique; duplicates make it ambiguous which volume the task manages, often from manual volume copies.
Source
Thrown at upup/pkg/fi/cloudup/openstacktasks/volume.go:59
func (c *Volume) CompareWithID() *string {
return c.ID
}
func (c *Volume) Find(context *fi.CloudupContext) (*Volume, error) {
cloud := context.T.Cloud.(openstack.OpenstackCloud)
opt := cinderv3.ListOpts{
Name: fi.ValueOf(c.Name),
}
volumes, err := cloud.ListVolumes(opt)
if err != nil {
return nil, err
}
n := len(volumes)
if n == 0 {
return nil, nil
} else if n != 1 {
return nil, fmt.Errorf("found multiple Volumes with name: %s", fi.ValueOf(c.Name))
}
v := volumes[0]
actual := &Volume{
ID: new(v.ID),
Name: new(v.Name),
AvailabilityZone: new(v.AvailabilityZone),
VolumeType: new(v.VolumeType),
SizeGB: new(int64(v.Size)),
Tags: v.Metadata,
Lifecycle: c.Lifecycle,
}
// remove tags "readonly" and "attached_mode", openstack are adding these and if not removed
// kops will always try to update volumes
delete(actual.Tags, "readonly")
delete(actual.Tags, "attached_mode")
c.ID = actual.ID
c.AvailabilityZone = actual.AvailabilityZone
return actual, nilView on GitHub (pinned to 4c8573c808)
Solutions
- List volumes with the name and de-duplicate
- Rename or delete the extra volumes
- Re-run discovery once the name is unique
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/volume.go:59 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/fa11c34cf8089b03.
Report an issue: GitHub.