Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add simulation suite for M1 subnet #106

Open
l-monninger opened this issue Feb 9, 2024 · 2 comments · May be fixed by #108
Open

feat: add simulation suite for M1 subnet #106

l-monninger opened this issue Feb 9, 2024 · 2 comments · May be fixed by #108
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request testing Additions to tests

Comments

@l-monninger
Copy link
Collaborator

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.
@0xmovses
Copy link
Collaborator

0xmovses commented Feb 9, 2024

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 .

@l-monninger
Copy link
Collaborator Author

l-monninger commented Feb 9, 2024

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.

@0xmovses 0xmovses self-assigned this Feb 10, 2024
@0xmovses 0xmovses added documentation Improvements or additions to documentation enhancement New feature or request testing Additions to tests labels Feb 10, 2024
@0xmovses 0xmovses linked a pull request Feb 19, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request testing Additions to tests
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants