An HTML5 based vSphere Web Client, finally!

 

 

 

 

A couple of weeks ago, VMware released the first ever HTML5 based vSphere web client for vCenter Server. Hopefully it will be included with the next iteration of vSphere bringing to an end the current Adobe Flash based client together with the aches and pains that come with it. As you probably know, the vSphere Web client is Adobe Flash based. You should also be aware that Flash is a security nightmare in the making, more so when embedded within an infrastructure management tool. The sooner it goes away, the greater the uptake of vSphere Web client will be which will probably spell the demise of the traditional (C#) vSphere client. In my mind, this is the route VMware will be ultimately pursuing.

Now, before throwing parties and what not, just be aware that the HTML5 client is still a work in progress. Regardless, I highly recommend having a go with it, so here’s my take on how to set it up and first impressions.

Incidentally, another great fling somewhat related to this one, was also released recently. I’m referring to the ESXi embedded host client which in many ways, HTML5 being one, is similar to the subject matter of today’s topic. You can read about it here.

 

Downloading the HTML5 client

The vSphere HTML5 Web client is available as a VMware Labs fling. It is in fact an appliance, distributed as an OVF, which you can download from here.

You also need to download a batch file called server-configure.bat from here. Finally make sure to read this apart from my post of course.

Note: If any of the given links are dead, just browse to https://labs.vmware.com/flings/vsphere-html5-web-client# and use the download box.

 

Prerequisites

  • A functional vCenter Server which the HTML5 client will bind to. By functional, I mean things like SSO working properly, a non-expired license and time correctly set.
  • Forward (A) and reverse (PTR) DNS records for proper resolution. These are required for both the vCenter Server and the HTML5 client (don’t overlook this!).
  • Sufficient resources on the ESXi host on which the appliance will be installed; 2 vCPU, 4GB RAM and 14GB disk space.

 

Some ground work

The HTML5 client can be used to manage both vCenter Server for Windows and VCSA. In this post, I’ll be outlining the process of installing it for use with vCenter Server for Windows.

DNS prep-work

The DNS server I’m using is Windows based as figures 1 and 2 illustrate. I created A and PTR records for what will be my vSphere HTML5 Web Client appliance under zone local and the respective reverse lookup zone. In a bout of creativeness, I’ve decided to call the vSphere HTML5 Web client appliance vspherewebclient.

Figure 1 – Forward Lookup zone (Microsoft DNS Server)

 

Figure 2 – Reverse Lookup zone (Microsoft DNS Server)

 

vCenter Server tasks

I’m using a virtualized vCenter Server 6.0 I generally employ for testing and demo purposes. Whatever your case is, make sure that the vCenter Server’s A and PTR records will resolve correctly (ping, nslookup, etc). Correct name resolution is of the utmost importance since the the HTML5 client tightly binds with vCenter Server. Similarly to the current vSphere Web client’s architecture, you will not be able to use the HTML5 client to manage other vCenter Servers other than the one you bind it to. The setup process is as follows;

a) First copy the server-configure.bat file to the vCenter Server. Launch an administrative command prompt and run server-configure making sure the following 3 files are created (and aren’t empty!);

  • Ds.properties
  • Store.jks
  • Webclient.properties

Figure 3 – Running server-configure.bat on the vCenter Server

 

b) Next, add an NTP server to the “Data and Time” settings to make sure vCenter Server is running the correct time and date.

Figure 4 – Configuring NTP for the vCenter Server’s OS

 

Installing the appliance

Installing the appliance is a simple matter of deploying the OVF file and following the wizard, pressing Next at each screen after completing a task.

Figure 5 – Deploying an OVF from a local disk

 

Figure 6 – OVF details

 

I’ve skipped a few self-explanatory screens just to keep the post as short as possible. I suggest you use a fixed IP address (Figures 6 and 7) obviously matching the one referenced by the DNS records created further above.

Figure 7 – Selecting a fixed IP address

 

Figure 8 – Setting the appliance’s IP address

 

Figure 9 – Completing the OVF deployment wizard

 

Once the appliance has been deployed, you should see something similar to what’s shown in Figure 10 in the vm’s console window;

Figure 10 – The appliance’s vm console

 

