diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 26 |
1 files changed, 23 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 |