WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple

Configuring VCSA 6.0 as vSphere Web Client Server for vSphere 5.5

04.22.2015 by William Lam // 11 Comments

The vSphere 6.0 Web Client has been greatly improved with the release of vSphere 6.0 which includes a number of performance and UX enhancements. If you are interested in some of the details, be sure to check out this blog post by Dennis Lu, Product Manager of the vSphere Web Client. To really get the best possible user experience and to take advantage of all the new performance enhancements, it is recommend that you upgrade your entire vSphere environment which includes vCenter Server to vSphere 6.0. Having said that, I know this may not be possible for everyone immediately and it will take some time depending on your organizations software upgrade cycles and procedures, qualifications, burn in time, comfort left, etc. with vSphere 6.0 before completely moving over.

Over the last couple of weeks, I have seen quite a few requests from customers who have expressed interest in being able to just use the new vSphere 6.0 Web Client with their existing vSphere 5.5 environment as they make their transition over to vSphere 6.0. I can definitely understand where these customers are coming from and honestly, the vSphere Web Client should just be that, a UI Client. We should be able to decouple it from vCenter Server and be able to iterate on it based on feedback from our customers and partners. I did some investigation and I actually discovered that we in fact support something called Mixed-Version Transitional Environment in vCenter Server for Windows Upgrade. This is a bit of a mouth full but basically you can have a hybrid vCenter Server environment that consists of both vSphere 5.5 and 6.0 as you upgrade to full a full vSphere 6.0 environment.

I spent a couple of days researching this topic a bit more to see if I can come up with a solution that would ideally reduce number of changes introduced to a customers existing vSphere 5.5 environment while being able to leverage the new vSphere 6.0 Web Client. After many discussions, prototyping, snapshot reverts and with the help of one of my good GSS buddy G. Blair Fritz, we have come up with a very cool solution using the VCSA 6.0 as a "thin" vSphere 6.0 Web Client Server. The overall goal is to provide a period of time in which customers can use the new vSphere 6.0 Web Client with their existing vSphere 5.5 environment and when the time comes for a complete vSphere 6.0 upgrade, this "thin" vSphere 6.0 Web Client can be decommissioned and removed.

Disclaimer: Though this hybrid configuration is supported, using the VCSA as a "thin" vSphere Web Client Server is not officially supported. Please use at your own risk. It is still recommended that you upgrade your existing vSphere 5.5 environment to vSphere 6.0 as soon as possible to get the full benefits of the enhancements made to the vSphere 6.0 Web Client.

Requirements:

  • vSphere 5.5 running Windows using an External SSO Server
  • At least one vCenter Server 5.5 pointing to the External SSO Server

Here is the high level workflow as well as a diagram to help you visualize the process:

  • Step 1 - Upgrade your external SSO from vSphere 5.5 to new PSC 6.0
  • Step 2 - Deploy VCSA 6.0 and configure it to point the newly upgraded PSC 6.0
  • Step 3 - Running a configuration script within the VCSA 6.0 to optimize it as a "thin" vSphere Web Client Server

vsphere-6-web-client-with-vsphere-5.5-0
In my test environment, I have deployed a vCenter Server 5.5 which points to an external SSO (also running vSphere 5.5).

Step 1 - The first step is to upgrade the SSO server to the new PSC 6.0, you will follow the existing procedure by mounting the ISO and going through the guided installation. At this point, you can continue logging into the existing vSphere 5.5 Web Client and access your vCenter Server and its hosts and VMs.

Step 2 - Next, you will need to deploy a new Embedded VCSA 6.0 using either the Guided or Scripted Installation. You will need to make sure that it is joining to an existing SSO Domain by specifying the upgraded Windows PSC that you performed in step one. The SSO Domain Name should be vsphere.local as this was not a configurable option in earlier vSphere releases. At this point, you can now login to the VCSA 6.0 which provides the vSphere 6.0 Web Client but you will notice that you only see an empty inventory of the new vCenter Server 6.0 as well as an error message stating "Login failed due to invalid credentials for one or more vCenter Server systems"

vsphere-6-web-client-with-vsphere-5.5-1
The reason for this is that you need to restart the vpxd service on your vCenter Server 5.5 for it to be visible in the new vSphere 6.0 Web Client.

Note: It is important that if your external PSC is joined to an Active Directory Domain that you ensure the NTP Server specified in the VCSA 6.0 deployment also points to the same AD Server for the time source to be synchronized else you will run into problems later.

Step 3 - Login to your vCenter Server 5.5 and restart the vCenter Server service using the Services utility.

Step 4 - Once the vCenter Server service has restarted, you can now open a browser to the Hostname/IP Address of the VCSA 6.0 and you will see both vCenter Servers. You can now manage your vSphere 5.5 environment using the vSphere 6.0 Web Client.

