When editing a virtual machine in vCloud Director — such as changing the disk layout or adding CPUs — you may encounter the following error:
Validation error on field ‘bootRetryDelay’: Value must be greater than or equal to 10000
This validation error can block updates, even for routine configuration changes.chine. This can be anything like changing the disk layout or adding CPU’s. You’re not alone.
This issue is documented by Broadcom (formerly VMware) in this Knowledge Base article. It occurs because VMware Cloud Director enforces a minimum value of 10,000 milliseconds (10 seconds) for the bootRetryDelay parameter, but some VMs might still be configured with a lower value.
Identify Affected VMs
Before making changes, you might want to generate a list of VMs that currently have a bootRetryDelay value lower than 10 seconds. Use this handy PowerCLI one-liner to find and display them:
Get-View -ViewType VirtualMachine -Property Name, Config.Version, Config.BootOptions.BootRetryDelay, Config.BootOptions.BootDelay, Config.CreateDate |
Where-Object { $_.Config.BootOptions.BootRetryDelay -lt 10 } |
Select-Object Name,
@{N="Version";E={$_.Config.Version}},
@{N="BootDelay";E={$_.Config.BootOptions.BootDelay}},
@{N="BootRetryDelay";E={$_.Config.BootOptions.BootRetryDelay}},
@{N="CreationDate";E={$_.Config.CreateDate}}
This information gives you a clear view of which VMs need to be updated and helps identify patterns — such as templates or VMX versions — that may need review.
- Name: The name of the virtual machine.
- Version: The VM hardware (VMX) version, useful for verifying compatibility with newer vSphere features.
- BootDelay: The number of milliseconds the VM waits before booting. A value of
0means no delay. - BootRetryDelay: The delay (in seconds) before retrying a failed boot. Values under 10 will trigger validation issues in VMware Cloud Director.
- CreationDate: The date and time the VM was originally created (available in vSphere 6.7+).
The Fix: Set bootRetryDelay to 10 Seconds
To resolve this issue across your environment, you can use the following PowerCLI script to scan all VMs and set bootRetryDelay to the minimum accepted value (10 seconds) for any VM currently set below that.
# Get all VMs where BootRetryDelay is configured to less than 10 seconds
$VmsWithBootRetryDelayUnder10Seconds = Get-View -ViewType VirtualMachine -Property Name,Config.BootOptions.BootRetryDelay | Where-Object {
$_.Config.BootOptions.BootRetryDelay -lt 10000
}
# Loop through each VM and update the BootRetryDelay
foreach ($vmView in $VmsWithBootRetryDelayUnder10Seconds) {
Write-Host "Setting BootRetryDelay to 10 seconds for VM '$($vmView.Name)' ..."
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.BootOptions = New-Object VMware.Vim.VirtualMachineBootOptions
$spec.BootOptions.BootRetryDelay = 10000
$vmView.ReconfigVM_Task($spec) | Out-Null
}
Notes
- This script only updates VMs with a
bootRetryDelaylower than 10 seconds, avoiding unnecessary reconfiguration tasks. - It uses vSphere PowerCLI and the vSphere API directly via
Get-View, which is efficient for bulk changes. - You’ll need appropriate permissions to reconfigure VMs.
Why This Matters
If you’re using VMware Cloud Director to manage your VM environment, having incorrect bootRetryDelay values may cause validation errors when modifying or migrating VMs, leading to failed workflows or blocked operations. Running this script as a preventive step ensures your environment complies with VMware Cloud Director’s requirements.