Updating ESXi host w/ latest ESXi Embedded Host Client

Hey everyone – been a while since I’ve updated.  I’ll blame the holidays and work since that is usually a safe bet!

Recently, the VMware Flings lab for the Embedded Host Client had been updated.  One of the latest features is the ability to update the host from within the embedded client itself without having to engage SSH or PowerCLI, etc.  There are many other updates as well, but this one is most interesting to me.  In case you are unaware, this functionality is still considered somewhat experimental.  The purpose is to provide an HTML/JavaScript solution served directly by the host so that the dependency on the thick client for non-vCenter environments is removed.  If you don’t already have this Fling installed I will show you how to install it.  If you do have a previous version installed, just note that there is a different command for updating the existing installation.

First go on over to the Fling website and grab the VIB file.  You can get the file to the host in a couple different ways.  I get tired of enabling SSH and using SCP to place the file on the host so instead I used the following command:

esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxui/esxui_signed.vib

Note:  I grabbed the URL from the download in Chrome – this file is subject to change so if you paste this be sure to check for a file name difference.  Also note, that once you install the Embedded Host Client you will not rely on SSH as much.  But, you need SSH to install the Client 🙂

If you’re updating an already installed ESXi Embedded Host Client install, then run the following command:

esxcli software vib update -v http://download3.vmware.com/software/vmw-tools/esxui/esxui_signed.vib

Once you run either of the commands above you should see the following:

Installing ESXI Embedded Host Client

Installing ESXI Embedded Host Client

Notice that in the screenshot the host did not require a reboot.

After the Embedded Host Client is installed you can go to http://<yourhostnameorIP>/ui and you are presented with the following:

ESXI Embedded Host Client UI

ESXI Embedded Host Client UI

The Web UI looks very similar to that of the vSphere Web Client that you may be used to if you use vCenter.  It’s a bit different, though, once you log in.

After you provide the root user and password you will be logged in and see your host properties.  So, for the purpose of this tutorial/blog entry take note of the ESXi build version:

ESXi Build 2809209 (ESXi 6.0.0b)

ESXi Build 2809209 (ESXi 6.0.0b)

If you click on Manage and then choose the Packages tab, you will see an option for “Install Update“:

Install Update in ESXi Embedded Host Client

Install Update in ESXi Embedded Host Client

After you click the Install Update button, you are presented with a window to enter a URL into:

Enter URL for Update

Enter URL for Update

You’ll notice above that I am using a URL on the internet – I put the contents (extracted!) of the ESXi600-20151001.zip Offline Bundle on my web server and since my ESXi host is able to reach the URL it can just download the info it needs.  You can also upload to a datastore and use a format like /vmfs/volumes/[datastore]/ESXi600-201510001/metadata.zip but then you need to mess with SCP or what not because you can’t upload a whole directory through the datastore browser.  Kind of a pain – hopefully fixed in future releases.  And, in case you’re wondering, I’ve removed the URL above from my web server 🙂  I do hope VMware adds a “just go get the update from VMware.com and update” function soon.

If you click the Update button in the bottom right of the URL window, you’ll notice a new recent task pop up and if you’re lucky (or if the update isn’t that large) you’ll see the task complete shortly:

ESXI Embedded Host Upgrade Task

ESXI Embedded Host Upgrade Task

Looking at the time stamps above you’ll notice that it took < 10 seconds to install the patch.  Not bad!

Unfortunately, as with any ESXi update you will need to reboot the host.  You don’t have to reboot the host right away, but the update will not go into effect until you have.  So, after a quick reboot (I have my ESXi installation on SSD that speeds up reboots tremendously) I am able to log back into the Embedded Host Client UI and check my build number:

ESXi Embedded Host Client Updated

ESXi Embedded Host Client Updated

The ESXi version in the screenshot above shows that the host is now running 6.0.0 Build 3073146 which correlates to ESXi 6.0 Update 1a which is the latest offline bundle update available at the time of this post.

I hope everyone find this useful and hope you guys use the ESXi Embedded Host Client going forward as it is pretty clever.  Before I run, I just want to call out a few things I like and don’t like.

Things I like:

  • HTML and JavaScript based – hopefully vCenter Web Client will go this route soon!
  • Quick, reliable
  • Present and functional even after a host update
  • Basic management (similar to that of connecting the thick client to the host directly) of VM’s, etc.
  • Allows you to perform tasks that would ordinarily require SSH/SCP

Things I don’t like:

  • Although it provides a way to do an upgrade with SSH/SCP, I still need to use a web server or manually upload to a datastore
  • Would like to see a “Go get the update from VMware” option in the update functionality – Update Manager is great, but many small establishments do not have more than one host
  • UI is a bit of a deviation from standard vSphere Web Client appearance – not a huge deal, but it would be nice if the interface were more unified.  Thick client, vSphere Web Client, and Embedded Host Client all differ and it’s hard to navigate between the three quickly

That’s all I got – in summary, though, great job to the developers and VMware Labs/Flings for releasing this.  Surely this will make it as part of the default ESXi installation (or at least as an option during install) and I can’t wait for that.  Still going to have a hard time for now convincing a client that they should add a pre-release “lab” function into their baseline, but it’s getting there!

Thanks for reading!

Author: Jon

Share This Post On

Submit a Comment

Your email address will not be published. Required fields are marked *

Share This
%d bloggers like this: