kubernetes/kops · error

getting info for %s network interface: %w

Error message

getting info for %s network interface: %w

What it means

Wraps a failure of the GetVirtualMachineScaleSetNetworkInterface call for a VMSS-instance (vmssName/vmssIndex) token verification path. Fires when Azure returns an error for the NIC lookup, e.g. the instance ID is stale, the NIC was detached, or the API call failed. %s is the 'VMSS %q VM #%s' description.

Source

Thrown at upup/pkg/fi/cloudup/azure/verifier.go:208

		desc := fmt.Sprintf("VMSS %q VM #%s", vmssName, vmssIndex)
		klog.V(2).Infof("Azure verifier for VM %q looking up Azure API object", vmLogID)

		vm, err := a.client.vmssVMsClient.Get(ctx, a.client.resourceGroup, vmssName, vmssIndex, nil)
		if err != nil {
			return nil, fmt.Errorf("getting info for %s: %w", desc, err)
		}
		if vm.Properties == nil {
			return nil, fmt.Errorf("determining VMID for %s", desc)
		}
		nodeName, igName, err = extractNodeIdentity(data, desc, vm.Properties.VMID, vm.Properties.OSProfile, vm.Tags)
		if err != nil {
			return nil, err
		}

		// Collect private IP addresses from the VMSS VM's network interface.
		ni, err := a.client.nisClient.GetVirtualMachineScaleSetNetworkInterface(ctx, a.client.resourceGroup, vmssName, vmssIndex, vmssName, nil)
		if err != nil {
			return nil, fmt.Errorf("getting info for %s network interface: %w", desc, err)
		}
		addrs, challengeEndpoints, err = privateIPEndpoints(ni.Interface, desc)
		if err != nil {
			return nil, err
		}

	default:
		return nil, fmt.Errorf("unsupported resource type %q", resourceType)
	}

	// Validate that we found at least one address and challenge endpoint.
	if len(addrs) == 0 {
		return nil, fmt.Errorf("determining certificate alternate names for node %q", nodeName)
	}
	if len(challengeEndpoints) == 0 {
		return nil, fmt.Errorf("determining challenge endpoint for node %q", nodeName)
	}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the VMSS instance ID in the token matches a live instance
  2. Confirm the verifier's credentials can read network interfaces in that resource group
  3. Look at the wrapped SDK error for the ARM failure reason
  4. Re-run nodeup/kops-controller bootstrap after the instance is fully provisioned
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/azure/verifier.go:208 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/f98f475cfbac6865. Report an issue: GitHub.