Adoption bed: a machine in use raised adopted, held, taken and converged (hq ADR 0100–0103) #51

Merged
jschoubben merged 6 commits from feat/adoption-mode into main 2026-09-22 19:02:12 +00:00
Showing only changes of commit d93dc2628f - Show all commits
+4 -2
View File
@@ -490,7 +490,9 @@ before(async () => {
catalogSource: forgeUrl("mesh-catalog"), catalogRef: "lab", catalogSource: forgeUrl("mesh-catalog"), catalogRef: "lab",
sdkSource: forgeUrl("mesh-sdk"), sdkRef: "lab", sdkSource: forgeUrl("mesh-sdk"), sdkRef: "lab",
site: "hosting", site: "hosting",
hostService: false, // The service, so a machine that reboots comes back holding itself (the bed reboots one).
// F0 asks for a dry run on a machine that must stay fresh, and passes false for itself.
hostService: true,
...(binary ? { hostBinary: binary } : {}), ...(binary ? { hostBinary: binary } : {}),
log: (m) => console.log(m), log: (m) => console.log(m),
...o, ...o,
@@ -508,7 +510,7 @@ before(async () => {
// container runtime and the host binary. A converged genesis there must not be refused. Asked // container runtime and the host binary. A converged genesis there must not be refused. Asked
// as a dry run: the question is the preflight's, and a real raise would make it a second mesh. // as a dry run: the question is the preflight's, and a real raise would make it a second mesh.
await step("F0", ["P0"], async () => { await step("F0", ["P0"], async () => {
const ran = await genesisOn(JOINER, { flags: ["--dry-run"], attempts: 1, verify: false }); const ran = await genesisOn(JOINER, { flags: ["--dry-run"], attempts: 1, verify: false, hostService: false });
assert.doesNotMatch(ran.said, /this machine is in use/, assert.doesNotMatch(ran.said, /this machine is in use/,
`a converged genesis refused a fresh machine as in use:\n${ran.said}`); `a converged genesis refused a fresh machine as in use:\n${ran.said}`);
assert.match(ran.said, /in use\s+no: no container runs and nothing listens beyond ssh/, assert.match(ran.said, /in use\s+no: no container runs and nothing listens beyond ssh/,