Skip to content
This repository was archived by the owner on Jan 5, 2026. It is now read-only.
This repository was archived by the owner on Jan 5, 2026. It is now read-only.

feat: add simulation suite for M1 subnet #106

Open

Description

@l-monninger

Summary

We'd like to use Avalanche Network Runner to simulate dynamic network conditions and asynchrony. Ideally, we would like to make this scriptable to cover different cases

User Journeys

  • Developer should be able to write a script that adds validators, removes validators, simulates latency, and simulates partitions.
  • Developer should be able to write script with minimal code.
  • Developer should be able to run script reliably; nix-shell, containers, or even simply setup scripts are all viable.
  • Eventually it would be nice to include this as a parameter in the CLI command movement ctl start m1 localnet.

Recommendations

  • Begin by re-examining the current e2e tests. It may be possible to use abstractions from those tests to manage something similar in Rust.
  • Calling the services as opposed to manipulating natively is totally fine.

Activity

  1. 0xmovses commented on Feb 9, 2024

    @0xmovses
    Contributor

    For simulating network partitions, would this be a valid scenario:

    • We have 5 nodes.
    • 2 out of 5 can no longer communicate to the whole network. So they are in a partitioned state.
    • The 2 partitioned nodes then reconnect to the whole network, at this point we should see degradation in consensus health, as observed in phase 1 .
  2. l-monninger commented on Feb 9, 2024

    @l-monninger
    ContributorAuthor

    So, yeah, that's one valid scenario we would like to simulate. In addition to just those network partitions, we also want to simulate cases where the validator set is changing (and partitions may or may not be occurring). These validator set changes tend to lead to those partitions or even just independently cause the unhealthiness.

  3. self-assigned this
    on Feb 10, 2024
  4. added
    documentationImprovements or additions to documentation
    enhancementNew feature or request
    testingAdditions to tests
    on Feb 10, 2024
  5. linked a pull request that will close this issuefeat: create network simulator #108on Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or requesttestingAdditions to tests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions