Horde UBA: No agents found matching requirements

I’ve been trying to get UBA connecting and struggling. Whatever I do, I get this combination of errors.

Local Log: 41>No agents found matching requirements (cluster: us-east-1, requirements: "(OSFamily == 'Windows' || WineEnabled == 'true')", Exclusive)

Server Log: [20:12:12 inf] HTTP POST /api/v2/compute/us-east-1 responded 404 in 32.0734 ms

My BaseEngine.ini contains:

[Uba.Provider.Horde]
ServerUrl="https://(correct URL here)"
Pool=UBA-US-East-1
Enabled=True
Cluster=us-east-1

I’ve tried removing the Pool variable and removing the Cluster variable. Same result every time.

I’ve tried no clusters, default cluster, and us-east-1. Same result every time.

I’ve tried adding these claims to my globals.json

              {
                "claim": { "type": "http://epicgames.com/ue/horde/role", "value": "agent" },
                "actions": ["AddComputeTasks"]
              },
              {
                "claim": { "type": "http://epicgames.com/ue/horde/user", "value": "Admin" },
                "actions": ["AddComputeTasks"]
              }

Same result, every time.

I’ve tried recreating the agents. Same results. The agents are properly being added to Horde as agents, are properly added to the pool, fit the requirements, and are idle.

I’ve tried disabling auth. Same results.

I tried enabling these logging flags:

“HordeServer.Compute”: “Debug”,

“HordeServer.Agents”: “Debug”,

“HordeServer.Scheduler”: “Debug”

Nothing else relevant shows up.

What else could I need to do? Everything else on Horde works fine, and I’m an admin.

[Attachment Removed]

Steps to Reproduce
Run local workstation build with UBA enabled.

[Attachment Removed]

Hi Scott, the 404 error from /api/v2/compute/us-east-1 suggests the cluster ID us-east-1 does not exist in the server’s compute configuration. In your globals.json under plugins.compute will need a clusters entry:

  {
    "plugins": {
      "compute": {
        "clusters": [
          {
            "id": "us-east-1",
            "acl": {
              "entries": [
                {
                  "claim": { "type": "http://epicgames.com/ue/horde/role", "value": "agent" },
                  "actions": ["AddComputeTasks"]
                },
                {
                  "claim": { "type": "http://epicgames.com/ue/horde/user", "value": "Admin" },
                  "actions": ["AddComputeTasks"]
                }
              ]
            }
          }
        ]
      }
    }
  }

Matthew

[Attachment Removed]

Thank you for confirming your compute clusters config.

Tagging onto Matthew’s earlier reply, the 404 response code on `POST /api/v2/compute/<cluster-id>` is returned only once in the Horde ComputeController, during the check for the compute cluster.

https://github.com/EpicGames/UnrealEngine/blob/ue5\-main/Engine/Source/Programs/Horde/Plugins/Compute/HordeServer.Compute/Compute/ComputeController.cs\#L105

The fact that you’re getting a 404 suggests that the Horde server isn’t including this config section when parsing your config, or is using another source.

We would expect to see a 503 response if no matching agents are found within the cluster.

Can you run the following checks and share the results?

  1. Check the Horde server logs to confirm which server.json is used, and that the path set to ConfigPath matches the globals.json you’re editing.
    1. Additionally, check for any indications of config parsing errors.
  2. Open /swagger/index.html on the Horde Server URL your UBA client is hitting and call the /api/v1/debug/config API to confirm the fully parsed config object.
    1. You may need to enable the debug endpoints by adding the following to your appsettings.json or server.json under the Horde section and restarting the server.
{
    "Horde": {
        "EnableDebugEndpoints": true
    }
}

[Attachment Removed]

My globals.json already has this:

  "plugins": {
    "compute": {
      "clusters": [
        {
          "id": "us-east-1",
          "condition": "true",
          "namespaceId": "horde.compute",
          "acl": {
            "entries": [
              {
                "claim": { "type": "http://epicgames.com/ue/horde/role", "value": "agent" },
                "actions": ["AddComputeTasks"]
              },
              {
                "claim": { "type": "http://epicgames.com/ue/horde/role", "value": "admin" },
                "actions": ["AddComputeTasks"]
              }
            ]
          }
        }
      ]
    },

[Attachment Removed]

Also changed “admin” to “Admin”, same result.

[Attachment Removed]