What
A tool to rehearse a coordinated upgrade on a multi-validator cluster, locally and in CI: start N validators on version A, create the halt proposal naming version B, let it execute, check every node stops at the height, that an early start of B is refused, that A refuses to restart after the halt, and that the cluster produces blocks on B. Same tool, local and CI.
Why
RELEASING.md rehearses every release on the testnet as a release candidate; that catches real-state problems but takes a network and hours. The mechanics of the halt and the restart gate should be checked on every release candidate in minutes, before the testnet. The txtar multi-validator harness from #6135 is a starting point.
Context: #6228, design note (https://gist.github.com/aeddi/42ded1416efb1029f1f48a05431708cb).
What
A tool to rehearse a coordinated upgrade on a multi-validator cluster, locally and in CI: start N validators on version A, create the halt proposal naming version B, let it execute, check every node stops at the height, that an early start of B is refused, that A refuses to restart after the halt, and that the cluster produces blocks on B. Same tool, local and CI.
Why
RELEASING.mdrehearses every release on the testnet as a release candidate; that catches real-state problems but takes a network and hours. The mechanics of the halt and the restart gate should be checked on every release candidate in minutes, before the testnet. The txtar multi-validator harness from #6135 is a starting point.Context: #6228, design note (https://gist.github.com/aeddi/42ded1416efb1029f1f48a05431708cb).