I am a very big fan of the ESXi Host Client (EHC) – it really helped me out yesterday and I did not have to use a Windows desktop to get the vSphere Client working. I did some Googling today and learned that there is a bit of info on working with the EHC, and even one great article on using PowerShell to get the EHC to each host in vC or a cluster (nice job Brian!). But there was nothing about using VMware Update Manager to do it. And I like using VUM to do this sort of thing as it tells me when things are in or out of compliance without me doing anything. So here we go!
Before we start, here is a nice article on EHC that shows a bit of what it is, and how to install it manually. As well, here is an article on the future of EHC. Some great news in that article! Here is an article that talks about how to use EHC to upgrade vSphere. Sort of cool. Here is an article on how to use PowerCLI to install EHC in your hosts, and of course, here is the link to get EHC itself. One hurdle that I had while working on this article is that the VIB was one build (3623722) and the offline bundle VIB was another (3530266) – update: fixed now.
BTW, this process of using VUM to install the EHC to all our hosts is the same way we would install any other extension like PernixData or Zerto or Synology.
Sample CLI commands
esxcli software vib remove -n esx-ui
esxcli software vib list | grep esx-ui
esxcli software vib install -v /path/to/vib
Getting the bits
We need to have locally the offline bundle to work with. We do not want the VIB
Have this zip file local as we will need it shortly. No need to unzip it. We need it as a zip file.
Setup – Import
So we start in the vSphere Web Client. We need to access the VMware Update Manager icon on the Home page.
We need to change to the actual VUM server – as seen below where my VUM server is named vum.thewhites.ca.
So we select our VUM server, then select the tab that is Patch Repository and use the Import Patches button.
We can now browse to and select the offline bundle, and Upload it.
The Upload will take a moment or two.
On the next screen we will see what has been uploaded.
You can point at the item in the Patch ID column to see an expand version which will show you the version info. If I had done that the first time through doing this article I would have noticed that it was an old build!
Thanks to the offline bundle we now have the EHC VIB bundle in our VUM patch database.
Setup – Baseline
We now need to create a baseline. We change to the Hosts Baselines tab, and use the green arrow to start the process.
A wizard is started. We need to fill in some info. Below is my screen. It is important to make sure you select that this is a Host Extension as it is not a patch or upgrade.
In our next screen we select what is going to be part of our baseline. In our case it is the EHC. So you filter on client, and check the box beside what we want.
On the next screen we have a summary and a Finish button. Once we select the finish button we can see the result of our work. We have a baseline, that contains the EHC. Notice it is Fixed rather then Dynamic? Dynamic means the baseline can be updated without you knowing and Fixed means it will not have anything added automatically unless you or some other human do it.
So we have a baseline to work with now. Now we need to use it.
We can attach host baselines to hosts and to clusters. I almost always select to attach them to clusters. That is less work for me, but also it means if I add a host to the cluster they get the baseline automatically.
We now need to move to the Hosts and Clusters view, select our cluster, select the Manage tab, and the Update Manager tab.
We can use the Attach Baseline button to start things off. It is seen above as number 4.
It is likely obvious which baseline we should select.
I always like to scan for updates after I add a new baseline. Just to check things out.
But I get a surprise I was not expecting.
How could this be? Compliant on our new baseline for all hosts in cluster? I know I have an old version of EHC installed on my hosts. And I downloaded and used the latest offline bundle. This doesn’t make sense to me. So I SSH in and check on a host.
And I look more closely at the offline bundle. It is in fact not the new version. The latest build is 3623722 – v6. So I now reach out to the Internet (and William) to see if we can get this fixed. Of course, if it was critical I could manually install the v6 build but that is not what this article is about.
And yes, if you look closely at the screenshot it gets a little more confusing.
CLI says 1.0.5-3530804
VUM patch repository says 1.0.5-3530266
How can those two builds allow VUM to say compliant? Does VUM only check the version and first four numbers of build?
The Flings site says 3623722 is current v6 build.
So time-out while I get the proper offline bundle.
So the offline bundle is now updated and correct (thanks Etienne!). However, still have the other issue. The installed EHC is 1.0.5-3530804 and the new version is 0.6.0-3623722. So the old version looks newer to VUM. So I will manually uninstall the EHC from my five hosts and this should work fine. Hopefully the next version will be in the 0.6.0 theme so the upgrade will happen appropriately.
OK, now when we do the scan we see what we expect too.
So a bit of a complication but we are past it. We have our offline bundle imported, our baseline created and attached, and a scan shows we have five hosts that are not compliant.
We can start by using the Remediate button that is at the top of the screen.
That starts a wizard.
We are working with EHC so that is the baseline we are working with.
We now need to select the hosts to update.
I generally run the remediate at the time I create it.
We have a number of host options. Make sure you have selected the Disable any removable media option as it really can help.
In our next screen, titled Cluster Remediation options, you should make sure you have selected what I have shown with red arrows below.
The green arrow highlights an option I love to use when the cluster is new and not filled with VMs. It allows me to update a multiple of hosts at the same time. Which in fact would work here as this extension doesn’t need a reboot. But I didn’t think of that until it was too late.
In our next screen we have a summary, and a Finish button. Lets get this working!
We can check the status of this. First in Recent Tasks.
We can also go into the VUM area, and instead of working as we were in Manage we look in Monitor.
We can see that several hosts are done. This extension doesn’t need maintenance mode nor a restart. While watching Recent Tasks we can tell when things are done.
In addition, we can change back to the Cluster Manage Update Manager space.
This shows that all of our hosts are compliant with EHCv6 so that is good. The remediation took maybe 12 – 14 minutes.
As IT people we all know so much can go wrong that it is amazing, and often we cannot see any of it go wrong. Until we test. So lets access each host, using:
And make sure we get the EHC!
And on each host we do get the proper login screen. And to be really careful, we are going to log in and check the Help \ About to see version info.
And the version info is correct.
So testing confirms success.
We have worked through getting the offline bundle, importing it to VUM, creating a baseline, attaching it to the cluster, scaning to see current condition, and then using remediate to install the EHC to all of our hosts.
There was a little hiccup but we managed. I believe the version oddness we saw will not be an issue in the next update. And I willupdate the article for that too.
- 3/16/16 – fixed the typo in the esxcli line with grep. Is correct now!
- 3/14/16 – The version kerfuffle was due to the desire for the fling to have a lower build / version then the production GA version that will pop shortly. Makes sense I think to me. Thanks to Etienne for explaining.
Questions, comments are always welcome.
=== END ===