/posts/ 2016/vmware-65-upgrade-issues
Nov 21, 2016
Warning: This post was written 2936 days ago, and may contain incorrect information, outdated opinions, and incorrect language due to my age at the time. Opinions in this post are not representative of who I am as a person today.
A few days ago VMWare released vSphere 6.5, and in it came a raft of improvements to vCenter and other fluffy features that everyone loves. I’ve been running a small dual host setup at home for a while now, and while not in anyway a “real production environment” its been the host of a lot of household services, most notably (for my other half) a Plex server. Unfortunately everything didn’t go to plan, my lab host (Obelisk) took the update without issue being managed by the now embedded update manager in vCenter, my other host (Anshar) didn’t take to it at all.
The error I encountered was “Cannot run upgrade script on host”, a lovely generic error which had me scrabbling around inside the ESXi logs to find the solution: It turns out that one time or another I put the USB stick with the ESXi install into my Mac, which in turn sprayed a collection of “.Spotlight-V100”, “.fseventd’, and various other Mac specific files in the local datastore and various critical folders in the filesystem. Thankfully the host still booted so I was able to resolve it.
find -name ".Spotlight-V100" -type d -exec rm -rf {} \;
find -name ".Trashes" -type d -exec rm -rf {} \;
find -name ".fseventd" -type d -exec rm -rf {} \;
Now this should of all worked, and the logs indicated it wasn’t failing on any silly parts, but again I was hit with the “Unable to run update script” error. Further digging was required.
It turns out that VUM writes out a very detailed log of exactly what it is doing into /var/log/vua.log
and this should be your first port of call for debugging any issues. In my log it indicated it was expecting that 6.5 was already installed and when it was comparing the list of VIBs to update it was extremely confused why everything was out of date. It seems that ESXi depends on a system called “locker” to store all its package information and one of the first VIBs that is updated includes the updated locker files. Somehow I had to revert these files back to the 6.0 files. VMWare itself seems to recommend copying over the files from a working host, which wasn’t possible in my case as the other host was already on 6.5. So I held my breath and did the following:
esxcli software via remove -n tools-light
update profile esxcli software profile update -p ESXi-6.0.0-20161004001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
…and thankfully it seemed to complete without issue. Running VUM from then on updated to 6.5 without issue. Each situation is different, but looking at the logs can really give you some insight into what is going on, or you can run the installer ISO directly and watch it spit out the specific issue its hitting. But, here are some reference links for working out what is wrong: