Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2722 — Hub aktivuje novou verzi pod svým správcem služeb, zkontroluje její zdraví a sám se vrátí zpět

Zařídit, aby se hub, který nainstaloval novější release, restartoval na něj přes svou uživatelskou jednotku systemd nebo agenta launchd, když není připojena žádná relace nebo po omezené odkladné lhůtě, prošel kontrolou připravenosti a mesh verify a jinak přejmenoval launcher zpět, dál servíroval předchozí verzi a vložil na nástěnku záznam rollout failed.

BLOKOVÁNO vlna 1 · p0 · profil implementation · běží samostatně

Součást safe-self-update — Každý uzel mesh sleduje publikovaný release sám, verze se potkávají bezpečně a původ release lze ověřit.

Blokováno. Tento úkol nemůže začít, dokud není I2720 hotovo. Stav je z toho odvozen, ne deklarován.

Cíl

Zařídit, aby se hub, který nainstaloval novější release, restartoval na něj přes svou uživatelskou jednotku systemd nebo agenta launchd, když není připojena žádná relace nebo po omezené odkladné lhůtě, prošel kontrolou připravenosti a mesh verify a jinak přejmenoval launcher zpět, dál servíroval předchozí verzi a vložil na nástěnku záznam rollout failed.

Proč

ADR 0161. Huby běží bez dozoru (docs/MESH.md, Huby jako služby); agent launchd je na operátorovi k instalaci a instalátor, který zapíše kteroukoli unit, je dlužen jako typovaná schopnost (ADR 0059).

Aktuální stav

Aktualizace hubu je ruční fetch, build a restart služby; hub na macOS se spouští ručně.

Cílový stav

Typovaná schopnost zapíše systemd user unit nebo launchd agenta hubu z deklarace meshe; poté, co self update nainstaluje novější verzi, se hub podle výše uvedených pravidel restartuje do ní; předchozí verzovaný strom se uchová, dokud neprojde kontrola zdraví; neúspěšná verze se na tomto uzlu nezkouší znovu, dokud není zveřejněna novější.

Rozsah

  • apps/majordomus-cli/src/mesh
  • apps/majordomus-cli/src/capability/builtin
  • apps/majordomus-cli/src/lease.rs
  • share/install
  • docs/MESH.md
  • test/cases

Mimo rozsah

  • Předání serverů checkoutů, které nesou I2163 a I2127

Závislosti

Co na tom čeká

Kritéria přijetí

  • Hub s novější nainstalovanou verzí nakonec začne sloužit tu, bez ztráty relace připojené před odkladem
  • Verze, jejíž připravenost nebo mesh verify selže, se v rámci odkladu vrátí zpět a nástěnka jmenuje uzel, verzi a selhavší kontrolu
  • Jednotku služby hubu zapisuje schopnost, ne ruka

Validace

  • bin/majordomus plan validate
  • MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>

Požadované důkazy

  • hub_activates_new_version_test
  • hub_rolls_back_failed_version_test

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I2722.yaml. Přečtěte ho zpět pomocí majordomus plan show I2722.

Prohledává názvy a popisy všech stránek, které tento web publikuje.