diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-09-15 17:12:21 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-09-15 17:12:21 +0200 |
commit | 9652978433b3a327573ddbfc51c23070869e0c9c (patch) | |
tree | d7c65ca7faf67a7db11971354fa8e60414826b8f | |
parent | 62e4ed55a47f04546a195e3d514b060fe3ac23cb (diff) | |
download | mknet-9652978433b3a327573ddbfc51c23070869e0c9c.tar.gz mknet-9652978433b3a327573ddbfc51c23070869e0c9c.zip |
Improve README
-rw-r--r-- | README.md | 26 | ||||
-rw-r--r-- | scenarios/fragments/warp.py | 0 | ||||
-rwxr-xr-x | scenarios/garage-warp | 7 | ||||
-rw-r--r-- | topo/50ms.yml (renamed from topo/single-dc.yml) | 0 |
4 files changed, 30 insertions, 3 deletions
@@ -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 |