Setting up Horde with build machines

When triggering a build from Visual Studios (2022), UBA starts up and its clear the build is distributed.

When triggering a build from Jenkins - the build is _not_ distributed even thought he agents are registered to the server and are using the same Build..xml.

Horde is at least partly set up correctly…but something is clearly not right since it should distribute builds from any build agent, no?

thanks in advance!

Steps to Reproduce
3 build machines.

VM1 = worker build machine controlled by Jenkins - Agent is installed as well as unreal build tool -- registered to server on PC3

VM2 = worker build machine controlled by Jenkins - Agent is installed as well as unreal build tool -- registered to server on PC3

PC3 = workstation machine - - Agent is installed as well as unreal build tool -- Horde server installed -- registered to server on PC3

Trigger a build using Visual Studio on PC3 - UBA starts up - you see all 3 machines working to complete the build.

Trigger a build using Jenkins - which picks either VM1 or VM2 - Horde does _NOT_ distribute those builds.

Hi Marawn,

When you say “triggering a build from Visual Studio”, you are executing from a developer workstation and UBA works as intended?

What authentication are you using with Horde? Built-in accounts, or OpenID Connect?

To properly see what’s going on, try inspecting the Unreal Build Tool logs as they it’s executed by Jenkins. For example, there might be issues with authentication. If possible, post them here.

There’s also a debugging guide for UBA which may be helpful.

Epic is closing for a two-week summer break, starting next week. Apologies for any delays in response.

Hi Carl, sorry for the delay.

I realize you guys are on break but here are my answers for when you get back.

“When you say “triggering a build from Visual Studio”, you are executing from a developer workstation and UBA works as intended?”

Yes, if i hit F7 from VS2022 - i see the UBAVisualizer and i see my build machines running.

“What authentication are you using with Horde? Built-in accounts, or OpenID Connect?”

I havent set up any authentication. IIRC, the docs say not to bother till its all working, right?

I’ll run another test and see if i can pull the logs.

Were you able to inspect the UBT logs when running in Jenkins?

Hi all! First time writing here

We came across this post because we are having the same issue with our current Horde setup using AWS.

We have 5 UBA Linux Agents that are able to receive compute tasks when we compile on our local machines, but our Windows Incremental Build on an EC2 Windows Agent is not able to even see the Horde UBA Pool of agents.

[Uba.Provider.Horde.TSB]
ServerUrl = "HORDE SERVER URL"
Cluster = linux-uba
Enabled = True

[UbaController]
+Providers = Uba.Provider.Horde.TSB

We have that configured in our Project DefaultEngine.ini
On our workspaces we see these on the Build Log

Using Unreal Build Accelerator executor to run 2996 action(s)
Horde URL: HORDE-SERVER-URL, Pool: linux-uba-agents, Cluster: linux-uba, Condition: (none), Connection: (none), HordeEncryption: (none)

But on the Windows Agent we see this

Horde URL: HORDE-SERVER-URL, Pool: (none), Cluster: (none), Condition: (none), Connection: (none), HordeEncryption: (none)

Also the UBAVisualizer on the Windows Agent is not showing any ongoing compilation while its building.

Right now the Horde Agent was installed as a Service.
Trying to understand what’s going on, but so far we are out of luck

EDIT: We have found the cause, the Build Machine is not reading the configuration from Project/Config/DefaultEngine.ini.
By using the -dumpiniloads argument on the job we managed to see which .ini were loaded, after that we just setup the UbaController info on a proper path and it started to work.
Also the [UbaController] entry needs to use +BuildMachineProviders instead on the Build Machines

[UbaController]
+BuildMachineProviders = Uba.Provider.Horde.TSB

We are still trying to figure it out why the UbaVisualizer on the Build Machine is not showing anything, it could be related to the .uba logs not being generated aswell.