Page MenuHomePhabricator

DamianZaremba (damian)
User

Projects

User is not a member of any projects.

Today

  • No visible events.

Tomorrow

  • No visible events.

Wednesday

  • No visible events.

User Details

User Since
Feb 17 2016, 9:54 PM (547 w, 4 d)
Availability
Available
LDAP User
DamianZaremba
MediaWiki User
Unknown

Recent Activity

Tue, Aug 11

DamianZaremba added a comment to T434431: [builds-api,envvars-admission] add TOOL_NAME environment variable.

As a workaround you can read /var/run/secrets/kubernetes.io/serviceaccount/namespace and strip off the tool- prefix from inside the pod.

Tue, Aug 11, 7:12 AM · tools-platform-team, Toolforge

Wed, Jul 22

DamianZaremba added a comment to T432822: [toolforge,prod] httproutes disappeared for 4 tools (at least).

Verified this was an oversight when running a clean (remove all objects) deployment for T403735

Wed, Jul 22, 8:03 AM · Toolforge, tools-platform-team
DamianZaremba added a comment to T432822: [toolforge,prod] httproutes disappeared for 4 tools (at least).

First alert received at 05:57 (cest)

Wed, Jul 22, 7:48 AM · Toolforge, tools-platform-team

Tue, Jul 21

DamianZaremba added a comment to T432586: [jobs-api] crashes if k8s object does not match expected format (un-guarded list access).

T403735 fixed the literal cause of this, but I'll leave it open as the pending MR handles the more general case of failing to load things from runtime, which is worthwhile.

Tue, Jul 21, 4:58 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T403735: [jobs-api] use `launcher` also for health-check script commands.

Before;

tools.cluebotng@tools-bastion-15:~$ kubectl get pod bot-57f4859f94-4rdc8 -o json | jq '.spec.containers[0].livenessProbe.exec.command'
[
  "/bin/sh",
  "-c",
  "health-check"
]
Tue, Jul 21, 4:16 PM · tools-platform-team, cloud-services-team, Toolforge
DamianZaremba added a comment to T432592: [jobs-api,jobs-cli] `toolforge jobs load` uses PATCH for one-off jobs too.

That is exactly the bug this task covers.

Tue, Jul 21, 12:24 PM · Toolforge, tools-platform-team

Mon, Jul 20

DamianZaremba renamed T432586: [jobs-api] crashes if k8s object does not match expected format (un-guarded list access) from [jobs-cli] tab completion is broken to [jobs-api] crashes if k8s object does not match expected format (un-guarded list access).
Mon, Jul 20, 11:02 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T432586: [jobs-api] crashes if k8s object does not match expected format (un-guarded list access).
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/opt/lib/venv/lib/python3.13/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        self.scope, self.receive, self.send
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/lib/venv/lib/python3.13/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/lib/venv/lib/python3.13/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/opt/lib/venv/lib/python3.13/site-packages/prometheus_fastapi_instrumentator/middleware.py", line 177, in __call__
    raise exc
  File "/opt/lib/venv/lib/python3.13/site-packages/prometheus_fastapi_instrumentator/middleware.py", line 175, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/routing.py", line 290, in handle
    await self.app(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/routing.py", line 78, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/routing.py", line 75, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/opt/lib/venv/lib/python3.13/site-packages/fastapi/routing.py", line 302, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
    )
    ^
  File "/opt/lib/venv/lib/python3.13/site-packages/fastapi/routing.py", line 215, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/lib/venv/lib/python3.13/site-packages/starlette/concurrency.py", line 38, in run_in_threadpool
    return await anyio.to_thread.run_sync(func)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/lib/venv/lib/python3.13/site-packages/anyio/to_thread.py", line 63, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/lib/venv/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 2596, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/opt/lib/venv/lib/python3.13/site-packages/anyio/_backends/_asyncio.py", line 1029, in run
    result = context.run(func, *args)
  File "/app/tjf/api/jobs.py", line 73, in api_get_jobs
    user_jobs = current_app(request).core.get_jobs(tool_name=tool_name)
  File "/app/tjf/core/core.py", line 260, in get_jobs
    runtime_job = self.runtime.get_continuous_job(
        job_name=storage_job.job_name, tool_name=tool_name
    )
  File "/app/tjf/runtimes/k8s/runtime.py", line 190, in get_continuous_job
    job = get_continuous_job_from_k8s_object(
        k8s_object=k8s_obj,
        default_cpu_limit=self.default_cpu_limit,
        tool_name=tool_name,
    )
  File "/app/tjf/runtimes/k8s/jobs.py", line 667, in get_continuous_job_from_k8s_object
    script = container_spec["startupProbe"]["exec"]["command"][2]
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

Haha, ok so that is from me editing the deployment object to verify T403735 works.

Mon, Jul 20, 10:39 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T432586: [jobs-api] crashes if k8s object does not match expected format (un-guarded list access).
tools.cluebotng@tools-bastion-15:~$ curl --cert .toolskube/client.crt --key .toolskube/client.key -k 'https://api.svc.tools.eqiad1.wikimedia.cloud:30003/jobs/v1/tool/cluebotng/jobs/?include_unset=False'
{"error":["Unknown error (list index out of range)"]}
Mon, Jul 20, 10:36 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T432586: [jobs-api] crashes if k8s object does not match expected format (un-guarded list access).

Actually jobs-cli just seems generally broken;

tools.cluebotng@tools-bastion-15:~$ toolforge jobs show bot
ERROR: TjfCliError: Unknown error (list index out of range)
ERROR: Please report this issue to the Toolforge admins if it persists: https://w.wiki/6Zuu
Mon, Jul 20, 10:35 AM · tools-platform-team, Toolforge
DamianZaremba created T432586: [jobs-api] crashes if k8s object does not match expected format (un-guarded list access).
Mon, Jul 20, 10:31 AM · tools-platform-team, Toolforge
DamianZaremba updated subscribers of T403735: [jobs-api] use `launcher` also for health-check script commands.

@dcaro could you tag with needs review when you have chance please

Mon, Jul 20, 10:21 AM · tools-platform-team, cloud-services-team, Toolforge
Restricted Application added a project to T403735: [jobs-api] use `launcher` also for health-check script commands: tools-platform-team.

I noticed this again on T430578, which simplifies the behaviour for the main command.

Mon, Jul 20, 10:00 AM · tools-platform-team, cloud-services-team, Toolforge
DamianZaremba added a comment to T432262: "GO TO TOOL" targeting toolsadmin.wikimedia.org pages fails because of remote cross-origin-opener-policy header value.

