Unable to add load balanced App-V Publishing Server
I’ve finally started playing around with the App-V support in XenDesktop 7.x (I know, behind the times) and immediately hit a pretty significant snag. In our environment the App-V Publishing Server is load balanced behind and F5 VIP so that we don’t have a single point of failure. This is the server you define on the second line here:
When you put a load balanced VIP in that field you end up with this:
“Error Id: XDDS:BA40D906
Exception:
Citrix.Console.Models.Exceptions.ScriptException The App-V Publishing Server is not valid.”
So that’s pretty unfortunate. I have opened a case with Citrix on the problem, but it holds true for ever 7.x version I have tested (7.1-7.6). All ports are correct and I can point individually to any server behind the VIP. Hopefully this gets fixed because I don’t like anything that leads to single points of failure when dealing with environments in the tens of thousands of users 🙂
Error Id: XDDS:BA40D906, XD 7.6, XenDesktop App-V integration
https://blogs.citrix.com/2013/06/28/microsoft-app-v-support-in-xendesktop-7/
So in other words they haven’t fixed it in over a year 🙂 Nice! Thanks for the heads up.
Isnt this due to SPN’s not being setup?
I have publishing servers sitting behind a netscaler and they work fine
Cheers
Hi Paul,
You mentioned that you opened a case with Citrix about this. Did you ever get a response from them?
Cheers
No unfortunately. They agreed it should work but haven’t been able to figure out why it isn’t. Unfortunately my main contact there has now left so I have to raise the issue again with new folks.
My contact from Citrix says it doesn’t work with a load balancer, instead recommends adding each publishing server. you can add the first one via Studio and the remainder via PowerShell (they don’t show in Studio)… I have a slide deck from Citrix that explains this.
Slide 45
Add Additional Pub or Mgt Servers
$appvslot = Get-BrokerConfigurationSlot -Name “AppV”
$policy = New-CtxAppVServer –PublishingServer “http://pub-svr.domain.com” –ManagementServer “http://mgmt-svr.domain.com”
New-BrokerMachineConfiguration -ConfigurationSlotUid $appvslot.Uid -Description “added manually” -leafName 2 -Policy $policy ###leafname should be a unique number####
For setting an additional Pub Server, you first need to have added the AppV servers to the site. (There is no single cmdlet and hence the sequence of 3 steps)
Slide 46
Add Additional Pub or Mgt Servers
$mc = Get-BrokerMachineConfiguration –Name “AppV*” | %{$b = Get-CtxAppVServer –ByteArray $_.Policy;if(($b.managementServer –eq “http://mgmt-svr.domain.com”) –and ($b.PublishingServer –eq “http://pub-svr.domain.com”)){$_}}
$dg = Get-BrokerDesktopGroup -Uid $DesktopGroupID or $dg = Get-BrokerDesktopGroup -Name $DesktopGroupName
$mc | Add-BrokerMachineConfiguration -DesktopGroup $dg
Now to add AppV Servers to a DG, this is done automatically when the first application from the management server is published. This is done so that App-V servers that do not have App-V applications published for the DG do not get that particular blob and the App-V client does not configure this “unnecessary” App-V Server. However you can add it forcefully even without publishing an application by following cmdlets.
Slide 47
Add App-V Servers – visible in Studio
NOTE: Only one pair of Appv servers appear in Studio UI
$appvslot = Get-BrokerConfigurationSlot -Name “AppV”
$policy = New-CtxAppVServer –PublishingServer “http://pub-svr.domain.com” –ManagementServer “http://mgmt-svr.domain.com”
New-BrokerMachineConfiguration -ConfigurationSlotUid $appvslot.Uid -Description “Created by Studio” -leafName 2 -Policy $policy
###leafname should be a unique number####
The Description tag in New-brokermachineconfiguration needs to be ‘created by studio’ if an administrator wants the Appv server being added to the site appear on the Desktop Studio UI.
Slide 48
Citrix Policy commandlets
http://support.citrix.com/proddocs/topic/citrix-appv-admin-v1-xd7/citrix-appv-admin-v1-wrapper-xd7.html
Get App-V Config
Get-BrokerMachineConfiguration –Name “AppV*” | %{Get-CtxAppVServer –ByteArray $_.Policy}
Get App-V Config for Specific Delivery Groups
Get-BrokerMachineConfiguration | %{foreach($a in $_.DesktopGroupUids){if($a –eq $dguid){Get-CtxAppVServer –ByteArray $_.Policy}}}
That’s awesome info Brandon thanks! I wish they had passed me that slide deck.
Thanks for this Brandon. I have added the secondary app-v server using the powershell commands, but now all of the App-V applications show up twice in studio (once from each app-v server). Did you find a way around this to offer fully automated HA?
The way it was explained to me is when publishing an AppV app that it will query all configured publishing servers (that’s why you see an instance of each AppV for each publishing server) however at application launch time it will use the first one configured and failover to the next one if the first one is unavailable, etc.
Use Get-BrokerMachineConfiguration to verify your configured AppV publishing servers, you should see AppV\1, AppV\2, etc.
Then Get-BrokerDesktopGroup to verify MachineConfigurationNames and MachineConfigurationUids lists the output from the Get-BrokerMachineConfiguration.
Thanks Brandon. I will give this a go when I get a chance and let you know the result.
If you wish to load balance the publishing service, and you wish to stream app-v applications from an http(s) source as opposed to a UNC path, then you can try using this
http://www.chawn.com/XDAppVSync.htm
Just to be clear – when creating your XD App-V Policy, specifying the ‘publishing server’ is no different to using MS Group Policy or adding a publishing server using App-V cmdlets
Citrix Studio will only query the management server via WSMAN which will then pass the source path to the app-v package. The publishing server is not used. Run ‘netstat -ano’ while using Citrix studio and you will only see WSMAN ports (5985) open. No connections to the publishing or management service.
As you have found out, if the source path is not a valid UNC path, studio cannot access the app-v package to retrieve icons and various other params – this of course prevents creating published applications when using a load balanced URL for the App-V publishing service.
I wouldn’t worry too much about load balancing the Management service – you’re unlikely to perform admin during a DR scenario – however LB of the publishing service is critical in my view and can also enable caching of App-V packages at the load balancer
http://www.chawn.com/XDAppVSync.htm works around these issues – however ongoing maintenance of published applications that use the ctxappvlauncher.exe is compromised. Therefore an alternative App-V launcher is provided to resolve most of the issues
This only applies to hosted/published apps – for Published desktops the only citrix integration piece is the specification of the publishing server
Hope this helps
Hi
I am looking for the same thing
Did you already configure this via a load balancer?