Skip to content

Debusine Workers only support the default scope

erickv on IRC reported that the debusine worker was failing to execute tasks in a non-default workspace.

An inspection shows that the debusine worker is entirely unaware of scopes. Oops!

In practice, the worker has only been able to act on workspaces in the default scope.

Original Report:

Debusine issue reproducer

Install debusine, create a user, enable workers.

Run on server:

sudo -u debusine-server debusine-admin scope create myscope
sudo -u debusine-server debusine-admin group create myscope/Admins
sudo -u debusine-server debusine-admin workspace create myscope/base Admins
sudo -u debusine-server debusine-admin group members myscope/Admins --add YOUR-USERNAME

Run on client, after changing the token to your user's:

echo "result: true" | debusine --scope myscope create-work-request noop --workspace base

Back on server, verify /var/log/debusine/worker/worker.log:

2025-09-17 17:00:00,967 Connected to http://debian-vm.internal/api
2025-09-17 17:03:32,138 Work request 1: Fetching input
2025-09-17 17:03:32,138 Work request 1: Configuring for execution
2025-09-17 17:03:32,138 Work request 1: Preparing to run
2025-09-17 17:03:32,138 Work request 1: Running
2025-09-17 17:03:32,138 Work request 1: Checking output
2025-09-17 17:03:32,138 Work request 1: Uploading artifacts
2025-09-17 17:03:32,138 Work request 1: Cleaning up
2025-09-17 17:03:32,168 Exception in Task noop
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/debusine/tasks/_task.py", line 535, in execute_logging_exceptions
    return self.execute()
           ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/tasks/_task.py", line 550, in execute
    self._upload_work_request_debug_logs()
  File "/usr/lib/python3/dist-packages/debusine/tasks/_task.py", line 940, in _upload_work_request_debug_logs
    remote_artifact = self.debusine.upload_artifact(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/client/debusine.py", line 450, in upload_artifact
    artifact_response = self.artifact_create(
                        ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/client/debusine.py", line 386, in artifact_create
    return self._debusine_http_client.post(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/client/debusine_http_client.py", line 102, in post
    return self._api_request(
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/client/debusine_http_client.py", line 294, in _api_request
    raise exceptions.DebusineError(error)
debusine.client.exceptions.DebusineError: {'title': 'Workspace not found', 'detail': 'Workspace base not found in scope debusine'}
2025-09-17 17:03:32,169 Task: noop Error execute: {'title': 'Workspace not found', 'detail': 'Workspace base not found in scope debusine'}
2025-09-17 17:03:32,224 Task: 1 completed (error)

Also verify online at https://debian-vm.internal/myscope/base/work-request/1/:

Task: noop Error execute: {'title': 'Workspace not found', 'detail': 'Workspace base not found in scope debusine'}
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information