kubernetes/kops · error
found multiple tags for: %v
Error message
found multiple tags for: %v
What it means
The deprecated tag-based lookup found more than one AssociatedElasticIp tag on the referenced subnet; kOps expects exactly one and cannot choose between conflicting tags.
Source
Thrown at upup/pkg/fi/cloudup/awstasks/elastic_ip.go:119
var filters []ec2types.Filter
filters = append(filters, awsup.NewEC2Filter("key", "AssociatedElasticIp"))
filters = append(filters, awsup.NewEC2Filter("resource-id", *e.TagOnSubnet.ID))
request := &ec2.DescribeTagsInput{
Filters: filters,
}
response, err := cloud.EC2().DescribeTags(ctx, request)
if err != nil {
return nil, fmt.Errorf("error listing tags: %v", err)
}
if response == nil || len(response.Tags) == 0 {
return nil, nil
}
if len(response.Tags) != 1 {
return nil, fmt.Errorf("found multiple tags for: %v", e)
}
t := response.Tags[0]
publicIP = t.Value
klog.V(2).Infof("Found public IP via tag: %v", *publicIP)
}
if publicIP != nil || allocationID != nil {
request := &ec2.DescribeAddressesInput{}
if allocationID != nil {
request.AllocationIds = []string{fi.ValueOf(allocationID)}
} else if publicIP != nil {
request.Filters = []ec2types.Filter{awsup.NewEC2Filter("public-ip", *publicIP)}
}
response, err := cloud.EC2().DescribeAddresses(ctx, request)
if err != nil {
return nil, fmt.Errorf("error listing ElasticIPs: %v", err)
}View on GitHub (pinned to 4c8573c808)
Solutions
- Remove the stale AssociatedElasticIp tags from the subnet, leaving one
- Migrate to a non-deprecated ElasticIP association mechanism
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/awstasks/elastic_ip.go:119 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/31a3e7cef73b188b.
Report an issue: GitHub.