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
- Retry the operation in case of a transient API anomaly
- Inspect the subnet in the Azure portal to confirm it is healthy
- 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.