kubernetes/kops · error

deleting VMSS VM: %w

Error message

deleting VMSS VM: %w

What it means

Wraps the BeginDelete failure when deleting a VMSS VM instance via the Azure compute SDK. Fires when the ARM DELETE call is rejected — bad instance ID, resource group mismatch, RBAC permissions, or a concurrent operation on the instance.

Source

Thrown at upup/pkg/fi/cloudup/azure/vmscalesetvm.go:55

var _ VMScaleSetVMsClient = (*vmScaleSetVMsClientImpl)(nil)

func (c *vmScaleSetVMsClientImpl) List(ctx context.Context, resourceGroupName, vmssName string) ([]*compute.VirtualMachineScaleSetVM, error) {
	var l []*compute.VirtualMachineScaleSetVM
	pager := c.c.NewListPager(resourceGroupName, vmssName, nil)
	for pager.More() {
		resp, err := pager.NextPage(ctx)
		if err != nil {
			return nil, fmt.Errorf("listing VMSS VMs: %w", err)
		}
		l = append(l, resp.Value...)
	}
	return l, nil
}

func (c *vmScaleSetVMsClientImpl) Delete(ctx context.Context, resourceGroupName, vmssName, instanceId string) error {
	future, err := c.c.BeginDelete(ctx, resourceGroupName, vmssName, instanceId, nil)
	if err != nil {
		return fmt.Errorf("deleting VMSS VM: %w", err)
	}
	if _, err = future.PollUntilDone(ctx, nil); err != nil {
		return fmt.Errorf("waiting for VMSS VM deletion completion: %w", err)
	}
	return nil
}

func newVMScaleSetVMsClientImpl(subscriptionID string, cred *azidentity.DefaultAzureCredential) (*vmScaleSetVMsClientImpl, error) {
	c, err := compute.NewVirtualMachineScaleSetVMsClient(subscriptionID, cred, nil)
	if err != nil {
		return nil, fmt.Errorf("creating VMSS VMs client: %w", err)
	}
	return &vmScaleSetVMsClientImpl{
		c: c,
	}, nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the instance ID and resource group/name of the VMSS VM
  2. Ensure the caller has Virtual Machine Contributor (or equivalent) RBAC rights
  3. Inspect the wrapped error for the ARM error code and correct accordingly
  4. Retry after any in-progress operation on the instance completes
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/azure/vmscalesetvm.go:55 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/0779b4087829d12b. Report an issue: GitHub.