kubernetes/kops · error

VMSS %s has no network profile

Error message

VMSS %s has no network profile

What it means

Fires in toVMScaleSetResource when the VMSS's Properties, VirtualMachineProfile, or network profile chain is nil, so Azure resource discovery cannot extract vnets/subnets/ASGs/load balancers that the VMSS deletion blocks on.

Source

Thrown at pkg/resources/azure/azure.go:463

	// Add resources whose deletion is blocked by this VMSS.
	var blocks []string
	blocks = append(blocks, toKey(typeResourceGroup, g.resourceGroupID()))

	// The VM Scale Set deletion is blocked by its instances.
	var blocked []string
	for _, vm := range vms {
		if vm == nil || vm.ID == nil {
			continue
		}
		blocked = append(blocked, toKey(typeVMScaleSetVM, *vm.ID))
	}

	vnets := set.New[string]()
	subnets := set.New[string]()
	asgs := set.New[string]()
	lbs := set.New[string]()
	if vmss.Properties == nil || vmss.Properties.VirtualMachineProfile == nil || vmss.Properties.VirtualMachineProfile.NetworkProfile == nil {
		return nil, fmt.Errorf("VMSS %s has no network profile", fi.ValueOf(vmss.Name))
	}
	for _, iface := range vmss.Properties.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations {
		if iface.Properties == nil {
			continue
		}
		for _, ip := range iface.Properties.IPConfigurations {
			if ip.Properties == nil || ip.Properties.Subnet == nil {
				continue
			}
			subnet, err := arm.ParseResourceID(*ip.Properties.Subnet.ID)
			if err != nil {
				return nil, err
			}
			vnets.Insert(subnet.Parent.String())
			subnets.Insert(subnet.String())
			if ip.Properties.ApplicationSecurityGroups != nil {
				for _, asg := range ip.Properties.ApplicationSecurityGroups {
					asgs.Insert(*asg.ID)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the VMSS in the Azure portal/CLI — it may be mid-provisioning or partially deleted
  2. Retry discovery once the VMSS has a complete network profile
  3. If the VMSS is orphaned/broken, delete it directly in Azure and re-run kops delete
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/resources/azure/azure.go:463 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/54ff6f9a27befe39. Report an issue: GitHub.