Now that the appliance has been installed, we need to do a few things to it such as finalizing network settings and ensuring that the clock is exactly in sync with that on vCenter Server. The steps are as follows;

a) SSH to the appliance. The default password for root is demova.

b) Create the following directories and copy the files created previously on vCenter server (when running server-configure.bat) each to its respective folder as shown in the table.

Directory File
/etc/vmware/vsphere-client/ store.jks
/etc/vmware/vsphere-client/config/ ds.properties
/etc/vmware/vsphere-client/vsphere-client/ webclient.properties

(Note: I used WinSCP to transfer the files to the appliance).

Run the following commands to create the folders;

mkdir /etc/vmware/vsphere-client/
mkdir /etc/vmware/vsphere-client/config/
mkdir /etc/vmware/vsphere-client/vsphere-client/

c) Next, we need to tackle the time sync issue. If you omit this step, you’ll probably run into one or more authentication errors described at the end of the help document. Run the following command to have the appliance use the same ntp server configured on the vCenter Server Windows box.

/etc/init.d/vsphere-client ntp_servers 0.it.pool.ntp.org

d) Lastly we need to ensure that the appliance’s hostname is correct as well as finalize any remaining network settings. There are 2 ways to go about it. You can either use the command line or browse to https://<appliance ip>:5480 to use the web based configuration tool.

I did it the hard way after failing to realize that the web link given in the console is actually used to configure the appliance! The appliance is running SUSE Linux meaning a few config files will need editing via vi or otherwise. These are as follows;

/etc/hosts –> this is where you define the appliance’s hostname.

/etc/resolv.conf –> this is where you add the ip address of the DNS server on which you created the A and PTR records.

/etc/sysconfig/network –> this is where you add the default gateway’s address.

/etc/sysconfig/network.ifcfg-eth0 –> configuration file for the eth0 network interface.

Once you’re done with the network settings, run the following commands to restart the network and vSphere-client services.

service network restart
/etc/init.d/vsphere-client restart

Should you need them, the following vsphere-client service commands will come in handy when troubleshooting any issues you might experience;

/etc/init.d/vsphere-client status
/etc/init.d/vsphere-client tail_log
/etc/init.d/vsphere-client show_log

 

An easier way to go about configuring the appliance is as follows;

Figure 11 – Using the web based appliance configuration tool

 

Interestingly enough, there’s already an update available and it’s only been a day since I downloaded and installed the appliance. It looks as if things are moving fast!

Figure 12 – Update status and settings

And that’s all there is to the configuration part. Now let’s see if it actually works.

 

Testing it out

To access the vSphere HTML5 Web client point your browser to https://<appliance ip>:9443/ui. You are first redirected to the vCenter Server SSO authentication landing page as shown in Figure 13. Log in as you would normally do, after which you are redirected back to the appliance’s web interface (Figure 14).

Figure 13 – Logging in using SSO

 

Figure 14 – The HTML 5 vSphere Web Client in all its glory

 

The new client still needs some refining and final touches. For instance, it took me a few minutes to figure out how to create a new virtual machine seeing how the task is only accessible by right-clicking on an ESXi host. From a user’s perspective, there’s little or no learning curve when transitioning from using the “old” web client to this new one, which is a big bonus. The screen layouts are practically the same. I would also like to see accelerators implemented as available in the traditional client. A user customizable view wouldn’t hurt either which would allow users to drag and drop frequently used interface components, tasks and what not.

 

Conclusion

And there you have it, a Adobe Flash-less vSphere Web client as it ought to be. Just keep in mind that this is still a work in progress, meaning that some features found in the C# and Web vSphere clients are not implemented yet. Nevertheless, it’s obviously a more than welcome start.

Performance-wise, this seems to be faster than the currently available vSphere Web client. I’m stating this from simple observation meaning I have no hard stats to back this up. I end this post with the video below which I put together just to compare the ‘old’ and ‘new’ Web clients side by side while performing mundane tasks such as logging in and creating a vm. Personally I think that HTML5 client has the upper edge but, as stated, I might be slightly biased. What do you think?

 

 

As always, thanks for stopping by, hoping you enjoyed this latest post.

[the_ad id=”4738″][the_ad id=”4796″]

 

Altaro VM Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

Leave a comment

Your email address will not be published.

Microsoft 365 Security checklist - free eBook