Discover here how we’ve fixed a blocking error when upgrading ESXi 6.5 to 7.0 update 2 through vSphere Lifecycle Manager.

Kinamo maintains multiple VMware vSphere clusters, not only for our own infrastructure, but also for a variety of customers. As you may already know, keeping these clusters up to date is one of the important tasks that comes with maintaining them.

In this blogpost we will deal with the following error:

Software or system configuration of host XXX is incompatible.

We encountered this error when trying to upgrade ESXi 6.5 to 7.0 update 2 through vSphere Lifecycle Manager’s “updates” tab.

To perform the upgrade, we first uploaded the ISO image of ESXi 7.0 update 2 to the Lifecycle Manager. We then proceeded by creating a custom “upgrade” baseline to upgrade to the desired ESXi version. When this new baseline is created, we can simply attach it to the host and click “remediate”, which will start the upgrade.
However, in this case (which we encountered multiple times), the procedure would trigger an error stating the software or system configuration of the host is incompatible. The description for this error reads:

The upgrade has VIBs that are missing dependencies. Remove the VIBs or use Image Builder to create a custom upgrade ISO image that contains the missing dependencies, and try to upgrade again.

This immediately made us think about one of our posts last year, where we encountered similar problems while updating ESXi (How to fix driver issues when upgrading VMware ESXi.). This time however, not a word was said about which VIB would be causing the error here. This means we would have to start looking which VIB was causing the error all by ourselves, or find another way to upgrade. We decided to look for another way to upgrade, preferably a way that works from the comfort of our chair, without the need to take a trip to the datacenter and perform the upgrade there.

This is how we came up with the following solution. Head back to My VMware, where you can download the offline depot for the desired ESXi version (the link next to the ISO download link). Download the depot and upload it to your datastore. Now enable SSH to the host, connect as “root” and execute the following line:

esxcli software profile install --ok-to-remove -d /vmfs/volumes/datastore1/ -p ESXi-7.0U2a-17867351-standard

Let it run for a moment, and then reboot the host. If all goes well, the host boots into ESXi 7.0u2a. (Your milage may vary.)

Now what exactly are we doing here?

We are using esxcli’s “software” command which manages the ESXi software and packages. This time we are not interested in VIBs anymore, we would like to modify the whole image profile. At the profile level, we don’t choose the “upgrade” option, but the “install” option. The “install” option completely replaces the image profile, possibly resulting in a loss of some installed VIBs (which is exactly what we wanted). One word of warning, beware of additional drivers you may have installed on the ESXi host, which may be required to boot the host!

Now how did we get the profile name? (-p switch)

The following line will list all the profiles available in the depot:

esxcli software sources profile list -d /vmfs/volumes/datastore1/

Spoiler alert, there are 2 profiles, a standard and a no-tools profile.

Some readers may notice that we did not upgrade to the latest available ESXi version. This is due to the simple fact that we could not find the depot for the latest version on My VMware. However, after having upgraded the host to 7.0 manually, Lifecycle Manager is fully capable of updating the host with the latest patches. Which we ofcourse did.

We generally discourage making changes to your hosts using SSH and esxcli, but sometimes it does bring a solution. After all no change has been done to the host, all changes were performed by applying the profile that was created by VMware.

Please do know that running esxcli commands from SSH may bring your system in an unsupported state to VMware Support!

As with all commands copy-pasted from the Internet, use them carefully and wisely.

Remember to perform these actions while your host is in maintenance mode and not running any virtual machines!

Kinamo & VMware

Kinamo relies on VMware vSphere for server virtualization and Horizon for desktop virtualization. VMware offers scalability, high-availability and a high-performance server virtualization stack which in turn offers our customers the highest possible uptime, wrapped up in a cost-effective package. The enterprise driven management capabilities from an infrastructural point of view allow us to provide quality service while reducing costs where necessary.

Kinamo has more then 19 years experience in cloud hosting, managed services, DevOps and development.
With more then 15 years of experience in VMware server virtualization we are confident to say we know the ins and outs of it.
We’re not your typical VMware solutions vendor. As with all Kinamo services we love projects that require an “out of the box” approach. We’re proud about the fact that we can offer accessible and expert support to our clients, all this thanks to our specialist team here in Antwerp, Belgium.

Do you have a question about this article? Or are you wondering if this accessible and expert support in Antwerp is real? Let’s talk.