kubernetes/kops · error

error updating subnet %v: %v

Error message

error updating subnet %v: %v

What it means

The Neutron subnet update call returned an error while applying changes (e.g. DNS servers). The subnet exists but the desired modification was rejected; the wrapped error carries the API reason.

Source

Thrown at upup/pkg/fi/cloudup/openstacktasks/subnet.go:197

			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)
		}
	}
	e.ID = a.ID
	klog.V(2).Infof("Using an existing Openstack subnet, id=%s", fi.ValueOf(e.ID))
	return nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect result.Err for the rejected update option
  2. Verify DNS server values are valid IPs
  3. Fix the option and re-run apply
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/subnet.go:197 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/47fe190e625247c1. Report an issue: GitHub.