51 Commits

Author SHA1 Message Date
Hermes Agent
f997171b55 jenkins: rank the controller above its own build agents
The Jenkins controller and the ephemeral build agents it schedules both ran
at priority 0. Because the controller Deployment uses the Recreate strategy,
any JCasC change tears the controller down before its replacement is
scheduled, and while the eligible node pool is saturated that freed slot can
be taken by one of the controller's own pending agents.

That is what happened on 2026-08-23. Merging #48 changed
services/jenkins/configmap-jcasc.yaml, which rolled the hashed
jenkins-jcasc-revision ConfigMap and so rolled the Deployment. At 12:19:57Z
the old controller pod was deleted; at 12:19:59Z the build agent
typhon-133-1pmgb, pending since 11:42:15Z, took the freed capacity on
titan-11, and the new controller pod has been Pending ever since. The
scheduler cannot resolve it because every candidate victim is also priority
0: "No preemption victims found for incoming pod". The agent cannot exit on
its own either, since its jnlp container just loops on "Connection refused"
against the controller that cannot start. It is a self-deadlock, not a
transient capacity dip.

Give the controller a jenkins-core class (500) so it outranks its agents and
can preempt one when it has nowhere else to go, and mark the JCasC default
agent template jenkins-agent (50, preemptionPolicy: Never) so agents never
preempt anything themselves. Values follow the existing *-core/*-sim classes.

The controller-side class is what breaks the deadlock: agents declared inline
by a Jenkinsfile podTemplate, like typhon-133, do not inherit the JCasC
default template, so only the controller's own priority covers every agent.

PriorityClasses ship in infrastructure/modules/base via the core
Kustomization, so jenkins now dependsOn core, matching cassandra and veles.
Verified no dependency cycle: core itself has no dependsOn.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 13:12:40 +00:00
jenkins
e8c26ecf85 hermes: add daemonless agent image release lane 2026-08-17 08:25:52 -03:00
jenkins
20ee755f6c jenkins: roll on JCasC changes 2026-08-13 21:42:15 -03:00
jenkins
ce5e4542b9 jenkins: lengthen k8s exec websocket timeouts 2026-06-10 05:35:34 -03:00
jenkins
c8e4abb2e0 fix(jenkins): remove deprecated cloud cap field 2026-05-20 06:40:44 -03:00
jenkins
f898e331fd ops: restart jenkins for spread policy 2026-05-20 06:34:43 -03:00
jenkins
a2a2e0ac1f ops: keep jenkins controller on rpi5 2026-05-20 04:42:12 -03:00
jenkins
0648033836 ops: restart jenkins for placement policy 2026-05-20 04:29:40 -03:00
jenkins
1993bfb807 jenkins: lower controller scheduling requests 2026-05-19 20:37:07 -03:00
jenkins
bc992306ad jenkins: avoid HDD storage nodes for controller 2026-05-19 20:29:12 -03:00
jenkins
ed47fcadc4 ci(jenkins): roll controller for plugin refresh 2026-05-19 14:07:34 -03:00
jenkins
2bcf5277b8 jenkins: reload casc for lesavka schedule 2026-05-16 13:51:55 -03:00
f09e008fc3 jenkins: allow slow controller startup 2026-04-21 20:54:42 -03:00
jenkins
93fa63f809 jenkins: de-prefer spillover longhorn nodes for controller and agents 2026-04-21 20:48:02 -03:00
7211114f8e jenkins: avoid recursive volume ownership resets 2026-04-21 20:34:02 -03:00
24a7e6d11f jenkins: prefer rpi5 without hard pin 2026-04-21 19:51:09 -03:00
7b2cea7637 ci(jenkins): inject sonarqube token from vault 2026-04-21 19:43:08 -03:00
c760790b6e ci(jenkins): require rpi5 controller placement 2026-04-21 14:12:14 -03:00
codex
c8cb15562e jenkins: source streaming harbor creds from dedicated vault path 2026-04-19 23:02:30 -03:00
codex
1f75fc5178 jenkins: keep streaming creds optional without vault hard dependency 2026-04-19 22:45:25 -03:00
codex
baea38a126 jenkins(logging): split streaming harbor credentials 2026-04-19 22:40:56 -03:00
codex
7848b70193 jenkins: stop overriding push creds with harbor-pull secret 2026-04-19 22:36:18 -03:00
codex
a561024d8d jenkins: revert sonar vault path injection blocking startup 2026-04-19 21:42:04 -03:00
codex
60dd2b1b94 jenkins(sonar): wire defaults and observe-mode toggles 2026-04-19 21:30:02 -03:00
3258e4525b maintenance(jenkins): stabilize ariadne api token bootstrap 2026-04-13 02:55:10 -03:00
b4851b14a3 maintenance(jenkins): provision ariadne api user for weather collector 2026-04-13 02:41:20 -03:00
10082cb066 jenkins: clear plugin cache before plugin-cli install 2026-03-30 16:42:03 -03:00
6c5a6c030d jenkins: set timezone to America/Chicago 2026-01-22 18:23:26 -03:00
ee4af80e15 jenkins: use shared harbor creds when present 2026-01-22 03:15:38 -03:00
a01dbbd7df jenkins: inline dark theme css 2026-01-20 18:00:36 -03:00
fced9f5919 jenkins: mount init scripts into home 2026-01-20 17:54:47 -03:00
50dcded32f jenkins: add local dark theme css 2026-01-20 17:43:23 -03:00
3cd38a6c70 jenkins: rotate cache/plugin pvcs 2026-01-20 17:32:27 -03:00
5e2370aeaa jenkins: expand pvc sizes and move /tmp to memory 2026-01-20 17:09:23 -03:00
f3b8b93287 jenkins: move agent workspace off node disk 2026-01-20 17:04:24 -03:00
e81eb57af3 jenkins: automate notifyCommit token 2026-01-20 11:54:15 -03:00
a0ff159cab jenkins: fix scmTrigger spec field 2026-01-20 11:23:06 -03:00
dfe2faef5c jenkins: use scmTrigger for pipeline polls 2026-01-20 11:14:29 -03:00
33c329a494 jenkins: use pollSCM for pipeline triggers 2026-01-20 11:07:54 -03:00
ee5a4aedac jenkins: drop legacy cleanup and update triggers 2026-01-20 10:59:51 -03:00
a7bc174db1 jenkins: clean legacy quality-gate job 2026-01-20 10:37:57 -03:00
2aa4bd1fe1 jenkins: restore multibranch + webhook token 2026-01-20 10:15:33 -03:00
d21dc989f6 jenkins: pin root url for OIDC 2026-01-20 09:37:21 -03:00
7d44006423 jenkins: align quality gate branch 2026-01-20 01:14:30 -03:00
e30afabdf0 jenkins: re-target quality gate and restart 2026-01-20 01:08:51 -03:00
267579aab2 jenkins: restart to load new jobs 2026-01-18 21:26:05 -03:00
d716edb6ef jenkins: load vault env via env 2026-01-14 17:57:10 -03:00
dbfc541ccb jenkins: escape vault env values 2026-01-14 17:53:09 -03:00
4f99000aab vault: inject remaining services with wrappers 2026-01-14 17:29:09 -03:00
c7ab046b19 jenkins: add RBAC serviceaccount and use for agents 2025-12-20 18:08:30 -03:00