- 29 Mar, 2022 1 commit
-
-
Arturo Borrero Gonzalez authored
-
- 25 Mar, 2022 5 commits
-
-
Arturo Borrero Gonzalez authored
-
Arturo Borrero Gonzalez authored
-
Arturo Borrero Gonzalez authored
The pip tool is not installed in this container. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I28be1a04e194f9eca1a4634170204f5e42a504f7
-
Arturo Borrero Gonzalez authored
We have hit the ratelimit in the docker hub registry. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I91c012773b66b9e8e6b4db2fde1fa3b15f594552
-
Arturo Borrero Gonzalez authored
New file to trigger gitlab-ci, with tox. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ia0d87504285f0c86fb852ae050b6179fa04f1f66
-
- 21 Feb, 2022 5 commits
-
-
Arturo Borrero Gonzalez authored
Refresh runner script With latest code changes. While at it, refresh test definitions to drop explicit \n. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Iab0783e2862fd31ab2308e73da100f656a13570c
-
Arturo Borrero Gonzalez authored
A bit better instruction to refresh the deployment. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I79c210925cfce4ade24706ad2b18fe80bc51087a
-
Arturo Borrero Gonzalez authored
This patch prevents this problem: *** Operational MODE: single process *** mounting api:app on / Traceback (most recent call last): File "./api.py", line 17, in <module> from flask import Flask File "/usr/local/lib/python3.7/dist-packages/flask/__init__.py", line 19, in <module> from . import json File "/usr/local/lib/python3.7/dist-packages/flask/json/__init__.py", line 15, in <module> from itsdangerous import json as _json ImportError: cannot import name 'json' from 'itsdangerous' (/usr/local/lib/python3.7/dist-packages/itsdangerous/__init__.py) unable to load app 0 (mountpoint='/') (callable not found or import error) See for reference: * https://serverfault.com/questions/1094062/error-from-itsdangerous-import-json-as-json-importerror-cannot-import-name-j * https://github.com/pallets/flask/issues/4456 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ia5f4001a438b95d25c791f5efaa5170c16665547
-
Refresh script. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I5d25380c77e41fa2d765114d55a16f0467e1ae78
-
Arturo Borrero Gonzalez authored
Format changes by black. Signed-off-by:
Arturo Borrero Gonzalez <arturo@debian.org> Change-Id: Id9bf1f1235a2c26d4435b1d38ed777de9b89bbda
-
- 13 Sep, 2021 3 commits
-
-
Arturo Borrero Gonzalez authored
The new API parameter allow users to request email notifications for their jobs. For now it can take the following values: * onfailure --- only receive email notifications when a job fails * onfinish --- receive email notifications whenever a job finish * all --- receive all job notifications, finish, startup, etc * none --- the default, don't receive any email notifications Bug: T286135 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Iffe4718c207768c15ca643d06afe1538cd9364b8
-
Arturo Borrero Gonzalez authored
Use the bullseye one. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ie47adc85c8deee37592450e93f83f2793703bc53
-
Arturo Borrero Gonzalez authored
We don't need a ClusterRole. There are 2 kind of operations jobs-api does against the k8s API. * at startup, read the ConfigMap with the container specs. With a ServiceAccount * at normal operations, interact with the k8s API on behalf of requesting users, using their kubeconfig Therefore we don't need cluster-wide permissions for anything. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I9f858ed8656d80c609b135ab91fc4c013a4e957c
-
- 09 Sep, 2021 1 commit
-
-
Arturo Borrero Gonzalez authored
It should be enough with the default PSP. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Id7e38aba7f2cd11011a4329d497a72aa9a32cc1c
-
- 08 Sep, 2021 1 commit
-
-
Majavah authored
Those images don't really have any beneficts over Toolforge images. The versions on the Toolforge registry are usually outdated. Change-Id: I37a424a1445cb1b1cebe06cf5ab1dd831210d8ef
-
- 06 Sep, 2021 8 commits
-
-
Arturo Borrero Gonzalez authored
Mark as deprecated all images that have a newer version. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I61f4df963707b9ae9d93207f3c693887b53f696d
-
Arturo Borrero Gonzalez authored
No need for that, and it can create weird errors, because that file is mostly setup to be used from inside the cluster, and the test suite is running outside. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I0b7ef16e53c2dfccae2cce8bb481559640ce8f5d
-
Arturo Borrero Gonzalez authored
This is true for kubernetes >= 1.21. Reference: https://github.com/kubernetes/website/commit/dba902447c0ab4de0e673d2d7cca548706a8eb1b Bug: T285944 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I3b73fd2770d9807031635103b53425d0e2b01629
-
Arturo Borrero Gonzalez authored
Refresh some stale/buggy documents. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Iff9feeb13291829fa81995c7707cd871b4255873
-
Arturo Borrero Gonzalez authored
Only split the first hypen ocurrence, so the rest of the string is left untouched. This allows to corrently parse tool names with hypens. Bug: T285944 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I7c7065bf8db672412bd68bc0d0a13955b7853dfd
-
jenkins-bot authored
-
Arturo Borrero Gonzalez authored
-
Arturo Borrero Gonzalez authored
Typo in the image URL. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I2515ce521a0a7fbe233c300aa275a0f45d3632f6
-
- 15 Aug, 2021 1 commit
-
-
Majavah authored
Add Bullseye created in I2e7f6b661f454a03061246bb61ec5e500297114b. Bug: T284590 Change-Id: I97af2280669c1799d7a42d6351e635800d22d6d9
-
- 14 Aug, 2021 1 commit
-
-
Majavah authored
This ensures that the user sees an error message if their container can't start due to per-container limits set by Toolforge admins. Otherwise the job will be created successfully but it will fail creating any pods as they go over the limits. Bug: T287275 Change-Id: I5944a038e483efeaa0bf1565695cecc471ef247f
-
- 22 Jul, 2021 1 commit
-
-
Arturo Borrero Gonzalez authored
So we can mark some of the containers as deprecated. The workflow would be mostly the same: reload the API app to reload the containers available in the API. The end user output would be something like this: +------------------------+------------------------------------------------------------------------+ | Short name | Docker container image | +------------------------+------------------------------------------------------------------------+ | tf-buster-std | docker-registry.tools.wmflabs.org/toolforge-buster-standalone:latest | | tf-golang | docker-registry.tools.wmflabs.org/toolforge-golang-sssd-base:latest | | tf-golang111 | docker-registry.tools.wmflabs.org/toolforge-golang111-sssd-base:latest | | tf-jdk11 | docker-registry.tools.wmflabs.org/toolforge-jdk11-sssd-base:latest | | tf-jdk8-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-jdk8-sssd-base:latest | | tf-node10 | docker-registry.tools.wmflabs.org/toolforge-node10-sssd-base:latest | | tf-node6-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-node6-sssd-base:latest | | tf-php5-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-php5-sssd-base:latest | | tf-php72-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-php72-sssd-base:latest | | tf-php73 | docker-registry.tools.wmflabs.org/toolforge-php73-sssd-base:latest | | tf-python2-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-python2-sssd-base:latest | | tf-python34-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-python34-sssd-base:latest | | tf-python35-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-python35-sssd-base:latest | | tf-python37 | docker-registry.tools.wmflabs.org/toolforge-python37-sssd-base:latest | | tf-ruby21-DEPRECATED | docker-registry.tools.wmflabs.org/toolforge-ruby21-sssd-base:latest | | tf-ruby25 | docker-registry.tools.wmflabs.org/toolforge-ruby25-sssd-base:latest | | tf-tcl86 | docker-registry.tools.wmflabs.org/toolforge-tcl86-sssd-base:latest | | wm-buster | docker-registry.tools.wmflabs.org/wikimedia-buster:latest | | wm-stretch-DEPRECATED | docker-registry.tools.wmflabs.org/wikimedia-stretch:latest | +------------------------+------------------------------------------------------------------------+ Bug: T287077 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: If9248eb805e14d0138a648957b0b407dc0be330a
-
- 21 Jul, 2021 5 commits
-
-
Arturo Borrero Gonzalez authored
Leave finished jobs leaving around for 60 seconds so users have chances to explore them before kubernetes auto-deletes them. Bug: T286108 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I18900b5b591fa9a157e199a4c706aece446e52d5
-
Arturo Borrero Gonzalez authored
We need this setup to mirror tools/toolsbeta configuration. Bug: T286108 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I5dc9624129d72f1c8834ec7ce0ba8af03cd9c1b5
-
Arturo Borrero Gonzalez authored
And while at it, reduce the sleep time a bit. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Iff1ce0d6555385ab1531e35f266c3cf8b79c1b93
-
Arturo Borrero Gonzalez authored
If a job was created in the past and we fail to parse the command specification, use an "unknown" value to indicate something to the user. Bug: T286824 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ib512e606402aea7d7ced21fc7836e82d4495f511
-
Arturo Borrero Gonzalez authored
If a job was created in the past and the container is no longer available, return "unknown". Bug: T286824 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I52f57d300778b82cf5c26ada2c6f7b797bf3be7e
-
- 16 Jul, 2021 3 commits
-
-
Arturo Borrero Gonzalez authored
This patch adds two new parameters to the /run/ endpoint, allowing users to specify memory and cpu limits for the job. Bug: T286126 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ia52044df9e7c807f58468eb15d2ea030b0b47dae
-
Arturo Borrero Gonzalez authored
Before this patch, a normal running job would show: Pod in 'Running' phase. State 'running' for reason 'unknown'. After this patch, it would show: Pod in 'Running' phase. State 'running'. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I664b16e637c004653251f095c071ad0911d3f79d
-
Arturo Borrero Gonzalez authored
Kubernetes doesn't share a lot of information on the Job object about the ongoing execution of the Pod. However, { "status": { "active": 1 }} should be present if the Pod is running. With this change, the observed status transition as reported by this API will be: Unknown -> Running -> {Completed, Not Running, Failed} Bug: T286132 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I009f447bd1f60e626cc5a4c8aec35ab8222374d1
-
- 15 Jul, 2021 1 commit
-
-
Arturo Borrero Gonzalez authored
Otherwise cronjobs will remove logs from previous exceutions. Bug: T286485 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ibe4d625aa78a0369def3d5070a5b433afcd1af74
-
- 14 Jul, 2021 2 commits
-
-
Arturo Borrero Gonzalez authored
Users home directories are on NFS and are our current way to share storage between the k8s cluster and bastions. This patch introduces a new API argument: filelog (boolean). If set to true, we will force redirect stdout/stderr to a file in the home dir with the name of the job. If set to false (the default) stdout/stderr will be redirected to /dev/null. For this to happen, we wrap the whole job command in a /bin/sh execution. To simplify a bit the whole parsing game when listing back jobs, we store the log preference in a custom k8s label. Incidentally, this enables commands to be arbitrary strings, meaning we can have arguments for the job command, for example: ./arg.sh one --2 'three four' Bug: T286485 Bug: T286107 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I2321d5c7061135bdf47265373a4c8e8e5b945c6a
-
Arturo Borrero Gonzalez authored
Only allow job names to be letters, numbers and dash (-), max 100 characters. In a later patch, we will use the job name to generate log files, and we want the string to be as friendlier as possible. Bug: T286485 Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: Ic152b39311628b1d7bba72adaf2cafee85fd30e2
-
- 13 Jul, 2021 1 commit
-
-
Arturo Borrero Gonzalez authored
Give the client additional hints about what could have fail by returning the JSON for the k8s object. Signed-off-by:
Arturo Borrero Gonzalez <aborrero@wikimedia.org> Change-Id: I3e0e8de07baf227bce5faf9e9c9842a99f18496c
-
- 12 Jul, 2021 1 commit
-
-
Arturo Borrero Gonzalez authored
-