Commit Graph

2 Commits

Author SHA1 Message Date
mlsmaycon
7436a1cbf3 [management] Make the settings update transactional; harden the bootstrap e2e
The row lock from LockingStrengthUpdate only holds for the duration of
the surrounding transaction, so the settings read, the cluster
immutability check, and the save now share one via ExecuteInTransaction
— concurrent PUTs could otherwise interleave between them.
bootstrapSettingsIfNeeded takes the store to operate on so the
settings-PUT bootstrap participates in that transaction.

The bootstrap e2e now sets every toggle away from its default so each
assertion can fail, covers a post-bootstrap update without the cluster,
and verifies a rejected cluster change leaves the row untouched.
2026-08-03 15:35:22 +00:00
mlsmaycon
a98ffa50ed [management] Cover settings-first bootstrap in the agent-network e2e suite
The suite's shared account is bootstrapped by the first provider-creating
test, so the fresh-account contract — GET reads as the defaults with an
empty endpoint, a cluster-less PUT fails, a PUT carrying a cluster
bootstraps and pins it — had no end-to-end coverage. Boot a dedicated
combined server for that starting state; the image is cached by
TestMain's build, so the cost is one container start.
2026-08-02 11:35:10 +00:00