vSphere HTML5 Web Client Fling

A couple of days ago, VMware developers announced a new fling called vSphere HTML5 Web Client. Basically, this is a virtual appliance based on SUSE Linux Enterprise Server 12 serving a completely rewritten Web Client. In comparison with the well known Web Client, this client only uses HTML5 and JavaScript - beelzebub Flash isn't required anymore. This introduced development, customers have been waiting for - it is well-known that Flash is a security critical and stagnating technology.

The vSphere Client (also called "legacy client") received a comparable development last year. The vSphere Embedded Host Client fling extends a standalone ESXi host by another HTML5-based user-interface for management purposes. After some development versions, this client is part of ESXi 6.0 Update 2, rebranded as VMware Host Client.

Installation

If you plan to link the Web Client appliance to a pre-existing vCenter Server Appliance (vCSA), you will need to change the login shell of the root user during the installation. To change this, the following commands need to be executed using SSH:

1$ ssh root@myvcsa
2# shell.set --enabled True
3# grep root /etc/passwd
4root:x:0:0:root:/root:**/bin/appliancesh**
5# chsh -s /bin/bash root
6Changing login shell for root.
7Shell changed.

Provisioning the Web Client appliance requires a defined IP pool. After deployment, the appliance is linked to vCSA and the Web Client service is started. Proceed with the following commands (the default root password is demova):

 1$ ssh root@wc5
 2# **/etc/init.d/vsphere-client configure --start yes --user root --vc myvcsa.domain.loc**
 3Connecting to SSO server, you will be prompted for user's credentials
 4...
 5root@myvcsa.domain.loc's password:
 6Creating /etc/vmware/vsphere-client/config directory
 7Creating /etc/vmware/vsphere-client/vsphere-client directory
 8Creating /etc/vmware/vsphereFeatures directory
 9Generating keystore file and property files.
10Generating store.jks file...
11Extract the vsphere-webclient certificate from VECS
12Extract the vsphere-webclient private key from VECS
13Extract the certificate from the TRUSTED_ROOTS VECS store
14Picked up JAVA_TOOL_OPTIONS: -Xms32M -Xmx128M
15Certificate was added to keystore
16Group the vsphere-webclient private key and certificate into a .p12 file
17Picked up JAVA_TOOL_OPTIONS: -Xms32M -Xmx128M
18Entry for alias vsphere-webclient successfully imported.
19Import command completed:  1 entries successfully imported, 0 entries failed or cancelled
20Generating webclient.properties file...
21Using myvcsa.domain.loc for generating URLs in webclient.properties
22Copy ds.properties file
23Copy vsphereFeatures.cfg file
24prepared files: store.jks, webclient.properties, ds.properties
25Downloading keystore file and property files.
26Configuration process completed! Type '/etc/init.d/vsphere-client start' to start the vSphere Client server.
27Starting vSphere Client Web Server
28vSphere Client Web Server successfully started in 100 seconds

By the way, it is necessary that both appliance use the correct time to avoid authentification problems. During the installation, it is a good idea to check this:

1vcsa # date
2w5 # date

Afterwards, the default shell of root can be reset:

1$ ssh root@myvcsa
2# chsh -s /bin/appliancesh root
3# logout

Now, the web interface can be accesses by browsing the following URL: https://:9443/ui

Note

Additional installation notes can be found on the fling website.

First sight

The new web client is much faster - as well the first start as navigating through the views is much smoother than for the current Flash variant. I really like the redesigned user-interface - especially the clear lines. At the first sight, you can see that VMware is using modern bootstrap technology. 🙂

I appreciate that the well-known client's layout has been adopted. Customers will like this as it makes the transition easier. It would be nice if the particular tabs could be ordered alternatively using drag&drop - like for the current Web Client. It would also be a benefit if particular columns could be closed to save space.

Basically the client runs reliable - if you don't edit VM settings. In this case nearly every time I do this, my web browser crashes (Firefox ESR 38.x, CentOS 6.7).

Plenty of functions and settings are still missing - but this is only the first version. I really like the ideas that are developed - I'm excited to see the further development.

Some screenshots of the client:

Ideas

When testing the client I stumbled upon some things that could be added:

  • Fully "responsive UI" - the client uses the Bootstrap and jQuery frameworks, but is not completely "responsive", yet. It would be a huge benefit if the interface could be used on smartphones and tablets as well.
  • Change localization using URL or menu item - the current Web Client allows changing this; huge benefit if you create documentations
  • Interactive datastore browser - like in the Embedded Host Client for copying, moving, renaming or registering VMs
  • Network topology view - like in the Embedded Host Client
  • More eye-catching performance graphs - currently, the well-known graphs from vCenter are used. The Embedded Host Client dynamically creates graphs using HTML5 and JS, which looks much better
  • Combined Hosts/Cluster  and VM-/Folder view - I've been waiting for this for years. In my opinion both views are required very often and having a combined view would make switching the other views obsolete.

The development team is always interested in your experiences. Share your thoughts - e.g. using the integrated form in the client. 🙂

Translations: