I had the opportunity to upgrade the ESXi 6.5 install on my old Dell R710 with X5670 processors to ESXi 6.7U2 this morning. I'm running the 'free' version of ESXi and don't have VCSA available to me, so I upgraded via command line. For the most part I followed Paul Braren's process outlined in an article posted on Tinkertry.
As you probably know, 'free' ESXi doesn't support backup API hooks so I'm also running ghettoVCB to backup VM images to an external hard drive. Naturally, when I did the dry run, I got an error message complaining that "VIB virtuallyGhetto_bootbank_ghettoVCB_1.0.0-0.0.0 violates extensibility rule checks [u (line 24: col 0_ Element vib failed to validate content]".
The workaround I ended up doing was to uninstall ghettoVCB, perform the upgrade, and then re-install ghettoVCB once I had 6.7 was up and running.
To uninstall ghettoVCB, I executed the following command while logged on to ESXi via ssh:
esxcli software vib remove -n ghettoVCB
To reinstall, I logged back in to ESXi via ssh and execute the following:
esxcli software vib install -v https://github.com/lamw/ghettoVCB/raw/master/vghetto-ghettoVCB.vib -f
Note that the command above will pull a fresh (and potentially updated) copy of ghettoVCB from it's main repository on github. Strictly speaking, one should probably re-install the same version that was uninstalled, but I like to live a little dangerously. If you want to use an existing VIB, just replace the https://github.com/lamw/ghettoVCB/raw/master/vghetto-ghettoVCB.vib bit with the full path to your VIB file.
Since my scheduled cron job and ghettoVCB configuration files persisted through the upgrade, I didn't need to reconfigure anything after (re) installing ghettoVCB. ghettoVCB ran as scheduled later in the day and I did not have any problems with it not persisting after reboots.