feat(controller-status): ctrlstatus client command (task 4.1)

This commit is contained in:
Rongsong Shen 2026-06-20 05:40:15 +00:00
parent 03813bf560
commit 9e87d2c92e
2 changed files with 123 additions and 1 deletions

View file

@ -43,7 +43,7 @@
- _Depends: 3.1_
- [ ] 4. Test client command + wait-primary integration
- [ ] 4.1 Add the `ctrlstatus` client command
- [x] 4.1 Add the `ctrlstatus` client command
- Add a client command that issues the any-node status call and prints the fields in human-readable form: the current primary, the answering node framed as "answered by <node> (<role>)" distinct from the primary, the configured controllers and count, the loaded config version and committed config version, the content checksum as hex, term, commit/apply positions, fenced state, and cluster name; render an empty primary as "unknown". The command exit status reflects success or failure of the query.
- Observable: piping `ctrlstatus` through the client prints the status fields (with "answered by" and "unknown" rendering) and exits zero on success / non-zero with the error printed on failure.
- _Requirements: 1.3, 3.3, 5.1, 5.2, 8.1, 8.2, 8.3_