[Feat]: admin-server and protocol-test support#24
Merged
Conversation
…t, RAII lifecycle
- CallbackNode: move resp declaration before lambda so delete works - CallbackShard: same restructure for resp lifetime - CallbackTrace: delete resp on Call() failure path
…d payload assertion
…t tests - Rename tests/cluster_integration/ to tests/protocol_test/ - Update comments in conftest.py to reflect new naming - Add missing DS gflag injection: cm_hb_tolerance_count, cm_connect_retry_interval_sec in process_manager.py and cluster.py - Add 65 unit tests for framework modules: test_config (25), test_port_allocator (8), test_log_parser (10), test_admin_client (9), test_scenario_runner (13)
…ication Log-parsing tests were fragile (depend on log keywords that change often). The same protocol behavior is already verified via admin UDS queries (node list, shard list, DS status). Also clean up unused LogParser references from cluster_observer and cluster.
vincent-scitix
requested review from
ChillyAokiji,
Sebastian-Keith and
yuki-brook
as code owners
April 7, 2026 01:58
# Conflicts: # tools/simm_ctl_admin.cc
… a call' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
…mplicit (fall through) returns' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
… a call' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
- Define kCmAdminUdsBasePath / kDsAdminUdsBasePath in admin_msg_types.h, replace hardcoded "/run/simm/admin_cm" and "/run/simm/admin_ds" in cm_main.cc, kv_server_main.cc, and simm_ctl_admin.cc - simmctl: remove duplicated AdminMsgType enum, use shared header - Add test_insufficient_nodes_keeps_deferred_state for deferred reshard - Fix conftest cluster_medium parameter name (grace_period_sec -> cm_cluster_init_grace_period_inSecs), add UT coverage - Fix unused variables in test_deferred_reshard.py, test_cm_restart.py - Add debug logging to silent exception handlers in ssh_executor.py and cluster_observer.py - Remove unused imports across framework and test files - Update admin_tool.md with UDS mode (--pid/--proc), cm/ds status, node summary/stat, trace subcommands
# Conflicts: # tests/protocol_test/conftest.py # tests/protocol_test/framework/ssh_executor.py # tests/protocol_test/tests/test_deferred_reshard.py
Sebastian-Keith
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Admin server
AdminServer is a UDS (Unix Domain Socket) based admin interface embedded in SiMM components. It provides a local channel for querying and configuring process-internal state — gflags, trace, node/shard routing, heartbeat status, and more — without going through the RDMA-based SiCL RPC stack.
Protocol test
A pytest-based end-to-end distributed protocol test framework for SiMM's cluster management protocols (node join/leave, heartbeat, shard rebalancing, deferred reshard). Tests run against real CM and DS binaries — no mocking. Fault injection via process signals, state observation via admin UDS queries (simmctl).