feat: NMv3: allow storing different test results - #7086
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
b50cc1e to
5667c20
Compare
Kind-tagged test types and per-kind orchestrator storage
Branch 5 of the NMv3 liveness stack, based on
feat/nmv3-announce-identity. Lands task groups 3 (shared request/response types) and 4 (orchestrator storage + migration03) ofnetwork-monitor-liveness-tests.No new behaviour is switched on: the orchestrator still only ever assigns mixnode stress tests, now over a schema and a set of wire types that can express the other kinds.
Shared types (group 3)
TestKind(stress/liveness) tags every assignment, run and submission stream.TestRunAssignmentbecomes kind-and-role tagged:MixnodeStress(one target),MixnodeLivenessandGatewayLiveness(a wave, homogeneous in role). "No work" stays an absent assignment; an empty wave is never emitted.time_taken, error) plus oneInterfaceMeasurementperExercisedInterfaceexercised (mix_forwarding/client_ingest/client_delivery), so a gateway's healthy ingest with a dead delivery stays distinguishable from a uniformly half-lossy node.LivenessTestBatchSubmissionmirroring the stress envelope, andStressTestBatchSubmissionResponsebecomes an alias of a sharedBatchSubmissionResponse.Orchestrator storage (group 4)
03:node_test_statekeyed(node_id, test_kind, tested_role)holds staleness, the last run and the address rotation pointer;testrun_measurementholds per-interface counts undertestrun;submission_watermarkreplaces the singlemetadatavalue;testrun_in_progressgainsexpires_at,test_kind,tested_role;nym_nodeloses its two test pointers and gainsclients_ws_port.expires_atinstead of a cutoff derived from one global timeout, so kinds with different lease budgets expire on their own schedules.This change is