Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Bitbucket Runner Autoscaler fails to create a Workspace Runner

Sandra Bermejo
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 29, 2025

 

Hi,

We're setting up the Bitbucket Pipelines self-hosted runners autoscaler in our Kubernetes environment. We're authenticating using OAuth credentials (BITBUCKET_OAUTH_CLIENT_ID and BITBUCKET_OAUTH_CLIENT_SECRET), not an app password.

permissions:

Screenshot from 2025-04-29 18-47-55.png

In the autoscaler config (runners_config.yaml), we're required to specify the workspace field using the workspace UUID. The documentation or inline comments suggest using the UUID with curly braces, like this:

 

workspace: "{fb1c32a0-xxxx-416a-xxxx-XXXXXXXXXXX}"
The errors in the logs are:
INFO: Config file provided /opt/conf/config/runners_config.yaml.
INFO: File /opt/conf/job_template/job.yaml.template copied to /home/bitbucket/autoscaler/resources/job.yaml.template
INFO: Autoscaler config: constants=Constants(default_sleep_time_runner_setup=10, default_sleep_time_runner_delete=5, runner_api_polling_interval=600, runner_cool_down_period=300) groups=[GroupData(workspace=NameUUIDData(name='xxxxx', uuid='{fb1c32a0-xxxx-416a-xxxx-xxxxxxxxxx}'), name='Runners xxxxx', namespace='bitbucket-runner-xxxx', strategy='percentageRunnersIdle', repository=None, labels={'linux', 'self.hosted', 'autoscaler.created'}, parameters=PctRunnersIdleParameters(min=1, max=10, scale_up_threshold=0.5, scale_down_threshold=0.2, scale_up_multiplier=1.5, scale_down_multiplier=0.5), resources=KubernetesJobResources(requests=MemoryCPUData(memory='4Gi', cpu='1000m'), limits=MemoryCPUData(memory='4Gi', cpu='1000m')))]
INFO: Autoscaler runners: [GroupData(workspace=NameUUIDData(name='XXX', uuid='{XXXX-ac31-416a-857f-e6c7414a7668}'), name='Runners xxxx', namespace='bitbucket-runner-xxxx', strategy='percentageRunnersIdle', repository=None, labels={'linux', 'self.hosted', 'autoscaler.created'}, parameters=PctRunnersIdleParameters(min=1, max=10, scale_up_threshold=0.5, scale_down_threshold=0.2, scale_up_multiplier=1.5, scale_down_multiplier=0.5), resources=KubernetesJobResources(requests=MemoryCPUData(memory='4Gi', cpu='1000m'), limits=MemoryCPUData(memory='4Gi', cpu='1000m')))]
INFO: [Runners xxx] Working on runner group: workspace=NameUUIDData(name='XXXX', uuid='{fb1c32a0-xxxx-416a-xxxx-xxxxxxxxxxx}') name='Runners xxxx' namespace='bitbucket-runner-xxxxxx' strategy='percentageRunnersIdle' repository=None labels={'linux', 'self.hosted', 'autoscaler.created'} parameters=PctRunnersIdleParameters(min=1, max=10, scale_up_threshold=0.5, scale_down_threshold=0.2, scale_up_multiplier=1.5, scale_down_multiplier=0.5) resources=KubernetesJobResources(requests=MemoryCPUData(memory='4Gi', cpu='1000m'), limits=MemoryCPUData(memory='4Gi', cpu='1000m'))
INFO: [Runners xxx] Getting bitbucket-runner-xxxxx namespace in Kubernetes...
INFO: [Runners xxx] Namespace bitbucket-runner-xxxxx found.
INFO: [Runners xxx] Getting runners on Bitbucket workspace: xxxx ...
Traceback (most recent call last):
File "/home/bitbucket/autoscaler/clients/base.py", line 36, in make_http_request
response.raise_for_status()
File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.bitbucket.org/internal/workspaces/%7Bfb1c32a0-xxxx-xxxx-857f-xxxxxxxxx%7D/pipelines-config/runners?pagelen=100

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/bitbucket/autoscaler/start.py", line 91, in <module>
main()
File "/home/bitbucket/autoscaler/start.py", line 87, in main
poller.start()
File "/home/bitbucket/autoscaler/start.py", line 47, in start
fut.result()
File "/usr/local/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/local/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/bitbucket/autoscaler/strategy/pct_runners_idle.py", line 78, in process
self.run()
File "/home/bitbucket/autoscaler/strategy/pct_runners_idle.py", line 168, in run
runners = self.get_runners()
File "/home/bitbucket/autoscaler/strategy/pct_runners_idle.py", line 82, in get_runners
return self.runner_service.get_bitbucket_runners(self.runner_data.workspace, self.runner_data.repository)
File "/home/bitbucket/autoscaler/services/bitbucket.py", line 33, in get_bitbucket_runners
runners = workspace_runner_api.get_runners(workspace.uuid)
File "/home/bitbucket/autoscaler/clients/bitbucket/base.py", line 119, in get_runners
runners_part, _ = self.make_http_request(url)
File "/home/bitbucket/autoscaler/clients/base.py", line 40, in make_http_request
raise AutoscalerHTTPError(response.text, status_code=response.status_code)
autoscaler.core.exceptions.AutoscalerHTTPError: Status code: 404. {"type": "error", "error": {"message": "Resource not found"}}
 

 

0 answers

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
TAGS
AUG Leaders

Atlassian Community Events