ADR 0122: the predecessor is ending, and its broker goes with it
ADR 0119 rejected giving the old broker a retirement condition and said why: "its clients are not only the predecessor's, so the retirement condition describes a day that will not come". The operator has said that day is coming — the predecessor is deprecated, some of it still running, none of it being migrated, left to stop rather than moved. Recorded because three documents reason from the premise it overturns. Design 25 §5's "no day anything is waiting for", §9's "the predecessor's clients never notice", and design 28's closing note that the predecessor's world does not need to move. **And it needs no new machinery, which is 0119 being paid off rather than revised.** Because that record made the broker an ordinary provider rather than a compatibility module, ending it is unassigning a provider whose provision nothing requires — something the module system has done since it existed. So step 5.3 finishes instead of trailing off, and the transitional double announcement of a build outcome has a date. The consequence worth planning around: the predecessor's own mesh talks over that broker, so shutting it down ends the tooling that reaches this installation's machines from a workstation. The rollout is driven from the node, or driven before the broker stops. That is a sequencing constraint on 5.2, not an afterthought. What survives is `amqp` as a provision: a module that genuinely needs an AMQP broker can still be given one. What retires is this broker's role as the predecessor's.
This commit is contained in:
@@ -15,6 +15,7 @@ decisions:
|
||||
- 02-DECISIONS/0079-the-foundation-seats-are-named-after-their-servers.md
|
||||
- 02-DECISIONS/0100-a-node-in-use-is-adopted-before-it-is-converged.md
|
||||
- 02-DECISIONS/0039-what-the-sdk-holds-and-refuses.md
|
||||
- 02-DECISIONS/0122-the-predecessor-is-ending-and-its-broker-goes-with-it.md
|
||||
---
|
||||
|
||||
# 28. Building the bus
|
||||
@@ -657,8 +658,20 @@ reserves them for after the move, and a flow built ahead of its design would be
|
||||
> *change* anything — pushes, tool calls, new provisioning — until it is finished or undone. That
|
||||
> is worth knowing before rather than after, and it is why the operator's "as long as my services
|
||||
> keep running" is a reasonable position rather than a gamble.
|
||||
- [ ] 5.3 the mesh's own accounts removed from the deprecated broker: after the rollout nothing
|
||||
of the mesh speaks to it, and an account nothing uses is one nobody rotates
|
||||
- [ ] 5.3 the mesh's own accounts removed from the deprecated broker, and then the broker itself:
|
||||
after the rollout nothing of the mesh speaks to it, and an account nothing uses is one nobody
|
||||
rotates. **It finishes now** ([ADR 0122](../../02-DECISIONS/0122-the-predecessor-is-ending-and-its-broker-goes-with-it.md)):
|
||||
the predecessor is deprecated rather than kept, so once its remnants have stopped the module is
|
||||
unassigned and the port is free. No retirement machinery — a provision with no consumers has its
|
||||
provider unassigned, which is ADR 0119 being paid off rather than revised.
|
||||
|
||||
Retiring with it: the build outcome's second announcement under the module's own name, which
|
||||
exists only so a catalogue deployed before the rename and one deployed after both hear it.
|
||||
|
||||
> **The remote tooling goes with it too.** The predecessor's own mesh talks over that broker, so
|
||||
> shutting it down ends the path that reaches this installation's machines from a workstation.
|
||||
> The rollout has to be driven from the node, or driven before the broker stops — which is a
|
||||
> sequencing constraint on 5.2 and not an afterthought.
|
||||
|
||||
> **5.4 is gone, and was wrong from ADR 0119 onward.** It read "the deprecated broker retires
|
||||
> when its condition holds — no client connected for the period the operator sets", which is
|
||||
@@ -685,8 +698,10 @@ itself moves once, at the end, on one day.
|
||||
- **Observation** — research 017's, after the move, by its own design.
|
||||
- **Leaf nodes** — design 25 §11 keeps this out of scope and says so; a leaf per machine is a later
|
||||
question, noted so it is not forgotten.
|
||||
- **The predecessor's world.** It is AMQP, it cannot move, and it does not need to: its broker is
|
||||
the compatibility module until its last client is gone.
|
||||
- **The predecessor's world.** It is AMQP and it is not moving —
|
||||
[ADR 0122](../../02-DECISIONS/0122-the-predecessor-is-ending-and-its-broker-goes-with-it.md): it is
|
||||
deprecated, some of it is still running, and it is being left to stop rather than migrated. Its
|
||||
broker goes with it, unassigned like any provider whose provision nothing requires.
|
||||
|
||||
## How this list is kept true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user