16. March 2023

VMware Baseline Updates & HCL Check – Missing dependencies VIBs Error Part 2

By H. Cemre Günay

As you guys know from my previous Upgrade post, I showed the Upgrade/Update path from ESXi 6.7 to 7.0 via the out-of-band management platform on the servers. (iDRAC; iLO; CIMC and so on)

This time, however, I want to show you the update/upgrade way via Baseline updates, i.e. you update your ESXi servers with Baselines over your vCenter.

For vSphere 8 environments this way is no longer supported:

https://kb.vmware.com/s/article/89519

But this update path still applies to all vSphere 7 environments, so let us get started. First, we download the .iso image we need. In my example, we will fire up the ESXi servers with a Cisco custom image. We then switch to the Lifecycle Manager on the vCenter and import the desired .iso image under Imported ISOs.

Next, we build a Baseline from the uploaded custom iso. For this we click on the iso and then on New Baseline.

Give the Baseline a name and a description. As you can see the vCenter has automatically selected Upgrade, if you want to select the other options you have to go to Baselines in the Lifecycle Manager and create a baseline there. More on this at: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere-lifecycle-manager.doc/GUID-00BA7C3B-6969-493C-9106-3B6CE16D2405.html

Next we select the desired iso and click Next. Finally we will see the Summary and we click on Finish:

In the next step, we want to apply the built Baseline to our cluster, we can also apply the baseline to individual ESXi hosts. To do this, we switch to the Inventory view, select our cluster and click on Updates -> Baselines.

At Attached Baselines we click on Attach -> Attach Baseline or Baseline Group. There we will choose the previously created Baseline.

Now we will see the wished CiscoCustom-Test Baseline at Attached Baselines.

Before we remediate the Baseline, we verify in advance that the ? Unknown Baseline is compatible with the hosts from our cluster. To do this, select the baseline and then click Check Compliance.

Don’t be surprised, the screenshots are a bit mixed, because I want to show different situations. This is still the same Cisco Custom image. We see in the overview that our ESXi7U3i-Cisco-Custom Baseline is set to Incompatible. The other positions are set to Non-compliant and Compliant. For compliant the baseline was applied, for non-compliant it was not. For incompatible, there are various dependencies/obstacles why this baseline cannot be applied.

And right here we come, back to my previous blog post. There are several VIBs that need to be removed, which is basically exactly how I described it in the previous post.

Set the ESXi host into Maintenance Mode, open a SSH session to the ESXi host and remove the VIBs respectively and reboot the server.

Once our server is up again, we select our created Baseline, Check Compliance, get Non-compliant under Status and finally we can select Remediate and apply the baseline to the ESXi hosts.

This blog post was created with the support of my mentor Daniel Simelka. If you have any questions or suggestions, please leave a comment below and stay tuned.