From 30ab06f788a157b2d9bee9a85d786bb0dba68c59 Mon Sep 17 00:00:00 2001 From: jsboige Date: Tue, 22 Sep 2026 00:48:17 +0200 Subject: [PATCH] fix(runners): declarations budget po-2024 12->42 Go -- alignement sur la VM WSL 40 Go Arbitrage user 2026-09-21 (mission ai-01 msg-20260921T203652-qxg3en) : la VM WSL po-2024 passe de 24 032 a 40 110 Mo. Les declarations budget des wrappers persist/ (runner + lean) suivent : 42 Go = somme des caps declares des trois jambes (8x1536 docker + 12x1536 waiters + 2x6144 lean = 43 008 Mo). Sous l'ancien 12 Go, les 2 slots lean etaient refuses tant que les autres familles etaient en vol. Les wrappers installes /usr/local/bin/ sont deja a 42 sur la machine (live fix, waiters aligne dans le meme geste) ; cette PR trace la declaration dans le repo pour qu'elle reste auditable. Co-Authored-By: Claude Sonnet 5 --- .../linux-runner/persist/coursia-lean-start.sh | 15 +++++++++------ .../persist/coursia-runner-start.sh | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/scripts/ci/docker/linux-runner/persist/coursia-lean-start.sh b/scripts/ci/docker/linux-runner/persist/coursia-lean-start.sh index 1a54890260..785c58e2f1 100644 --- a/scripts/ci/docker/linux-runner/persist/coursia-lean-start.sh +++ b/scripts/ci/docker/linux-runner/persist/coursia-lean-start.sh @@ -52,15 +52,18 @@ export COURSIA_LEAN_RUNNER_NAME_PREFIX="${COURSIA_LEAN_RUNNER_NAME_PREFIX:-myia- export COURSIA_RUNNER_STATE_DIR="${COURSIA_RUNNER_STATE_DIR:-/var/lib/coursia-lean}" mkdir -p "$COURSIA_RUNNER_STATE_DIR" -# MEME BUDGET QUE LES DEUX AUTRES JAMBES DE CETTE MACHINE -- 12 Go, la moitie -# de la VM WSL (24 032 Mo). Cette jambe est celle qui a rendu l'ecart visible : -# ses 2 slots a 6 Go demandent 12 288 Mo, et le garde les refuse tant que les -# 18 432 Mo des deux autres familles sont en vol (18 432 + 12 288 > 12 288). -# Le refus etait correct ; ce qui manquait etait que le budget soit ECRIT. +# MEME BUDGET QUE LES DEUX AUTRES JAMBES DE CETTE MACHINE -- 42 Go depuis +# l'agrandissement VM du 2026-09-21 (24 032 -> 40 110 Mo, arbitrage user, +# mission ai-01 msg-20260921T203652-qxg3en). Cette jambe est celle qui a rendu +# l'ecart visible : ses 2 slots a 6 Go demandent 12 288 Mo, et le garde les +# refusait tant que les 18 432 Mo des deux autres familles etaient en vol +# (18 432 + 12 288 > 12 288) -- sous l'ancien budget 12 Go, les slots lean ne +# DEMARRAIENT JAMAIS. Le refus etait correct ; ce qui manquait etait un budget +# couvrant la composition complete (8x1536 + 12x1536 + 2x6144 = 43 008 Mo). # Les trois jambes doivent annoncer le meme nombre : assert_memory_budget # somme les familles entre elles, une divergence refuserait des slots sans # nommer sa cause. -export COURSIA_RUNNER_BUDGET_GB="${COURSIA_RUNNER_BUDGET_GB:-12}" +export COURSIA_RUNNER_BUDGET_GB="${COURSIA_RUNNER_BUDGET_GB:-42}" cd "$REPO_DIR" || exit 1 diff --git a/scripts/ci/docker/linux-runner/persist/coursia-runner-start.sh b/scripts/ci/docker/linux-runner/persist/coursia-runner-start.sh index 548d70f045..84a2cc9c4c 100644 --- a/scripts/ci/docker/linux-runner/persist/coursia-runner-start.sh +++ b/scripts/ci/docker/linux-runner/persist/coursia-runner-start.sh @@ -39,16 +39,23 @@ export COURSIA_RUNNER_TOOLCACHE_VOLUME="coursia-runner-toolcache" # rend auditable : la valeur effective vit dans un fichier que l'operateur ouvre, # pas dans un defaut de shell que personne ne lit. # -# 12 POUR po-2024 : la VM WSL plafonne a 24 032 Mo, et 12 288 Mo est la moitie -# que la CI s'autorise -- l'hote garde l'autre moitie. C'est le meme nombre que -# `MemoryHigh` de coursia-ci.slice sur les machines qui deployent la slice -# (po-2024 ne la deploie pas : ici le budget n'a pas de mur kernel derriere lui). +# 42 POUR po-2024 (arbitrage user 2026-09-21, mission ai-01 +# msg-20260921T203652-qxg3en) : la VM WSL est passee de 24 032 a 40 110 Mo +# (.wslconfig memory=40GB). Le nombre est le PLAFOND D'ADMISSION, egal a la +# somme des caps declares des trois jambes (8x1536 docker + 12x1536 waiters + +# 2x6144 lean = 43 008 Mo) : sous l'ancien 12 Go, la garde refusait des slots +# sains -- les 2 slots lean ne demarraient JAMAIS tant que les autres familles +# etaient en vol. Les vrais murs restent les caps par conteneur (docker +# --memory) et le plafond vmmem de la VM ; l'hote garde sa moitie au-dela de +# la VM, comme `MemoryHigh` de coursia-ci.slice sur les machines qui deployent +# la slice (po-2024 ne la deploie pas : ici le budget n'a pas de mur kernel +# derriere lui). # # LES TROIS JAMBES DOIVENT ANNONCER LE MEME NOMBRE. `assert_memory_budget` # somme les conteneurs label `coursia-ci=1` de TOUTES les familles : deux jambes # qui divergeraient refuseraient leurs slots l'une contre l'autre, et le message # d'erreur ne nommerait pas la divergence -- il parlerait de memoire en vol. -export COURSIA_RUNNER_BUDGET_GB=12 +export COURSIA_RUNNER_BUDGET_GB=42 # #15095 : echec immediat si le demon du socket epingle ne repond pas -- # AVANT tout demarrage de slot et tout fetch de registration token (gh).