I think this could be fixed with rel=noopener on the toolhub side also (I assume the protection is there to stop "remote" access to toolsadmin (which had elevated permissions in the form of account management etc).

The docs at https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/noopener say that target="_blank" does the same thing as rel=noopener. In some quick local testing adding rel=noopener explicitly doesn't seem to change anything.

Mon, Jul 20, 9:58 AM · tools-platform-team, Striker, Toolhub

Jul 16 2026

DamianZaremba added a comment to T423549: [o11y] Automate daily count of successful SSH logins as a measure of user activity.

We want to know if an average of 300 SSH logins are seen a day over time and we are now seeing only 30 a day, we can tell activity level has significantly dropped.

Jul 16 2026, 8:38 AM · Patch-For-Review, Toolforge, tools-platform-team

Jul 15 2026

DamianZaremba added a comment to T432262: "GO TO TOOL" targeting toolsadmin.wikimedia.org pages fails because of remote cross-origin-opener-policy header value.

@bd808 you're probably right.

Jul 15 2026, 6:54 PM · tools-platform-team, Striker, Toolhub
DamianZaremba created T432262: "GO TO TOOL" targeting toolsadmin.wikimedia.org pages fails because of remote cross-origin-opener-policy header value.
Jul 15 2026, 4:13 PM · tools-platform-team, Striker, Toolhub
DamianZaremba added a comment to T432097: [jobs-api] did not update the runtime, [components-api] did not actually get the image deployed.

Thanks @dcaro, I'll push some releases tomorrow (eu) late morning/afternoon and let you know if anything comes up.

Jul 15 2026, 8:00 AM · tools-platform-team, Toolforge

Jul 14 2026

DamianZaremba added a comment to T432154: [jobs-api] surface as error when a tool fails to start due to mount issues.

This is sorted out, I'll create a task for the pods getting stuck in waiting for 5h+ and see how we surface that issue.

Jul 14 2026, 8:17 PM · Toolforge, tools-platform-team
DamianZaremba added a comment to T432097: [jobs-api] did not update the runtime, [components-api] did not actually get the image deployed.

Thanks @dcaro, I'll push some releases tomorrow (eu) late morning/afternoon and let you know if anything comes up.

Jul 14 2026, 8:10 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T432097: [jobs-api] did not update the runtime, [components-api] did not actually get the image deployed.

FWIW that job was re-created (https://phabricator.wikimedia.org/T430578#12118143) earlier today prior to the above, so it was in a pretty 'clean' state.

Jul 14 2026, 12:02 PM · tools-platform-team, Toolforge
DamianZaremba updated the task description for T432097: [jobs-api] did not update the runtime, [components-api] did not actually get the image deployed.
Jul 14 2026, 8:55 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.

Signals are now working as expected;

tools.cluebotng@tools-bastion-15:~$ kubectl logs -f bot-74d9c5f44f-vhcdb &
[1] 3169809
tools.cluebotng@tools-bastion-15:~$ toolforge jobs restart bot
[2026-07-14T09:48:06.554690+01:00] cluebotng.INFO: Skipping: Below threshold {"revision_id":1364072116,"score":"0.010758"} []
[2026-07-14T09:48:06.963547+01:00] cluebotng.INFO: Received shutdown signal 15, beginning graceful shutdown [] []
[2026-07-14T09:48:06.963735+01:00] cluebotng.INFO: HttpFeed shutting down, no longer processing new events [] []
[2026-07-14T09:48:06.966920+01:00] cluebotng.INFO: Persisted last event id on shutdown: [{"offset":-1,"partition":0,"topic":"codfw.mediawiki.recentchange"},{"topic":"eqiad.mediawiki.recentchange","partition":0,"timestamp":1784018886882}] [] []
[2026-07-14T09:48:06.976330+01:00] cluebotng.INFO: EventStream stopped [] []
[2026-07-14T09:48:06.976508+01:00] cluebotng.INFO: Waiting for 0 child process(es) to finish [] []
[2026-07-14T09:48:06.976594+01:00] cluebotng.INFO: Shutdown complete, exiting [] []
Jul 14 2026, 8:49 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T432097: [jobs-api] did not update the runtime, [components-api] did not actually get the image deployed.

Manually fixed with

tools.cluebotng@tools-bastion-15:~$ toolforge jobs delete bot
tools.cluebotng@tools-bastion-15:~$ toolforge components deployment create
tools.cluebotng@tools-bastion-15:~$ toolforge components deployment show
Deployment ID: 20260714-084623-lup2bz3d76
Created: 20260714-084623
Status: successful
Long status: 
  Finished at 2026-07-14 08:47:10.272403
Jul 14 2026, 8:47 AM · tools-platform-team, Toolforge
DamianZaremba created T432097: [jobs-api] did not update the runtime, [components-api] did not actually get the image deployed.
Jul 14 2026, 8:45 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.

Working as expected;

tools.cluebotng@tools-bastion-15:~$ kubectl get pod -l app.kubernetes.io/name=bot -o json | jq '.items[0].spec.containers[0].command, .items[0].spec.containers[0].livenessProbe.exec.command'
[
  "/bin/sh",
  "-c",
  "--",
  "launcher run-cbng"
]
[
  "/bin/sh",
  "-c",
  "health-check"
]
Jul 14 2026, 8:19 AM · tools-platform-team, Toolforge

Jul 13 2026

DamianZaremba closed T401851: [components-api,beta] Image should only be build once when re-used in components, a subtask of T393564: [Hypothesis] WE6.3.10 start a beta for the push-to-deploy features, as Resolved.
Jul 13 2026, 2:27 PM · Toolforge (Toolforge iteration 21), cloud-services-team (FY2024/2025-Q3-Q4), Goal, User-dcaro, Cloud-Services-Origin-Team, Cloud-Services-Worktype-Project, Epic
DamianZaremba closed T401851: [components-api,beta] Image should only be build once when re-used in components as Resolved.

Should be fixed by T402568

Jul 13 2026, 2:27 PM · tools-platform-team, Toolforge, cloud-services-team
DamianZaremba added a comment to T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.

@DamianZaremba thank you for working on this. Please ping us when the MR is ready and we can help test it out.

Jul 13 2026, 11:10 AM · tools-platform-team, Toolforge

Jul 10 2026

DamianZaremba added a comment to T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.

I didn't managed to grab the logs. I suspect my connectivity to be part of the issue (specifically for pulling docker images) - connecting to a VPN seemed to help things along.

Jul 10 2026, 9:57 AM · tools-platform-team, Toolforge

Jul 9 2026

DamianZaremba renamed T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection from [lima-kilo] fails to inject ldap accounts to [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.
Jul 9 2026, 11:13 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.

Eventually;

damian@lima-kilo:~$ kubectl get pods -A
NAMESPACE            NAME                                              READY   STATUS    RESTARTS   AGE
foxtrot-ldap         foxtrot-ldap-0                                    1/1     Running   0          13m
kube-system          coredns-668d6bf9bc-gqfc7                          1/1     Running   0          38m
kube-system          coredns-668d6bf9bc-wqvkv                          1/1     Running   0          38m
kube-system          etcd-toolforge-control-plane                      1/1     Running   1          40m
kube-system          kindnet-6p899                                     1/1     Running   0          4m45s
kube-system          kube-apiserver-toolforge-control-plane            1/1     Running   1          40m
kube-system          kube-controller-manager-toolforge-control-plane   1/1     Running   1          40m
kube-system          kube-proxy-tsnqp                                  1/1     Running   1          38m
kube-system          kube-scheduler-toolforge-control-plane            1/1     Running   1          40m
local-path-storage   local-path-provisioner-567f868bf9-lwh5n           1/1     Running   0          38m
Jul 9 2026, 11:11 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.

It would be useful if the kind/k8s setup role checked the cluster is healthy before finishing.

Jul 9 2026, 11:09 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.
damian@lima-kilo:~$ kubectl -n kube-system delete pod kindnet-k89vf
pod "kindnet-k89vf" deleted
Jul 9 2026, 11:06 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.

Kubernetes is not ready;

damian@lima-kilo:~$ kubectl get pods -A
NAMESPACE            NAME                                              READY   STATUS             RESTARTS   AGE
foxtrot-ldap         foxtrot-ldap-0                                    0/1     Pending            0          5m50s
kube-system          coredns-668d6bf9bc-gqfc7                          0/1     Pending            0          30m
kube-system          coredns-668d6bf9bc-wqvkv                          0/1     Pending            0          30m
kube-system          etcd-toolforge-control-plane                      1/1     Running            1          33m
kube-system          kindnet-k89vf                                     0/1     ImagePullBackOff   0          30m
kube-system          kube-apiserver-toolforge-control-plane            1/1     Running            1          33m
kube-system          kube-controller-manager-toolforge-control-plane   1/1     Running            1          33m
kube-system          kube-proxy-tsnqp                                  1/1     Running            1          30m
kube-system          kube-scheduler-toolforge-control-plane            1/1     Running            1          33m
local-path-storage   local-path-provisioner-567f868bf9-lwh5n           0/1     Pending            0          30m
Jul 9 2026, 11:04 AM · tools-platform-team, Toolforge
DamianZaremba updated the task description for T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.
Jul 9 2026, 11:04 AM · tools-platform-team, Toolforge
DamianZaremba created T431686: [lima-kilo] check for k8s health (services running) / ldap service container running prior to executing account injection.
Jul 9 2026, 10:52 AM · tools-platform-team, Toolforge

Jul 7 2026

DamianZaremba added a comment to T431125: [builds-builder] Pull upstream heroku images weekly.

This would be a significant improvement, as a data point comparing a (Python based) build (yesterday) that uses the Toolforge image vs the current upstream, trivy reports 21 high severity vulnerabilities in the Toolforge image and 0 in the upstream image. Frankly I don't have time to regularly review 20+ reports across 20+ repos, to determine if they are actually impactful, so having them just removed from the runtime would be of beneficial to probably all maintainers.

Jul 7 2026, 1:47 PM · cloud-services-team, Toolforge

Jul 1 2026

DamianZaremba added a comment to T429638: Deprecate and eventually shut down ircstream.
Jul 1 2026, 2:51 PM · User-notice, Wikimedia-IRC-RC-Server

Jun 29 2026

DamianZaremba updated the task description for T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.
Jun 29 2026, 6:52 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.

Initial proposal for un-breaking this (specifically for buildpack images), minimising the amount of exploding the rest of the world - https://gitlab.wikimedia.org/repos/cloud/toolforge/jobs-api/-/merge_requests/333

Jun 29 2026, 6:50 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.

Interestingly the tests in jobs-api are verifying behaviour when command + args is used, not when the wrapper is used =\ I haven't gone all the way back through the history, but I think that comes from before jobs-api was a thing.

Jun 29 2026, 6:18 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.

Example when command is not wrapped in sh;

tools.cluebotng@tools-bastion-15:~$ kubectl get deployment broken-signals -o json | jq .spec.template.spec.containers[0].command
[
  "launcher",
  "run-logic"
]
Jun 29 2026, 6:13 PM · tools-platform-team, Toolforge
DamianZaremba renamed T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application from [builds-api] `step-fix-procfile-args-passing` causes signals (e.g. SIGTERM) to not be seen by application to [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.
Jun 29 2026, 5:48 PM · tools-platform-team, Toolforge
DamianZaremba created T430578: [jobs-api] `get_command_for_k8s` causes signals (e.g. SIGTERM) to not be seen by application.
Jun 29 2026, 5:40 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T417225: Unhandled ChunkedEncodingError crash from `toolforge jobs logs -f`.

@DamianZaremba for what you are trying to do for longer than 10 mins, what would be a good timeout that doesn't disrupt it?

We could look into increasing the config as a quick fix at least, but want to understand what is reasonable for users' needs (e.g. if we shoot it to 30 mins, would it help or not enough?)

Jun 29 2026, 2:32 PM · tools-platform-team, Toolforge

Jun 27 2026

DamianZaremba reopened T429265: [logs-api] failing to return logs for job as "Open".

Re-opening as this is happening again.

Jun 27 2026, 9:28 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T417225: Unhandled ChunkedEncodingError crash from `toolforge jobs logs -f`.

I've hit this multiple times today while tailing logs, so defiantly still happening.

Jun 27 2026, 9:08 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T417225: Unhandled ChunkedEncodingError crash from `toolforge jobs logs -f`.

I've hit this multiple times today while tailing logs, so defiantly still happening.

Jun 27 2026, 5:47 PM · tools-platform-team, Toolforge

Jun 25 2026

DamianZaremba added a comment to T429229: [builds-cli] does not output valid json when there's no builds.

However I don't seem to have a contributor role to the build-cli repo so I can't make a branch. How should I seek access to this "builds-cli" repo and "components-cli" for the second issue?

Jun 25 2026, 12:41 PM · good first task, tools-platform-team, Toolforge

Jun 24 2026

DamianZaremba added a comment to T429229: [builds-cli] does not output valid json when there's no builds.

There is a similar issue with components deployment list where it exits with a failure code (2) when there are no deployments, due to the API response, which would also be a simple thing to fix.

Jun 24 2026, 6:08 PM · good first task, tools-platform-team, Toolforge
DamianZaremba added a comment to T429265: [logs-api] failing to return logs for job.

@aputhin it would be good to get to the bottom of the transient errors as it causes hassle for maintainers every time it happens, which goes through phases of being quite regularly.

Jun 24 2026, 2:39 PM · tools-platform-team, Toolforge

Jun 16 2026

DamianZaremba added a comment to T429265: [logs-api] failing to return logs for job.

Is not happening currently (logs are being returned), so there appears to be some transient error that was present overnight

Jun 16 2026, 5:14 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T429231: [jobs-cli] emits a warning to re-create valid jobs.

This might also explain why some deployments are restarting jobs that have no changes e.g.

Deployment ID: 20260616-165737-i4ix4154s0
Jun 16 2026, 5:02 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T429231: [jobs-cli] emits a warning to re-create valid jobs.

Yes, I also noticed that with another account yesterday that doesn't emit the warning.

Jun 16 2026, 12:14 PM · tools-platform-team, Toolforge

Jun 15 2026

DamianZaremba created T429265: [logs-api] failing to return logs for job.
Jun 15 2026, 9:39 PM · tools-platform-team, Toolforge
DamianZaremba updated the task description for T429231: [jobs-cli] emits a warning to re-create valid jobs.
Jun 15 2026, 3:57 PM · tools-platform-team, Toolforge
DamianZaremba created T429231: [jobs-cli] emits a warning to re-create valid jobs.
Jun 15 2026, 3:56 PM · tools-platform-team, Toolforge
DamianZaremba created T429229: [builds-cli] does not output valid json when there's no builds.
Jun 15 2026, 3:44 PM · good first task, tools-platform-team, Toolforge

Jun 11 2026

DamianZaremba added a comment to T428427: cluebotng-review tool stores 180G of backups.

Updated cluebotng-review to keep the daily backup on nfs and the intra-daily in object storage with a short retention, nfs usage should now be below 15G.

Jun 11 2026, 1:42 PM · Tools
DamianZaremba added a comment to T428214: components-api failing to connect to internal api.

I can't replicate this at the moment on any tool, so it appears to have resolved it's self.

Jun 11 2026, 1:33 PM · tools-platform-team, cloud-services-team, Toolforge
DamianZaremba added a comment to T428449: [jobs-api] is not listing all container images for a tool.

Deployment is now succeeding as expected;

m00m00:component-configs damian$ TARGET_USER=cluebotng-review fab deploy
Applying to cluebotng-review: NetworkPolicy(name=allow-irc-relay-access-from-all-tool-jobs)
Applying to cluebotng-review: NetworkPolicy(name=restrict-grafana-alloy)
Applying to cluebotng-review: NetworkPolicy(name=restrict-pushgateway)
Applying to cluebotng-review: NetworkPolicy(name=restrict-core)
Applying to cluebotng-review: NetworkPolicy(name=restrict-monitoring-toolforge)
Applying config for cluebotng-review
Configuration for cluebotng-review updated successfully.
Warning: You are using a beta feature of Toolforge.
Started deployment: 20260611-132151-xyer06k07m
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment is pending or in progress
Deployment has finished successfully
Applying to cluebotng-review: HttpRoute(backend=cluebotng-reviewer, port=8000)
Writing trove-mysql.sh to /data/project/cluebotng-review/trove-mysql (750)
Jun 11 2026, 1:25 PM · Patch-For-Review, tools-platform-team, Toolforge

Jun 10 2026

DamianZaremba added a comment to T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.

Added the same workaround to cluebot3 which is also failing building (https://github.com/cluebotng/cluebot3/commit/71ad1fa819e07a8cf6a5541cb0f551fad836ce9e)

Jun 10 2026, 10:04 AM · tools-platform-team, Toolforge

Jun 8 2026

DamianZaremba updated the task description for T428449: [jobs-api] is not listing all container images for a tool.
Jun 8 2026, 1:12 PM · Patch-For-Review, tools-platform-team, Toolforge
DamianZaremba created T428449: [jobs-api] is not listing all container images for a tool.
Jun 8 2026, 1:10 PM · Patch-For-Review, tools-platform-team, Toolforge
DamianZaremba created T428432: Horizon project access to cluebotng-trainer adn cluebotng-editsets needed for DamianZaremba.
Jun 8 2026, 10:55 AM · User-bd808, cloud-services-team, Cloud-VPS
DamianZaremba added a comment to T428427: cluebotng-review tool stores 180G of backups.

Once T428214 is resolved I can adjust the retention, this has over the last months with ~6.5k edits added last week.

Jun 8 2026, 10:51 AM · Tools

Jun 5 2026

DamianZaremba created T428253: [logs-cli] `since` + `until` limited by `last`.
Jun 5 2026, 12:15 PM · Patch-For-Review, tools-platform-team, Toolforge
DamianZaremba created T428252: [logs-cli] Specifying a `since` time in the future results in unclear error message.
Jun 5 2026, 12:09 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T428214: components-api failing to connect to internal api.

Also getting failures when interacting with the build api directly;

tools.cluebotng@tools-bastion-15:~$ toolforge build start --ref main -i core https://github.com/cluebotng/external-core.git
ReadTimeout: HTTPSConnectionPool(host='api.svc.tools.eqiad1.wikimedia.cloud', port=30003): Read timed out. (read timeout=20)
Please report this issue to the Toolforge admins if it persists: https://w.wiki/6Zuu
Jun 5 2026, 11:45 AM · tools-platform-team, cloud-services-team, Toolforge
DamianZaremba added a comment to T428214: components-api failing to connect to internal api.

This is still happening, so doesn't appear to be a transient issue.

Jun 5 2026, 8:56 AM · tools-platform-team, cloud-services-team, Toolforge

Jun 4 2026

DamianZaremba created T428214: components-api failing to connect to internal api.
Jun 4 2026, 10:36 PM · tools-platform-team, cloud-services-team, Toolforge

May 7 2026

DamianZaremba added a comment to T425696: restarted pod failed to schedule due to resource constraints.

Reduced cpu request @ https://github.com/cluebotng/component-configs/commit/874d7f6f407fc9a3995f52f40312cd7d3a712176.

May 7 2026, 3:34 PM · cloud-services-team, Toolforge
DamianZaremba created T425696: restarted pod failed to schedule due to resource constraints.
May 7 2026, 3:31 PM · cloud-services-team, Toolforge

May 4 2026

DamianZaremba added a comment to T402568: [components-api] Queue builds when the build queue is full.

In the last few weeks this has caused an outage on ClueBot NG twice (as dependency updates happen).

May 4 2026, 6:55 AM · Patch-For-Review, tools-platform-team, Toolforge (Push-to-Deploy)

Apr 24 2026

DamianZaremba renamed T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries from [builds-api] `step-fix-procfile-args-passing` failing, blocking new builds to [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.
Apr 24 2026, 12:19 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.

Workaround is https://github.com/cluebotng/bot/commit/468143e5eb21d0b3b620623294e0f9a454932abb which prevents the default web entry.

Apr 24 2026, 12:19 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.

This seems to break when there is not a web process.

Apr 24 2026, 12:14 AM · tools-platform-team, Toolforge

Apr 23 2026

DamianZaremba added a comment to T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.
Apr 23 2026, 11:26 PM · tools-platform-team, Toolforge
DamianZaremba added a comment to T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.

Hello Damian what does your config look like?

Apr 23 2026, 11:19 PM · tools-platform-team, Toolforge
DamianZaremba renamed T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries from [builds-api] `step-fix-procfile-args-passing` failing to [builds-api] `step-fix-procfile-args-passing` failing, blocking new builds.
Apr 23 2026, 9:26 AM · tools-platform-team, Toolforge
DamianZaremba added a comment to T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.

I've tried this with with a bare executable (script) @ https://github.com/cluebotng/bot/blob/v2.0.4/Procfile rather than using args @ https://github.com/cluebotng/bot/blob/v2.0.3/Procfile and it fails in the same way.

Apr 23 2026, 9:26 AM · tools-platform-team, Toolforge
DamianZaremba created T424191: [builds-api] `step-fix-procfile-args-passing` does not support default Procfile entries.
Apr 23 2026, 8:57 AM · tools-platform-team, Toolforge

Apr 10 2026

DamianZaremba created T422951: [components-api] build quota failures leave state unclear.
Apr 10 2026, 4:05 PM · tools-platform-team, Toolforge
DamianZaremba closed T422753: [components-api] failing deployment 422 from jobs-api as Resolved.

Confirming my tools are now working (with http health checking) as expected.

Apr 10 2026, 3:12 PM · tools-platform-team, Toolforge, cloud-services-team

Apr 9 2026

DamianZaremba added a comment to T422753: [components-api] failing deployment 422 from jobs-api.

The culprit seems to be
https://gitlab.wikimedia.org/repos/cloud/toolforge/jobs-api/-/blob/main/openapi/openapi.yaml?ref_type=heads&plain=1#L784

Apr 9 2026, 6:40 PM · tools-platform-team, Toolforge, cloud-services-team
DamianZaremba added a comment to T422753: [components-api] failing deployment 422 from jobs-api.

I was going to try and re-produce this on staging (removing the health check), but it now seems to be stuck waiting for builds to start (20260409-180511-p2a131uce6) =\

Apr 9 2026, 6:13 PM · tools-platform-team, Toolforge, cloud-services-team
DamianZaremba added a comment to T422753: [components-api] failing deployment 422 from jobs-api.

That was changed in https://gitlab.wikimedia.org/repos/cloud/toolforge/components-api/-/commit/1b5c88374b0986e9b2a260b7ed55a633e113897a#line_d9ffab664_A154 and the test in https://gitlab.wikimedia.org/repos/cloud/toolforge/components-api/-/commit/1b5c88374b0986e9b2a260b7ed55a633e113897a#line_46ecef6a9_A432, which I guess was based on https://gitlab.wikimedia.org/repos/cloud/toolforge/components-api/-/commit/1b5c88374b0986e9b2a260b7ed55a633e113897a#line_e66c439c6_A387 (generated) changing.

Apr 9 2026, 6:09 PM · tools-platform-team, Toolforge, cloud-services-team

Apr 8 2026

DamianZaremba created T422753: [components-api] failing deployment 422 from jobs-api.
Apr 8 2026, 10:17 PM · tools-platform-team, Toolforge, cloud-services-team

Apr 7 2026

DamianZaremba added a comment to T422046: [builds-api] expose supported versions.

Pack will not be able to reproduce the build currently, you'll need also the runner and the whole environment that builds-api sets up (ex. custom scripts, injected buildpacks, etc.).

This would work for you right now maybe, but will break for others :/, maybe a better path would be to try to create our own builder/runner combo with all that stuff in in, so it can be used with pack. Might be possible in the mid term (we are getting some new hires soonish).

Apr 7 2026, 9:44 PM · tools-platform-team, Patch-For-Review, cloud-services-team, Toolforge

Apr 1 2026

DamianZaremba added a comment to T422046: [builds-api] expose supported versions.

Something like https://gitlab.wikimedia.org/repos/cloud/toolforge/builds-api/-/merge_requests/157 to enable something like https://github.com/InfraBits/ci-pack/pull/1

Apr 1 2026, 3:19 PM · tools-platform-team, Patch-For-Review, cloud-services-team, Toolforge
DamianZaremba created T422046: [builds-api] expose supported versions.
Apr 1 2026, 3:14 PM · tools-platform-team, Patch-For-Review, cloud-services-team, Toolforge

Mar 23 2026

DamianZaremba added a comment to T380127: [builds-builder] Add support for Heroku's "24" builder stack based on Ubuntu 2024.04 noble.

All of the cluebot tools are running with the latest builder image (also in CI), the only small issue that came up was opcache wanting an existing path with the newer version of php, otherwise everything is working as expected.

Mar 23 2026, 10:18 AM · Toolforge, tools-platform-team, Patch-For-Review

Mar 4 2026

DamianZaremba added a comment to T417503: [components-api] updated image is not restarted.

Checked my deployments yesterday, all appear to work as expected with the digest.

Mar 4 2026, 2:13 PM · cloud-services-team (FY2025/2026-Q3-Q4), Toolforge (Toolforge iteration 25), Patch-For-Review

Feb 15 2026

DamianZaremba added a comment to T417503: [components-api] updated image is not restarted.

Workaround for now is to explicitly restart the job, which forces a template change

Feb 15 2026, 1:37 PM · cloud-services-team (FY2025/2026-Q3-Q4), Toolforge (Toolforge iteration 25), Patch-For-Review
DamianZaremba added a comment to T417503: [components-api] updated image is not restarted.

There seems to be striping of the digest happening also

tools.cluebot3@tools-bastion-15:~$ cat tmp.yaml
- command: run-bot
  continuous: true
  cpu: '3.0'
  health-check-script: health-check
  image: tools-harbor.wmcloud.org/tool-cluebot3/cluebot3:latest@sha256:198dd4eea7e29db57aec7022d751c8d4898a4ac62891d0ed4166231641295fd6
  mem: 1.0Gi
  name: cluebot3
Feb 15 2026, 1:36 PM · cloud-services-team (FY2025/2026-Q3-Q4), Toolforge (Toolforge iteration 25), Patch-For-Review
DamianZaremba created T417503: [components-api] updated image is not restarted.
Feb 15 2026, 1:35 PM · cloud-services-team (FY2025/2026-Q3-Q4), Toolforge (Toolforge iteration 25), Patch-For-Review

Feb 14 2026

DamianZaremba created T417494: [trove] MariaDB 10.6 support.
Feb 14 2026, 7:13 PM · Cloud-VPS, cloud-services-team

Jan 13 2026

DamianZaremba closed T414360: Reduce NFS disk space usage by cluebotng-trainer tool, a subtask of T414352: 2026-01-12 Toolforge NFS cleanup, as Resolved.
Jan 13 2026, 9:20 AM · cloud-services-team, Toolforge
DamianZaremba closed T414360: Reduce NFS disk space usage by cluebotng-trainer tool as Resolved.
Jan 13 2026, 9:20 AM · Tools