VMware Horizon View 7.12 agent and RDSH server – possible bug

My last two days was nothing but troubleshooting. About the thing above there are couple of articles, but not many. Certanly not if someone runs that RDSH machine on bare metal, not to mention if in VM shape, but not on VMware but HyperV. This is a normal and supported scenario as Horizon Agent is supported on Windows Server grade operation systems, on physical machines and foreign virtualization systems as long as the guest os is supported.

My setup

One Horizon Connection Server and one Windows Server 2016 with RDSH installed – session host only. I’d like to present it as shared desktop – so session based. There is a third machine which is a domain controller, but irrelevant in this discussion. Both VMs are running in Azure.

Main components:

  • Horizon Connection Server: this is the most important in a Horizon View deployment. This is where pools, farms, settings are defined, so acting like a management and control plane. It can provision machines, tell clients where to connect to, it authenticates the them etc.
  • Horizon Agent: In communication with the Horizon Connection Server, it is a worker basically and does the heavylifting when we talk about display protocols.

The installation of the Connection Server – referred as CS from this point – will not be discussed by me, it is pretty simple, so as the deployment of the Horizon Agent – or not, you will see! The agent installer usually pops up a dialog where the desired Connection Server can be entered to which it pairs. In non redundant designs this is the A record of the CS, but in resilient systems it is better to add a record here which resolves to an IP owned by a load-balancer.

The latest installer for deployment was downloaded and the dialog above was not shown during the install.

No worries, you need to use – recommended by VMware here https://kb.vmware.com/s/article/2003129 – silent install, command prompt.

VMware-viewagent-xxx-yyyyyy.exe /s /v”/qn VDM_VC_MANAGED_AGENT=0 VDM_SERVER_NAME=connection_server_name VDM_SERVER_USERNAME=domain\user VDM_SERVER_PASSWORD=password”

I performed the installation of 7.12 agent by using this command and it was not working at all. I went in and checked the logs here.

C:\ProgramData\VMware\VDM\logs\log*.txt

Not that talkative but here is a debug log too here C:\ProgramData\VMware\VDM\logs\debug*.txt

This is not telling me too much details, but my usual trouble shooting method asks for the installation of an older version of the product. I fetched the VMware-viewagent-x86_64-7.0.3-4717913 version from 2016. This time I decided the installation will be performed using the GUI to see if the dialog is shown. Yes! It was there, it explicitly asks the CS server details. Quite interesting as the same server, the same setup was the base.

After the installation I checked to very same logs again and looked pretty good.

The debug log is also clean.

Perfect. This is how it should look like. Let’s go and check the Horizon Connection server side.

Well, it is not reporing. But check the “Others” tab.

Also not here, but I will not give up and proceed with Farm creation. Manual farm, since if you are not using VMs on VMware you have no other choice.

I configure my desired Blast and some other settings.

Some settings for load distribution, since I have only one server for this test it is totally irrelevant.

Check the available RDS hosts and be amazed! It is there! While in the other menu it as missing still….. (disregard rds2 from the picture below, that was an other test attempt).

After completing the wizard, I created a pool straight away. RDS pool of course as want to hand out shared desktops.

Set the pool ID and the name which will be shown to users.

Other settings if the pool is enabled and other details.

Use the RDS Farm that was previously created.

Accept the summary and entitle users who can consume the pool.

Now that we finished, let’s check the “Inventory-Machines-RDS Hosts” tab again if it is empty. It just appeared here too!

Now what everything is in good shape check it from Horizon Client and from browser.

Start the desktop.

Works! From browser it works fine too.

Same pool, let’s go.

Upgrade test

Now that with an older agent it started to work let’s upgrade the agent. I tried to upgrade the working VMware-viewagent-x86_64-7.0.3-4717913 to VMware-Horizon-Agent-x86_64-7.12.0-15805436 agent.

After the upgrade the agent was not available in Horizon Connection server. Checked the agent logs again. Debug log was showing this.

Fresh install with different agent versions

Tested other two agents:

  • VMware-Horizon-Agent-x86_64-7.10.1-15247623
  • VMware-viewagent-x86_64-7.5.4-15298189.exe

None of them worked. And this is where I finish and open a case at VMware as I will not test all agents between the known working 7.0.3 and the lastest 7.12.0.

VMware’s response

I opened a support ticket at VMware and their official response was this:

Just to put this into perspective, it is still not written anywhere that RDS is not supported if running on HyperV, so this is literally a false capability which cannot be used if sold to the customer.