Azure v6-series VMs fail to provision: missing DiskControllerType configuration for NVMe controllers
Issue
The machine-controller fails to provision Azure v6-series VMs (e.g., Standard_D4s_v6, Standard_D8s_v6) because it does not set the DiskControllerType field during VM creation. Azure v6-series VMs require NVMe disk controllers, but when DiskControllerType is not explicitly specified, Azure defaults to SCSI controllers, which are incompatible with these VM sizes. This results in VM creation failures with disk controller type mismatch errors.
Customer Impact
This issue is currently blocking deploying worker nodes using Azure v6-series VM sizes. The v6-series offers better performance and cost optimization compared to older generations, but the inability to provision these VMs forces the customer to use older, less efficient VM sizes, impacting their infrastructure modernization plans and potentially increasing operational costs.
machine-controller {"level":"error","time":"2025-12-09T10:49:25.550Z","logger":"machine-controller","caller":"machine/controller.go:388","msg":"Reconciling failed","machine":"kube-system/dataapp03bdsfurnace8-6c8db78958-rdl57","error":"failed to create machine at cloudprovider, due to trying to create a VM: compute.VirtualMachinesClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code=\"InvalidParameter\" Message=\"The VM size 'Standard_D4s_v6' cannot boot with OS image or disk. Please check that disk controller types supported by the OS image or disk is one of the supported disk controller types for the VM size 'Standard_D4s_v6'. Please query sku api at https://aka.ms/azure-compute-skus to determine supported disk controller types for the VM size.\" Target=\"vmSize\""}