Skip to content

install-coursia-units (po-2028): l'inventaire omet daemon.json -- machine neuve refusee par supervise.sh #23298

Open

Description

@jsboige

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 pas persist/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.

Activity

  1. jsboige commented on Nov 1, 2026

    @jsboige
    OwnerAuthor

    [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

  2. jsboige commented on Nov 1, 2026

    @jsboige
    OwnerAuthor

    [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-2028 ou 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).

  3. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Nov 3, 2026
  4. myia-ai-01 commented on Nov 4, 2026

    @myia-ai-01
    Collaborator

    [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.

  5. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [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)
    /etc/docker/daemon.json vivant (WSL po-2028) 145 octets, -rw-r--r-- root root, sha256 8265130873c6205c8f5088df3a387054aadbc92ab361a7bf193ff9263f38ee84
    persist/po-2028/daemon.json sur origin/main meme sha256, octet pour octet

    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

  6. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [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() couvre daemon.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

  7. removed
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions