0

uberAgent 6.0.0 fails to install on XenServer VMs

Hi,

We’re mostly running XenServer 7.1 CU2 and use the XenServer 7.1.1327 and 7.2.1537 Management Agents (Drivers) in our VDI and RDS workloads.

We have been rolling out uberAgent 5.3.1 to 500+ VM’s with great results. With some of the recent improvements and features of version 6.0.0 (specifically network and GPU) we have been testing this and finding that it’s not happy when installed after the XenServer Management Agent has installed.

The install almost completes and then the VM seems to blue screen/restart when the service starts, which is related to the new drivers in version 6. I’m assuming there is an issue with the XenServer PV Network Device (xennet.sys) driver. We’re running both version 8.2.1.102 and 9.0.0.7 (https://support.citrix.com/article/CTX235403)

Refer to the following screen shot that may help demonstrate what I've tested.

If I modify the uberAgent-64.msi and remove the drivers from the Component table, it installs without blue screening, but obviously it’s not in a working state. I just did this to isolate the issue.

If I modify the uberAgent-64.msi and remove the ServiceControl row from the ServiceControl table, the install works without issue. No blue screens. If I then start the service it will blue screen. If I restart the VM and allow the service to automatically start, it will blue screen.

Happy to provide any further information for troubleshooting and debugging.

Cheers,

Jeremy

2 comments

  • Avatar
    Dominik Britz Official comment

    Hi Jeremy,

    together with another customer we found a workaround.

    Why is this happening?

    Prior to version 6.0, uberAgent relied on ETW for its network monitoring metrics. That works well but limits the information to what is provided by ETW. Specifically, ETW networking events do not include accurate latency data. As a result, uberAgent's latency metrics (collected in the field NetTargetSendLatencyMs) were only a very rough approximation of the actual packet latency between sender and receiver. We developed our own network monitoring driver specifically to be able to provide accurate latency as well as jitter metrics. uberAgent 6.0 uses the new network monitoring driver by default, but we added the ability to switch back to ETW just to be on the safe side. As it turns out, that was a sensible precaution.

    To sum this up, by switching back to ETW you lose the accurate latency metrics. The network monitoring capabilities should be similar to those of the previous version, 5.3.1.

     

    Workaround

    uberAgent configured via configuration file

    • Store your uberAgent.conf file in %ProgramData%\vast limits\uberAgent\Configuration
    • Add the following to disable the new network driver and use the old ETW method instead
      [NetworkTargetPerformanceProcess_Config]
      NetworkDriverEnabled = false
    • The config file in %ProgramData% takes precedence. When the service starts, uberAgent uses ETW instead of the networking driver.

     

    uberAgent configured via Group Policy

    • Set the setting Network Driver Enabled to false
    • Make sure that the GPO containing the setting gets applied before the service starts, i.e. before uberAgent gets installed

     

    Next steps

    We are analyzing the issue and post a fix here once it's available.

  • 0
    Avatar
    Dominik Britz

    Hi Jeremy,

    Thanks for making us aware. I also saw your message in our support system and replied there with next steps, as we need dumps etc. to troubleshoot this.

    I will post a possible solution or workaround here, too.

Please sign in to leave a comment.