Files
wakurtosis/README.md
Alberto Soutullo ceab94f247 Nomos testing in master (#141)
* Changed gennet to generate simple nomos topology

* Added nomos node to build.sh

* Updated nomos yaml trait

* Added nomos variables to system_variables.star

* Prepared nomos_builder.star

* Modify gennet to work with nomos topology and traits

* Gennet currently doesn't support mixed topologies between waku and nomos nodes.

* Restructured config.json to add separated testing and simulation functionalities

* Added assertions.star file

* Modified wakurtosis to set up integration tests

* Updated kurtosis version in README.md
2023-07-30 13:42:18 +02:00

1.9 KiB

Wakurtosis

Starting version for Waku network simulations (https://github.com/waku-org/pm/issues/2)

More info about Kurtosis: https://docs.kurtosis.com/

How to use:

Before using this repository note that:

  • You are using Kurtosis version 0.70.2. This is important, as they are working on it and changes can be huge depending on different versions. You can find all Kurtosis versions here.
  • The topology files that will be used by default are defined in config/topology_generated/. This topology is created with the gennet module.
  • Kurtosis can set up services in a parallel manner, defined in the config.json file (see below).
  • Only kurtosis and docker are needed to run this.

How to run

From the root of the repo run:

./build.sh

./run.sh <measurement_infra> [enclave_name] [config_file]

There are 4 different measurements: cadvisor, dstats, host-proc, container-proc. The other parameters are optional.

By default, the enclave name is wakurtosis and the config file is in config/config.json.

JSON main configuration file options

These are arguments that can be modified:

  • prng_seed: int. Seed to reproduce results.

  • enclave_name: string. Default: wakurtosis. Defines the name of the Kurtosis enclave being created.

  • topology_path: string. Topology information that will be read.

  • jobs: int. Defines how many services will be instantiated at the same time.

  • interconnect_nodes: It allows to skip the interconnection phase of the topology.

  • interconnection_batch: int. If nodes are being connected by a given topology, this tells kurtosis how many connections will try to set up in the same node at a time. Used to avoid timeouts if a node has a lot of connections.

  • Gennet module configuration

  • WLS module configuration