Improve README

This commit is contained in:
Quentin 2022-09-15 17:12:21 +02:00
parent 62e4ed55a4
commit 9652978433
Signed by: quentin
GPG key ID: E9602264D639FF68
4 changed files with 30 additions and 3 deletions

View file

@ -42,14 +42,34 @@ You can check that everything has been installed by running in a python REPL:
import garage_admin_sdk
```
## Run a test
## Topologies
(Not yet implemented)
All topologies:
- `./topo/with-vdsl.yml` - A topology mixing datacenters with fast internal connectivity and an isolated VDSL node
- `./topo/50ms.yml` - An artifical topology simulating nodes with high bandwidth but with a fixed 50ms latency, useful to quantify the impact of latency on a distributed software
- `./topo/multi-dc.yml` - Simulate 3 DC interconnected with 50ms latency WAN network and close to zero latency inside the DC
- `./topo/slow.yml` - Simulate 3 nodes interconnected with a low latency, very low bandwidth link. Useful to debug bandwidth bottlenecks
Feel free to write new topologies!
## Scenarios
All scenarions:
- `./scenarios/garage-s3lat` - Run s3lat on Garage
- `./scenarios/garage-warp [default|fast]` - Run warp on Garage. 2 flavors are available: fast and default.
How to run them:
```bash
./mknet scenario ./topo/single-dc.yml ./scenarios/garage-s3lat
./mknet scenario <topology> <scenario>
./mknet scenario ./topo/50ms.yml ./scenarios/garage-s3lat
```
How to write good scenarios:
- If a scenario can be run with multiple different parameters, write one scenario with multiple flavors
- If the logic ran is different, write a new scenario
- A scenario code must remain short and looks like a DSL, abstract the logic in the `fragments/` module
## Manual usage
```bash

View file

7
scenarios/garage-warp Executable file
View file

@ -0,0 +1,7 @@
#!/usr/bin/env python3
from fragments import garage, warp, shared
if shared.id() == 1:
pass