UBA - No agents found matching requirements

Trying to get UBA working via Horde (https://dev.epicgames.com/documentation/en\-us/unreal\-engine/horde\-unreal\-build\-accelerator\-and\-remote\-compilation\-tutorial\-for\-unreal\-engine), I seem to remember it being pretty trivial previously (except the OIDC bits) but I’m not sure what is wrong. I’ve got two different environments on two different versions, one pretty much default, one with a bit of config and both have the same problem. No authentication is enabled

I’m getting the below if I try and compile a build of the editor

54>No agents found matching requirements (cluster: default, requirements: “(OSFamily == ‘Windows’ || WineEnabled == ‘true’)”, Exclusive)

I do have an agent showing in the UI where OSFamily == Windows, I also have a linux one with Wine but ignoring that for now

I don’t know if I control the exclusive flag, I’m using https://dev.epicgames.com/documentation/en\-us/unreal\-engine/build\-configuration\-for\-unreal\-engine as my point of reference for parameters I control

I’ve tried with and without <WindowsPool> defined in buildconfig

I’m manually setting cluster to default, I don’t know if this is necessary but it does change this log line from Cluster none to Cluster default.

54>Horde URL: http://localhost:13340/, Pool: Win-UE5, Cluster default, Condition: (none), Connection: (none) HordeEncryption: (none)

Buildconfiguration.xml attached

Thanks

Hi Chris, sending this over to another epic dev since I don’t know these things well :slight_smile:

Hey there Chris,

Appreciate the patience here as the team is just returning from summer break.

Just looking at the buildconfig specifying <WindowsPool>… I am curious whether you’re trying to use a pool that only has one agent (and that agent is currently busy). Could you please show me your “pools” configuration within your globals.json? It’s also worth poking the REST apis to see what we are getting back:

  • /api/v1/pools/Win-UE5
  • /api/v1/agents?poolId=WIN-UE5

The above should give us responses from your Horde server that give some insight here.

Barring that, would it be possible to get a more complete log? I’d like to see exactly what is getting passed to your build invocation. It’s unclear to me which case you’re referring to:

  • A CI sourced build not getting UBA resources
    • If this, please include the template definition from the Horde configurations.
  • A local user not getting UBA resources

Kind regards,

Julian

Hi Julian

/api/v1/agents?poolId=Win-UE5 returns an empty response. Have attached the other bits requested (in a zip, couldn’t figure out multiple attachments, sorry)

Build is locally initiated, vanilla UE5.6. I should point out that I’m not a developer but IT so aside from opening visual studio and trying to compile the editor, my knowledge of unreal build system is pretty limited

Just including this too as potentially relevant

[Image Removed]

Sorted, I’d sort of followed https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Config/Compute.md without actually understanding what setting a custom ID for compute would mean. Changed

“compute”: [

    {

        "id": "uba"

        "condition": "pool \=\= 'Linux\-UE5' \&\& osfamily \=\= 'Linux'"

    }

To

“compute”: [

    {

        "id": "default"

        //"condition": "pool \=\= 'Linux\-UE5' \&\& osfamily \=\= 'Linux'"

    }

and have since changed it to the below (since Windows UBA helper was only there to make troubleshooting easier)

“compute”: [

    {

        "id": "default"

        "condition": "pool \=\= 'Linux\-UE5' \&\& osfamily \=\= 'Linux'"

    }

Enabled WINE in buildconfiguration, its failing but that isn’t the issue I reported here so I’ll go away and look at that. Thanks for your help

Hey there,

Ahh yes that’ll do it. The cluster is the first logical grouping, which then can be comprised of pools. Your invocation of UBA will point to a cluster which is then resolved therein.

If you get stuck on anything else, don’t hesitate to reach out.

Kind regards,

Julian