VCSA upgrade – deployment sizes missing

Everyone has done VCSA upgrades dozens of times, but every now and then you come across something that you haven’t seen before. Today, this was the case while I was doing an upgrade.

When you get to the deployment size selection, in the first stage of the upgrade, I noticed I was unable to select anything smaller than “Medium” size.

Changing the storage size also didn’t make the Tiny or small sizes available. While I was doing this, I happened to be talking to Jens Herremans (Check out his blog, it’s awesome!). He told me to check the size of the logs partition on the source VM.

Checking log sizes

After opening an SSH session to the source VM and changing to the /var/log/vmware folder, I ran the following command to get a list of all files and their sizes.

ls -lahR >> size.txt

I write the output to a file to make it easier to review, also this avoids having to scroll up and having parts capped off. Next, review the file with your favorite editor. You’ll see a list of all the folders, their total size and the individual files with their size. For me the big directories are vpxd, sca, sso, vdcs and vsphere-client.

Every file will also have a timestamp that makes it easy to verify if you still need the logs or not. If you wish to keep the, you can easily move them to a datastore or copy them locally. In this particular environment, we had no need for any of the older log files. I could just go in and rm -rf all the archived logs. For example in the /var/log/vmware/sca folder, the following command will remove all the archived logs but keep the one currently in use

rm -rf sca.log.*

After the cleanup, I ran the upgrade assistant again and was able to select the tiny deployment size.


Update ESXi fails with dependency error vmkapi_2_0_0_0

In the past few weeks, I’ve been in the process of updating several standalone ESXi hosts to 6.5. As you would expect, everything went smooth up to a certain point. Several hosts started failing and throwing this error:

VIB LSI_bootbank_scsi-megaraid-perc9_6.901.55.00-1OEM.500.0.0.472560 requires vmkapi_2_0_0_0, but the requirement cannot be satisfied within the ImageProfile.
VIB LSI_bootbank_scsi-mpt3sas_04.00.00.00.1vmw-1OEM.500.0.0.472560 requires com.vmware.driverAPI-9.2.0.0, but the requirement cannot be satisfied within the ImageProfile.

The entire error is shown below.

At first, I thought it was something with the image I was using. That’s why I also tried with the vanilla VMware image. Sadly, the same error popped up. Trying different zip files also did not solve the issue. I began looking into how I could make vmkapi 2.0 available on the host. Turns out that there’s not a whole lot written about this.

I started looking at the command again when I remembered there’s also another way I could install the update. When using esxcli to update, you can also use esxcli software profile install command. The update command updates existing VIBs with the ones that are in the specified profile, all the other VIBs aren’t touched. While the esxcli software profile install command installs all the VIBs present in the image profile, it will also remove any other VIBs installed on the server.

When I ran the install command everything proceeded without any issues. Here’s the command I used;

esxcli software profile install -p DellEMC-ESXi-6.5U3-14320405-A03 -d /vmfs/volumes/datastore/ISO/VMware-VMvisor-Installer-6.5.0.update03-14320405.x86_64-DellEMC_Customized-A03.zip --ok-to-remove

You can also add the –dry-run switch to get a list of VIBs that will be removed, before you actually change anything.