kubernetes/kops · error
missing required --azure-resource-group-name when specifying
Error message
missing required --azure-resource-group-name when specifying Network ID
What it means
Azure configuration guard in PerformAssignments: an Azure cluster specified a NetworkID (existing network) but the required --azure-resource-group-name flag was not provided, so kOps cannot locate resources in the user-supplied resource group.
Source
Thrown at upup/pkg/fi/cloudup/defaults.go:106
c.Spec.Networking.NetworkCIDR = vpcInfo.CIDR
if c.Spec.Networking.NetworkCIDR == "" {
return fmt.Errorf("unable to infer NetworkCIDR from Network ID, please specify --network-cidr")
}
} else {
// TODO: Choose non-overlapping networking CIDRs for VPCs, using vpcInfo
c.Spec.Networking.NetworkCIDR = defaultAWSNetworkCIDR
}
// Amazon VPC CNI uses the same network
if c.Spec.Networking.AmazonVPC != nil && c.Spec.Networking.NonMasqueradeCIDR != "::/0" {
c.Spec.Networking.NonMasqueradeCIDR = c.Spec.Networking.NetworkCIDR
}
}
if cloud.ProviderID() == kops.CloudProviderAzure && c.Spec.Networking.NetworkCIDR == "" {
if c.SharedVPC() {
if c.Spec.CloudProvider.Azure == nil || c.Spec.CloudProvider.Azure.ResourceGroupName == "" {
return fmt.Errorf("missing required --azure-resource-group-name when specifying Network ID")
}
vpcInfo, err := cloud.(azure.AzureCloud).FindVNetInfo(c.Spec.Networking.NetworkID, c.Spec.CloudProvider.Azure.ResourceGroupName)
if err != nil {
return err
}
if vpcInfo == nil {
return fmt.Errorf("unable to find Network ID %q", c.Spec.Networking.NetworkID)
}
c.Spec.Networking.NetworkCIDR = vpcInfo.CIDR
if c.Spec.Networking.NetworkCIDR == "" {
return fmt.Errorf("unable to infer NetworkCIDR from Network ID, please specify --network-cidr")
}
} else {
c.Spec.Networking.NetworkCIDR = defaultAzureNetworkCIDR
}
}
if cloud.ProviderID() == kops.CloudProviderLinode && c.Spec.Networking.NetworkCIDR == "" {View on GitHub (pinned to 4c8573c808)
Solutions
- Set --azure-resource-group-name to the resource group holding the existing network
- Or clear the Network ID to let kOps manage its own network
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/defaults.go:106 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/d639818c7e8857f8.
Report an issue: GitHub.