User Details
- User Since
- Feb 17 2016, 9:54 PM (547 w, 4 d)
- Availability
- Available
- LDAP User
- DamianZaremba
- MediaWiki User
- Unknown
Tue, Aug 11
As a workaround you can read /var/run/secrets/kubernetes.io/serviceaccount/namespace and strip off the tool- prefix from inside the pod.
Wed, Jul 22
Verified this was an oversight when running a clean (remove all objects) deployment for T403735
First alert received at 05:57 (cest)
Tue, Jul 21
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.
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" ]
That is exactly the bug this task covers.
Mon, Jul 20
Haha, ok so that is from me editing the deployment object to verify T403735 works.
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)"]}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
@dcaro could you tag with needs review when you have chance please
I noticed this again on T430578, which simplifies the behaviour for the main command.
Jul 16 2026
Jul 15 2026
@bd808 you're probably right.
Jul 14 2026
Thanks @dcaro, I'll push some releases tomorrow (eu) late morning/afternoon and let you know if anything comes up.
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.
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 [] []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
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 13 2026
Should be fixed by T402568
Jul 10 2026
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 9 2026
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
It would be useful if the kind/k8s setup role checked the cluster is healthy before finishing.
damian@lima-kilo:~$ kubectl -n kube-system delete pod kindnet-k89vf pod "kindnet-k89vf" deleted
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 7 2026
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 1 2026
Jun 29 2026
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
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.
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 27 2026
Re-opening as this is happening again.
I've hit this multiple times today while tailing logs, so defiantly still happening.
Jun 25 2026
Jun 24 2026
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.
@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 16 2026
Is not happening currently (logs are being returned), so there appears to be some transient error that was present overnight
This might also explain why some deployments are restarting jobs that have no changes e.g.
Deployment ID: 20260616-165737-i4ix4154s0
Yes, I also noticed that with another account yesterday that doesn't emit the warning.
Jun 15 2026
Jun 11 2026
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.
I can't replicate this at the moment on any tool, so it appears to have resolved it's self.
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 10 2026
Added the same workaround to cluebot3 which is also failing building (https://github.com/cluebotng/cluebot3/commit/71ad1fa819e07a8cf6a5541cb0f551fad836ce9e)
Jun 8 2026
Once T428214 is resolved I can adjust the retention, this has over the last months with ~6.5k edits added last week.
Jun 5 2026
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
This is still happening, so doesn't appear to be a transient issue.
Jun 4 2026
May 7 2026
May 4 2026
In the last few weeks this has caused an outage on ClueBot NG twice (as dependency updates happen).
Apr 24 2026
Workaround is https://github.com/cluebotng/bot/commit/468143e5eb21d0b3b620623294e0f9a454932abb which prevents the default web entry.
This seems to break when there is not a web process.
Apr 23 2026
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 10 2026
Confirming my tools are now working (with http health checking) as expected.
Apr 9 2026
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) =\
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 8 2026
Apr 7 2026
Apr 1 2026
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
Mar 23 2026
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 4 2026
Checked my deployments yesterday, all appear to work as expected with the digest.
Feb 15 2026
Workaround for now is to explicitly restart the job, which forces a template change
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