Me and my colleague found an incredibly weird behavior on ESXi, while experimenting with APC PowerChute Network Shutdown and this neat little script – If you want to do a scripted shutdown of a free version of ESX(i), try it out.
Once you initiate the host shutdown through SSH or SOAP API, it won’t shutdown or suspend virtual machines unless they are in “Automatic Startup” list. Ticking the “Allow virtual machines to start and stop automatically with the system.” and adjusting the shutdown delay is not enough. Machines you want shut down when the host is sent the shutdown command need to be part of automatic startup list, ordered or not.
Later, I looked through ESXi documentation and found this to be working as intended, machines that are in “Manual Startup” list can’t be automatically shut down. I think this is unnecessary limitation, that could have been easily avoided.
We do actually have VM’s that are not required to auto start, but still want them to have a graceful shutdown in case of power failure. It would be nice if VMware redesigned this feature…