You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #14846 — suivi de la revue Hermes de PR #23228 (29/10).
Ce qui se passe
La branche po-2028 de collect_units() dans scripts/ci/docker/linux-runner/install-coursia-units.sh installe 4 entrees (dont persist/coursia-ci.slice) mais paspersist/daemon.json.
Pourquoi c'est un defaut
supervise.sh exige (avec REQUIRE_CGROUP_BUDGET=1, pose par le wrapper po-2028) la slice ET son cgroup-parent docker (daemon.json -> coursia-ci.slice), et son message de reparation prescrit precisement de deployer persist/coursia-ci.slice + persist/daemon.json. Sur une machine neuve, le premier demarrage refusera (« budget agrege INTROUVABLE ou sans io.max ») alors que l'installeur vient de rendre OK.
Etat mesure sur po-2028 : le daemon.json est deja en place sur cette machine precise, deploye a la main (releve du 29/10) — l'ecart n'est visible que sur une installation fraiche.
Attendu
Ajouter persist/daemon.json a l'inventaire po-2028 (5e entree, avec son controle positif sha256 au meme titre que les 4 autres), ou documenter dans le script pourquoi cette entree reste hors inventaire.
Verifier que c'est resolu
Sur un environnement neuf (ou en lecture du script seul) : l'inventaire rendu par collect_units() pour po-2028 compte 5 entrees dont daemon.json, et le controle positif du README/script couvre son sha256.
[CLAIMED] lane myia-po-2028:CoursIA-2 -- paths: scripts/ci/docker/linux-runner/install-coursia-units.sh -- ajouter persist/daemon.json a l inventaire po-2028 (5e entree, controle positif sha256) pour qu une machine neuve ne soit pas refusee par supervise.sh
[RELEASED] lane myia-po-2028:CoursIA-2 -- paths: scripts/ci/docker/linux-runner/install-coursia-units.sh -- grain deja livre sur main, claim retire apres verification firsthand. Aucune edition faite.
[INFO] candidate-delivered — lane myia-po-2028:CoursIA-2. La correction demandee est deja sur main, elle est arrivee avec la PR #23228 elle-meme (commit 33019c566, 2026-10-30) : l'issue est un suivi issu de la revue Hermes de cette PR, et le correctif a ete porte dans la PR avant son merge. L'issue n'a jamais ete fermee parce que le commit ne la cite pas par un mot-cle de fermeture.
Criteres de l'issue, mesures a l'instant
Critere (body)
Preuve mesuree
Verdict
L'inventaire po-2028 rend 5 entrees dont daemon.json
awk sur la branche po-2028) de collect_units() : 5 lignes de chemin ; la 5e est `/etc/docker/daemon.json
persist/po-2028/daemon.json
Le controle positif couvre son sha256
le script cite la valeur (install-coursia-units.sh:170 : sha256 8265130873c6...) et elle concorde avec la mesure : sha256sum persist/po-2028/daemon.json = 8265130873c6205c8f5088df3a387054aadbc92ab361a7bf193ff9263f38ee84
tenu
La source existe et est propre a cette machine
persist/po-2028/daemon.json, 145 octets, present dans l'arbre
tenu
Le corps de l'issue demandait « ajouter persist/daemon.json a l'inventaire po-2028ou documenter dans le script pourquoi cette entree reste hors inventaire ». La branche retenue est une troisieme, meilleure, et elle est deja ecrite : l'entree est ajoutee, mais sourcee depuis une copie propre a la machine (persist/po-2028/daemon.json) et non depuis le persist/daemon.json generique d'ai-01 — parce que les deux sont equivalents en semantique mais pas byte-identiques (mise en forme de log-opts), et que la garde d'installation compare par sha256 : sourcer le fichier d'ai-01 aurait rendu un DIFF permanent sur cette machine. Le raisonnement est inscrit en commentaire aux lignes 162-176 du script.
Consequence pour l'objet de l'issue
Sur une machine neuve, le premier demarrage n'est plus refuse : la slice et son cgroup-parent docker sont deployes par l'installeur, donc supervise.sh (REQUIRE_CGROUP_BUDGET=1) trouve le budget agrege.
Cloture reservee au coordinateur ou a l'adjoint (G.9).
[INFO] candidate-delivered -- lane myia-po-2028:CoursIA-2 -- verification demandee par le dispatch c2764, faite SUR la machine et pas seulement dans le script.
Aucune edition n'etait due : le correctif est sur main depuis 33019c566 (#23228). La verification d'aujourd'hui porte sur le fichier reellement en service, pas sur la seule lecture du script.
Mesures de ce cycle
Mesure
Valeur
Inventaire po-2028 de collect_units() (origin/main)
5 entrees ; la 5e est /etc/docker/daemon.json|persist/po-2028/daemon.json|cgroup-parent coursia-ci.slice + log-driver local (install-coursia-units.sh:182)
Consequence mesuree : la garde byte-identite de icc_install_unit rend SKIP sur cette machine, pas DIFF -- donc pas de bruit d'installation recurrent. Et sur une machine neuve, le cgroup-parent: coursia-ci.slice que supervise.sh exige (garde l.1308-1340, REQUIRE_CGROUP_BUDGET=1) arrive avec la slice au lieu de manquer.
Criteres de l'issue
Critere (body)
Verdict
Preuve
L'inventaire po-2028 rend 5 entrees dont daemon.json
tenu
ligne 182, comptage sur la branche po-2028) de collect_units()
Le controle positif couvre son sha256
tenu
script l.170 cite sha256 8265130873c6... ; valeur re-mesuree ce cycle, identique cote fichier en service et cote depot
La source est propre a cette machine (pas de DIFF permanent)
tenu
persist/po-2028/daemon.json, et non le persist/daemon.json generique d'ai-01 : semantiquement equivalents, pas byte-identiques
Cloture reservee au coordinateur ou a l'adjoint (G.9). scripts/ reste sous gel ai-01 et il n'y avait rien a corriger.
Grain: LIGHT/guard -- lane myia-po-2028:CoursIA -- prev: DEEP/notebook-python #24539
[DELIVERED] lane myia-po-2028:CoursIA-2 -- paths: scripts/ci/docker/linux-runner/** -- verification SUR la machine (po-2028), main courant, re-mesuree a l'instant au dispatch c2764.
L'inventaire po-2028 de collect_units()couvredaemon.json : entree 5/5 presente, install-coursia-units.sh:182 : /etc/docker/daemon.json|persist/po-2028/daemon.json|cgroup-parent coursia-ci.slice + log-driver local
Portee par le commit 33019c566 (#23228, 2026-10-30), ancestre verifie de origin/main ; c'est lui qui a ajoute cette entree (diff confirme l'ajout de la ligne 182).
Controle positif re-mesure ce cycle sur la machine :
/etc/docker/daemon.json (WSL po-2028, en service) : sha256 8265130873c6205c8f5088df3a387054aadbc92ab361a7bf193ff9263f38ee84
valeur citee dans le script (l.170) : sha256 8265130873c6... — concorde.
Correction de cadrage vs le post precedent : le dossier persist/ est local a la machine (0 fichier committe sur origin/main, pas gitignore) ; persist/po-2028/daemon.json n'est pas un artefact du depot, c'est la source de deploiement cote machine. Le fait verifie par ce DELIVERED est l'entree de l'inventaire, pas un fichier de depot.
Consequence pour l'objet de l'issue : sur une machine neuve, l'installeur deploie le daemon.json avec cgroup-parent: coursia-ci.slice, donc supervise.sh (garde REQUIRE_CGROUP_BUDGET=1) trouve le budget agrege et ne refuse plus au demarrage.
Aucune edition due. Cloture reservee au coordinateur ou a l'adjoint (G.9).
Grain: LIGHT/guard -- lane myia-po-2028:CoursIA-2 -- prev: DEEP/notebook-lean #24526
Activity
jsboige commentedon Nov 1, 2026
[CLAIMED] lane myia-po-2028:CoursIA-2 -- paths: scripts/ci/docker/linux-runner/install-coursia-units.sh -- ajouter persist/daemon.json a l inventaire po-2028 (5e entree, controle positif sha256) pour qu une machine neuve ne soit pas refusee par supervise.sh
jsboige commentedon Nov 1, 2026
[RELEASED] lane myia-po-2028:CoursIA-2 -- paths: scripts/ci/docker/linux-runner/install-coursia-units.sh -- grain deja livre sur main, claim retire apres verification firsthand. Aucune edition faite.
[INFO] candidate-delivered — lane myia-po-2028:CoursIA-2. La correction demandee est deja sur
main, elle est arrivee avec la PR #23228 elle-meme (commit33019c566, 2026-10-30) : l'issue est un suivi issu de la revue Hermes de cette PR, et le correctif a ete porte dans la PR avant son merge. L'issue n'a jamais ete fermee parce que le commit ne la cite pas par un mot-cle de fermeture.Criteres de l'issue, mesures a l'instant
po-2028rend 5 entrees dontdaemon.jsonawksur la branchepo-2028)decollect_units(): 5 lignes de chemin ; la 5e est `/etc/docker/daemon.jsoninstall-coursia-units.sh:170:sha256 8265130873c6...) et elle concorde avec la mesure :sha256sum persist/po-2028/daemon.json=8265130873c6205c8f5088df3a387054aadbc92ab361a7bf193ff9263f38ee84persist/po-2028/daemon.json, 145 octets, present dans l'arbreLe corps de l'issue demandait « ajouter
persist/daemon.jsona l'inventairepo-2028ou documenter dans le script pourquoi cette entree reste hors inventaire ». La branche retenue est une troisieme, meilleure, et elle est deja ecrite : l'entree est ajoutee, mais sourcee depuis une copie propre a la machine (persist/po-2028/daemon.json) et non depuis lepersist/daemon.jsongenerique d'ai-01 — parce que les deux sont equivalents en semantique mais pas byte-identiques (mise en forme delog-opts), et que la garde d'installation compare par sha256 : sourcer le fichier d'ai-01 aurait rendu un DIFF permanent sur cette machine. Le raisonnement est inscrit en commentaire aux lignes 162-176 du script.Consequence pour l'objet de l'issue
Sur une machine neuve, le premier demarrage n'est plus refuse : la slice et son
cgroup-parentdocker sont deployes par l'installeur, doncsupervise.sh(REQUIRE_CGROUP_BUDGET=1) trouve le budget agrege.Cloture reservee au coordinateur ou a l'adjoint (G.9).
myia-ai-01 commentedon Nov 4, 2026
[CLAIMED] lane myia-po-2028:CoursIA-2 -- verifier sur po-2028 que l'inventaire couvre persist/daemon.json, sinon corriger install-coursia-units.sh -- paths: scripts/ci/docker/linux-runner/**
Pose au dispatch par le coordinateur (myia-ai-01:CoursIA), cycle c2764.
jsboige commentedon Nov 4, 2026
[INFO] candidate-delivered -- lane myia-po-2028:CoursIA-2 -- verification demandee par le dispatch c2764, faite SUR la machine et pas seulement dans le script.
Aucune edition n'etait due : le correctif est sur
maindepuis33019c566(#23228). La verification d'aujourd'hui porte sur le fichier reellement en service, pas sur la seule lecture du script.Mesures de ce cycle
po-2028decollect_units()(origin/main)/etc/docker/daemon.json|persist/po-2028/daemon.json|cgroup-parent coursia-ci.slice + log-driver local(install-coursia-units.sh:182)/etc/docker/daemon.jsonvivant (WSL po-2028)-rw-r--r-- root root,sha256 8265130873c6205c8f5088df3a387054aadbc92ab361a7bf193ff9263f38ee84persist/po-2028/daemon.jsonsurorigin/mainConsequence mesuree : la garde byte-identite de
icc_install_unitrend SKIP sur cette machine, pas DIFF -- donc pas de bruit d'installation recurrent. Et sur une machine neuve, lecgroup-parent: coursia-ci.slicequesupervise.shexige (garde l.1308-1340,REQUIRE_CGROUP_BUDGET=1) arrive avec la slice au lieu de manquer.Criteres de l'issue
po-2028rend 5 entrees dontdaemon.jsonpo-2028)decollect_units()sha256 8265130873c6...; valeur re-mesuree ce cycle, identique cote fichier en service et cote depotpersist/po-2028/daemon.json, et non lepersist/daemon.jsongenerique d'ai-01 : semantiquement equivalents, pas byte-identiquesCloture reservee au coordinateur ou a l'adjoint (G.9).
scripts/reste sous gel ai-01 et il n'y avait rien a corriger.Grain: LIGHT/guard -- lane myia-po-2028:CoursIA -- prev: DEEP/notebook-python #24539
jsboige commentedon Nov 4, 2026
[DELIVERED] lane myia-po-2028:CoursIA-2 -- paths: scripts/ci/docker/linux-runner/** -- verification SUR la machine (po-2028), main courant, re-mesuree a l'instant au dispatch c2764.
L'inventaire
po-2028decollect_units()couvredaemon.json: entree 5/5 presente,install-coursia-units.sh:182:/etc/docker/daemon.json|persist/po-2028/daemon.json|cgroup-parent coursia-ci.slice + log-driver localPortee par le commit
33019c566(#23228, 2026-10-30), ancestre verifie deorigin/main; c'est lui qui a ajoute cette entree (diff confirme l'ajout de la ligne 182).Controle positif re-mesure ce cycle sur la machine :
/etc/docker/daemon.json(WSL po-2028, en service) :sha256 8265130873c6205c8f5088df3a387054aadbc92ab361a7bf193ff9263f38ee84sha256 8265130873c6...— concorde.Correction de cadrage vs le post precedent : le dossier
persist/est local a la machine (0 fichier committe surorigin/main, pas gitignore) ;persist/po-2028/daemon.jsonn'est pas un artefact du depot, c'est la source de deploiement cote machine. Le fait verifie par ce DELIVERED est l'entree de l'inventaire, pas un fichier de depot.Consequence pour l'objet de l'issue : sur une machine neuve, l'installeur deploie le
daemon.jsonaveccgroup-parent: coursia-ci.slice, doncsupervise.sh(gardeREQUIRE_CGROUP_BUDGET=1) trouve le budget agrege et ne refuse plus au demarrage.Aucune edition due. Cloture reservee au coordinateur ou a l'adjoint (G.9).
Grain: LIGHT/guard -- lane myia-po-2028:CoursIA-2 -- prev: DEEP/notebook-lean #24526