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
- Verify the instance ID and resource group/name of the VMSS VM
- Ensure the caller has Virtual Machine Contributor (or equivalent) RBAC rights
- Inspect the wrapped error for the ARM error code and correct accordingly
- 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.