docs: operator runbook for migrating to a different Lightning node (Phase 5) - #937
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedNext included review available in 17 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1019dc45a0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| `lnd_grpc_host`) to the new node. Leave `allow_node_change = false`. | ||
| 6. **Start `mostrod`.** The boot guard sees a new node pubkey with all | ||
| counters at zero, logs `Lightning node changed from … with no open | ||
| escrow; recorded` and stores the new pubkey. If it instead logs | ||
| `REFUSING TO START`, something is still bound to the old node: go back |
There was a problem hiding this comment.
Add the node guard before publishing this runbook
In this commit's tree, LightningSettings has no allow_node_change field and startup never compares or persists the Lightning node pubkey; a repo-wide search finds only the status-RPC placeholder. Consequently, if an operator switches nodes while any node-bound row remains, mostrod will start normally instead of producing the documented REFUSING TO START safeguard, potentially stranding that escrow. Land the Phase 4 implementation before marking the feature implemented and directing operators to rely on this guard.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Correct: this branch was cut from main before #936 landed, so its tree had no guard. #936 is merged now and the branch is rebased onto it (5483d91 on top of 639d571): LightningSettings.allow_node_change and the boot guard are in this PR's tree, and the runbook's REFUSING TO START path is real. Diff is unchanged (docs only).
…hase 5) - LIGHTNING_OPS.md: new section with when the procedure applies (same node/new host needs nothing), the drain counters, the step-by-step maintenance -> drain -> switch -> reopen procedure with grpcurl commands, rollback, the disaster-recovery path for a lost node, and the log lines to look for. - docs/README.md index pointers. - Spec status set to Implemented with the PR trail per phase; the CHANGELOG deliverable corrected (the repo's CHANGELOG.md is the release verification guide). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0148ZQvcc8LfrsTYx9VAiSxS
1019dc4 to
5483d91
Compare
Summary
Phase 5 of the maintenance-mode / Lightning node migration spec (#932): the operator runbook. Docs only.
docs/LIGHTNING_OPS.md— "Migrating to a Different Lightning Node": when the procedure applies (same LND on a new host needs none of it), whatGetMaintenanceStatuscounts, the eight-step procedure (announce →SetMaintenanceMode→ drain → stop/backup → edit[lightning]→ start and read the guard's verdict → reopen → decommission) withgrpcurlcommands, rollback, the disaster-recovery path when the old node is gone (explicitly manual:AdminCancel/AdminSettlecannot help), and the log lines to look for.docs/README.mdindex pointers.CHANGELOG.mdis the release verification guide, so the entry belongs in the release notes.Describes the boot guard and
allow_node_changefrom #936; merge after it.Test plan
mostrodrelease with the maintenance-mode entry in the release notes🤖 Generated with Claude Code
https://claude.ai/code/session_0148ZQvcc8LfrsTYx9VAiSxS