kubernetes/kops · error

found subnet without ID

Error message

found subnet without ID

What it means

Malformed-API-object guard in the Azure subnet reconciler: a subnet matching by name was found, but the returned object lacks an ID, so kOps cannot reference or adopt it. Indicates a broken/incomplete API response rather than a user configuration error.

Source

Thrown at upup/pkg/fi/cloudup/azuretasks/subnet.go:89

			}
		} else {
			return nil, err
		}
	}

	var found *network.Subnet
	for _, v := range l {
		if *v.Name == *s.Name {
			found = v
			break
		}
	}
	if found == nil {
		return nil, nil
	}

	if found.ID == nil {
		return nil, fmt.Errorf("found subnet without ID")
	}
	if found.Properties == nil {
		return nil, fmt.Errorf("found subnet without properties")
	}
	if found.Properties.ProvisioningState != nil && *found.Properties.ProvisioningState == network.ProvisioningStateFailed {
		klog.Warningf("found subnet %q in failed provisioning state", *s.Name)
		return nil, nil
	}

	s.ID = found.ID

	fs := &Subnet{
		Name:      s.Name,
		Lifecycle: s.Lifecycle,
		Shared:    s.Shared,
		ResourceGroup: &ResourceGroup{
			Name: s.ResourceGroup.Name,
		},

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Retry the operation in case of a transient API anomaly
  2. Inspect the subnet in the Azure portal to confirm it is healthy
  3. Delete and recreate the subnet if it is in a corrupted state
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/azuretasks/subnet.go:89 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/1f0d3c864f546454. Report an issue: GitHub.