kubernetes/kops · error
error appending tag to subnet: %v
Error message
error appending tag to subnet: %v
What it means
Updating the tag on an existing subnet (the changed-tag path of apply) failed. The wrapped error identifies the Neutron tagging failure; the subnet's actual state may now diverge from the spec.
Source
Thrown at upup/pkg/fi/cloudup/openstacktasks/subnet.go:180
}
v, err := t.Cloud.CreateSubnet(opt)
if err != nil {
return fmt.Errorf("Error creating subnet: %v", err)
}
err = t.Cloud.AppendTag(openstack.ResourceTypeSubnet, v.ID, fi.ValueOf(e.Tag))
if err != nil {
return fmt.Errorf("Error appending tag to subnet: %v", err)
}
e.ID = new(v.ID)
klog.V(2).Infof("Creating a new Openstack subnet, id=%s", v.ID)
return nil
} else {
if changes.Tag != nil {
err := t.Cloud.AppendTag(openstack.ResourceTypeSubnet, fi.ValueOf(a.ID), fi.ValueOf(changes.Tag))
if err != nil {
return fmt.Errorf("error appending tag to subnet: %v", err)
}
}
client := t.Cloud.NetworkingClient()
opt := subnets.UpdateOpts{}
if changes.DNSServers != nil {
dnsNameSrv := make([]string, len(e.DNSServers))
for i, ns := range e.DNSServers {
dnsNameSrv[i] = fi.ValueOf(ns)
}
opt.DNSNameservers = &dnsNameSrv
}
result := subnets.Update(context.TODO(), client, fi.ValueOf(a.ID), opt)
klog.Infof("Updated %v", opt)
if result.Err != nil {
return fmt.Errorf("error updating subnet %v: %v", a.ID, result.Err)
}View on GitHub (pinned to 4c8573c808)
Solutions
- Inspect the wrapped tagging error
- Apply the tag manually if the API is flaky
- Re-run apply to reconcile
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/subnet.go:180 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/709af6184ed9ece3.
Report an issue: GitHub.