aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-09-15 17:12:21 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-09-15 17:12:21 +0200
commit9652978433b3a327573ddbfc51c23070869e0c9c (patch)
treed7c65ca7faf67a7db11971354fa8e60414826b8f
parent62e4ed55a47f04546a195e3d514b060fe3ac23cb (diff)
downloadmknet-9652978433b3a327573ddbfc51c23070869e0c9c.tar.gz
mknet-9652978433b3a327573ddbfc51c23070869e0c9c.zip
Improve README
-rw-r--r--README.md26
-rw-r--r--scenarios/fragments/warp.py0
-rwxr-xr-xscenarios/garage-warp7
-rw-r--r--topo/50ms.yml (renamed from topo/single-dc.yml)0
4 files changed, 30 insertions, 3 deletions
diff --git a/README.md b/README.md
index 8b23bce..2259901 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/scenarios/fragments/warp.py b/scenarios/fragments/warp.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scenarios/fragments/warp.py
diff --git a/scenarios/garage-warp b/scenarios/garage-warp
new file mode 100755
index 0000000..e8d466a
--- /dev/null
+++ b/scenarios/garage-warp
@@ -0,0 +1,7 @@
+#!/usr/bin/env python3
+from fragments import garage, warp, shared
+
+if shared.id() == 1:
+ pass
+
+
diff --git a/topo/single-dc.yml b/topo/50ms.yml
index 39427aa..39427aa 100644
--- a/topo/single-dc.yml
+++ b/topo/50ms.yml