vsphere-6-web-client-with-vsphere-5.5-2
I was pretty happy when I got this solution working but I was still not content. The smallest deployment size for an Embedded VCSA requires 8GB of memory, which is still a considerable amount of resources in my opinion. I wanted to optimize it further by turning off unnecessary services, modify the memory requirements for the unused services as well as un-registering the vCenter Server 6.0 endpoint so that you only see your vSphere 5.5 vCenter Servers only. Surprisingly, this took up the bulk of our research to figure out what could be turned off, how to properly turn it off and then un-registering the VC endpoint.

I have created the following shell script called setup_vcsa_as_webclient_client.sh which needs to be uploaded to the VCSA (need to enable Bash shell on the VCSA). The following three variables must be updated prior to running:

  • PSC_SERVER - The Hostname/IP Address of your external PSC
  • SSO_USERNAME - The SSO Administrator account
  • SSO_PASSWORD - The SSO Administrator password

Once everything completes successfully, you should turn off your VCSA and modify the memory from 8GB to 3GB. From my limited amount of testing, the overall memory utilization was sitting around ~2-2.5GB of memory, so I think configuring it to 3GB should be plenty and you can always adjust accordingly. Since we have disabled all the unnecessary services, the VCSA boot time should be pretty quick and now when you login to the vSphere Web Client, you should only see your vSphere 5.5 vCenter Servers and nothing else.

vsphere-6-web-client-with-vsphere-5.5-3
When the time comes and you are ready to fully upgrade your vSphere 5.5 environment to vSphere 6.0, you can decommission and remove this "thin" vSphere Web Client Server by following the procedure outlined in this VMware KB 2106736. I think it would be really nice to be able to update the vSphere Web Client outside of updating vCenter Server and truly providing a "client" that is decoupled. What do you think?

Categories // VCSA, vSphere 5.5, vSphere 6.0, vSphere Web Client Tags // lstool.py, platform service controller, psc, service-control, VCSA, vcva, vSphere 5.5, vSphere 6.0, vsphere web client

Accessing the vSphere Web Client from a Linux desktop?

02.25.2015 by William Lam // 9 Comments

A common miss-conception about the vSphere Web Client is that it is not accessible from a Linux-based desktop. Contrary to popular belief, this is actually possible at least from a technical standpoint as alluded to in this VMware KB. A recent discussion about this topic had piqued my interest as my own understanding of whether the vSphere Web Client would even work on a Linux desktop is fuzzy at best since it is not a desktop OS I use on a regular basis.

Though this may still comes as a surprise to some folks, Adobe Flash is indeed a requirement to use the vSphere Web Client. There are actually two ways to satisfy this requirement using any modern Linux desktop distribution. In the example below, I am using the latest Ubuntu Desktop 14.04 distribution to demonstrate the two options.

The first option is the most "convenient" by simply using the latest version of Google Chrome browser which actually bundles the Pepper Flash Plugin (more details can be found here from Adobe). Here is the CLI commands to perform the installation of Google Chrome on Ubuntu, you acn easily do a search for the instructions for other Linux distributions.

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install google-chrome-stable

Here is a screenshot using Google Chrome connecting to a vSphere 6.0 environment as well as accessing the VMRC of a VM:

vsphere-web-client-linux-desktop-1
The second option is slightly less "convenient" since you need to install the Pepper Flash Plugin in addition to the browser that supports this plugin which is Chromium. Here is the CLI commands to perform the installation of Chromium on Ubuntu, you can easily do a search online for instructions for other Linux distributions.

sudo apt-get update
sudo apt-get -y install pepperflashplugin-nonfree
sudo apt-get -y install chromium-browser

Here is a screenshot using Chromium connecting to a vSphere 6.0 environment and you will also be able to access the VMRC of a VM:

vsphere-web-client-linux-desktop-0
This looks pretty good right? I mean you can login to the vSphere Web Client UI to perform basic operations and access the VM Console using the HTML5 based VMRC. Well, almost but there are a couple of caveats to be aware of which may not be obvious at first. In addition to the basic operations and VMRC access, there some other important capabilities the vSphere Web Client offers today:

  • Deploying OVF/OVA
  • Windows Session Authentication
  • Uploading files to a vSphere Datastore
  • Mounting ISO/Floppy Image
  • Connecting Local Devices (e.g. USB/CD-ROM)

The above capabilities are made available through what is known as the Client Integration Plug-in (CIP) which is something that is downloaded from the vSphere Web Client Server and installed locally on your desktop. A Linux CIP installer is currently not available today and the above functionality would not be available in the vSphere Web Client. Having said that, not all is lost and there are some workarounds. If you wish to deploy an OVF/OVA, you can still install OVFTool which is available on Linux and instead of using the UI to drive the deployment, it can be done through the CLI. For uploading files like an ISOs, you can use the vSphere API/CLI as shown here or SCP'ing directly to the ESXi host. Once the ISO is uploaded, you can then mount it to your VM from the vSphere Datastore.

Though this is far from a perfect solution for Linux-based desktop users, it does allow you to access the basic management capabilities of the vSphere Web Client. There is definitely room for improvement and this is an area that PM/Engineering is looking to enhance further in the future. There has also been a ton of general performance and usability improvements in the new vSphere 6.0 Web Client which will benefit all platforms and if you are interested to learn more about those, check out the blog post from the vSphere Web Client PM here.

Categories // vSphere 5.5, vSphere 6.0, vSphere Web Client Tags // chrome, chromium, flash, linux, pepper flash plugin, vsphere web client

How to customize the new vSphere 6.0 Web Client login UI?

02.17.2015 by William Lam // 35 Comments

A common feature request that I hear from customers from time to time is the ability to customize the login screen for the vSphere Web Client. Going beyond just aesthetics such as adding an organizations logo or colors, it is often a mandatory requirement for some organizations to display a security or warning banner to the users prior to logging in. In prior releases of vSphere, the login page of the vSphere Web Client (which is actually from vCenter Single Sign-On service) was written in Flash which meant that it was impossible to change without recompiling the source code.

Screen Shot 2015-01-19 at 6.15.52 PM
In vSphere 6.0 (yes, vSphere 6.0 is required), the vCenter Single Sign-On login page is now written using regular HTML and CSS. This means you can actually now customize the login page with your own logos, colors or text that you wish to display to your end users. Not only can you customize the login for vCenter Server but you can also do the same for vRealize Automation Center as long as you are using the latest version of the Platform Services Controller which now provides other services in addition to vCenter Single Sign-On.

UPDATE (07/14/16): For vSphere 6.0 Update 2 environments, please follow the instructions here as there have been some minor changes. This article is only applicable for vSphere 6.0 and vSphere 6.0 Update 1 environments.

Disclaimer: This is not officially supported by VMware, if you decide to enable this, please use at your own risk and ensure you backup all original files in case you need revert back to the original configurations.

There are two specific files that you will want to take a look at, the first is unpentry.jsp which controls the look and feel of the actual login page and the second is login.css which controls the stylesheet for the login page. If you wish to include your own images including gifs (which I did not expect would work), there is a img directory that you can reference. Below are the paths to these configuration files for both a Windows vCenter Server and the VCSA 6.0.

Windows vCenter Server 6.0 / 6.0u1

  • C:\ProgramData\VMware\vCenterServer\runtime\VMwareSTSService\webapps\websso\WEB-INF\views\unpentry.jsp
  • C:\ProgramData\VMware\vCenterServer\runtime\VMwareSTSService\webapps\websso\resources\css\login.css
  • C:\ProgramData\VMware\vCenterServer\runtime\VMwareSTSService\webapps\websso\resources\img

VCSA 6.0 / 6.0u1

  • /usr/lib/vmware-sso/vmware-sts/webapps/websso/WEB-INF/views/unpentry.jsp
  • /usr/lib/vmware-sso/vmware-sts/webapps/websso/resources/css/login.css
  • /usr/lib/vmware-sso/vmware-sts/webapps/websso/resources/img

Note: It is highly recommended that you backup all original files before making edits so you can easily revert to the original configuration. If you are only updating the image to figure out layout and placement, you may notice changes are not reflected when you refresh the vSphere Web Client. The reason for this is that the image is only refreshed when the configuration files (.jsp) is updated. You can easily do this by simply opening it up and then saving it without making changes. I found this was the quickest way to force a reload of an updated image that has been uploaded.

I figure it might be cool to create a couple of vSphere Web Client "themes" for some of my buddies like Rawlinson Rivera, Duncan Epping, Alan Renouf, Mike Foley and Cormac Hogan. I hope Rawlinson likes his theme as I know how big of a fan he is 😉 I have also created a Github repo customize-vsphere-web-client-6.0 where you can find all the themes below. Feel free to create your own and contribute them back to the community.

Rawlinson Rivera Theme -
customize-vsphere-web-client6-ui-1
Duncan Epping Theme -
customize-vsphere-web-client6-ui-2
Alan Renouf Theme -
customize-vsphere-web-client6-ui-3
Mike Foley Theme -
customize-vsphere-web-client6-ui-4
Cormac Hogan Theme -
Screen Shot 2015-02-23 at 8.54.01 PM
Here is an additional bonus theme as I could not leave out my good buddy CaptainVSAN!

customize-vsphere-web-client6-ui-5
I am looking forwarding to see what others come up with in terms of their own vSphere Web Client themes and be sure to share them back by either posting back here or better yet, contributing to the Github repository.

Image Sources:

  • http://www.twitterevolutions.com/bgs/justin-bieber-2.jpg
  • http://s1174.photobucket.com/user/D-A-C-20/media/Holland%20EUIV/Holland.png.html
  • http://www.chrisschofield.me/wp-content/uploads/2011/08/PowerCLIman.jpg
  • http://stream1.gifsoup.com/view6/2662404/you-didnt-say-the-magic-word-o.gif

Categories // VCSA, vSphere 6.0, vSphere Web Client Tags // unpentry.jsp, vSphere 6.0, vSphere 6.0 Update 1, vsphere web client

  • « Previous Page
  • 1
  • …
  • 7
  • 8
  • 9
  • 10
  • 11
  • …
  • 18
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...