51 Commits

Author SHA1 Message Date
0xFugue
495fe8cd84 Gennet: added regular graph (#135)
* make regular graphs the default

* added regular graph

* network and degree distribution plots

* log network type

* handle n*d odd

* set fanout to 6

* title/ylable

* added --num-nodes --fanout to title

* remove prints in draw

* avg degree, float format

* config.json
2023-08-17 20:51:47 +05:30
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
Alberto Soutullo
d014ba2713 Cleaned files after cleaning git cache 2023-06-09 13:19:27 +02:00
Alberto Soutullo
0b9fa13612 Deleted bootstrap node from gennet.py 2023-06-09 12:20:04 +02:00
Alberto Soutullo
eee4dfda51 Manually added bootstrap toml in gennet 2023-05-24 12:32:06 +02:00
Alberto Soutullo
a3109f0c53 Added bootstrap information to node topology 2023-05-23 11:29:25 +02:00
Alberto Soutullo
1f6f5397d3 Merge branch 'master' into Alberto/analysis_multinode 2023-04-20 10:36:51 +02:00
0xFugue
c069923bd0 Data collection: docker stats and host-proc (#106)
* sysfs, docker stats, docker ps

* .gitignore

* updated file names

* cpu, mem, i/o

* .gitignore

* .gitignore

* added scheduler

* pruned mem/blk measurement

* cpu, mem, blk, net stats

* single node containers one

* renaming,bug fix,  signal handling

* code clean up; added all the necessary xlations to the logs

* cpustat, pid2docker

* remove temp. files

* tear_down, permission exception

* updating .gitignore

* param validation, sudo blk reads

* added output dir

* comments

* .gitignore & rename

* .gitignore & rename

* de-escalate privileges

* proc monitor

* container id to host end of  virtual interface

* complete code rewrite with minimal sudo section

* set default iface for non-docker wakus

* added signal handlers and clean shutdown

* added 3 different per-process network stats

* +VmData, +VmStk, handling of veth pairs, optimal cpu stats

* +VmHWM, net1=net3, net2

* +VmHWM, net1=net3, net2

* pre merge

* pre merge

* .gitignore

* adjusted paths & stats only nim/go waku

* monitor.sh

* adding docker wait, nim-waku:nwaku-trace2

* TTY bug

* copy config/metric dirs to logs

* cleanup.sh

* procfs monitor updates

* run.sh cleanup

* run.sh  metrics_infra cadvisor

* cleanup fix

* empty output dir

* host-proc

* added cadvisor conditionals

* enable WLS wait

* signal WLS once the measuring infra is up

* spin_up wls_cid

* remove print/exit

* renaming

* graceful signal exit, reduce logging freq

* stat only running waku instances

* comments, remove prints

* de-duplicate docker calls

* deduplicate docker calls in procfs.py

* multi nodes

* adding Jordi's signal'ng code and timing

* minimise the setup time

* split and move sudo ahead

* run.sh/procfs/docker stats named pipe synchornisation

* jack-up the max# open filehandles

* 100k file handles

* log timings, set resource limits

* complete rewrite of pid2did

* added start time + waku versions

* requirements.txt

* assert, stat collection duration

* main.sh -> dstats.sh
2023-04-20 00:16:02 +05:30
0xFugue
cf24c7f44e removed tomli, traits into dockerfile, build/run context update (#104)
* removed tomli, traits into dockerfile, build/run context update

* issue 98

* build_docker.sh, --traits-dir

* minor edits
2023-04-18 16:56:55 +02:00
0xFugue
3aa8eaac0f gennet requirements.txt
pruned  requirements.txt; cuts down the build time by a third
2023-04-18 16:56:55 +02:00
0xFugue
76c5a8bd5a Gennet: traits and complete configurability (#102)
* added intitial set of traits

* refactor

* renaming

* added checks for trait distributions

* .gitignore

* traits distribution type enforcement

* added support for all traits

* .gitignore

* .gitignore softlinks

* minor redacts

* updated traits to handle |G| >= num_nodes correctly

* traits dir

* updated the config.json

* now new traits need only tomls, no explicit declaration needed

* recoded the invert_dict_of_list

* unused vars

* generate_subnets comments

* PEP8 space colon

* dict_to_arrays, trait dir fix

* .gitigore

* updated config.json

* added node type check

* disabled nat=any
2023-04-18 16:56:55 +02:00
Alberto Soutullo
c5a0624ad5 Refactored analysis in several files 2023-04-18 16:37:36 +02:00
0xFugue
65f6c1aef0 removed tomli, traits into dockerfile, build/run context update (#104)
* removed tomli, traits into dockerfile, build/run context update

* issue 98

* build_docker.sh, --traits-dir

* minor edits
2023-04-06 11:49:00 +05:30
0xFugue
5d772ee59d gennet requirements.txt
pruned  requirements.txt; cuts down the build time by a third
2023-03-31 20:37:55 +05:30
0xFugue
04a4cc87ef Gennet: traits and complete configurability (#102)
* added intitial set of traits

* refactor

* renaming

* added checks for trait distributions

* .gitignore

* traits distribution type enforcement

* added support for all traits

* .gitignore

* .gitignore softlinks

* minor redacts

* updated traits to handle |G| >= num_nodes correctly

* traits dir

* updated the config.json

* now new traits need only tomls, no explicit declaration needed

* recoded the invert_dict_of_list

* unused vars

* generate_subnets comments

* PEP8 space colon

* dict_to_arrays, trait dir fix

* .gitigore

* updated config.json

* added node type check

* disabled nat=any
2023-03-31 17:47:07 +05:30
Alberto Soutullo
f933d7f623 Merge pull request #99 from logos-co/Alberto/gennet_nodeconfig
Added node configuration in gennet.py
2023-03-16 09:12:32 +01:00
guillaume.bouvignies
b9c60e2480 Small changes to be k8s compatible 2023-03-15 13:56:43 +01:00
Alberto Soutullo
11b817a4bd Added node configuration in gennet.py 2023-03-15 12:51:49 +01:00
0xFugue
4dc17497f3 nomos graph & minor fixes (#96)
* nomos node & minor fixes

* nomos node & minor fixes
2023-03-14 23:08:12 +05:30
Gusto Bacvinka
36751c87e4 Add multiple nomos nodes per container support 2023-02-26 19:16:30 +02:00
Gusto Bacvinka
cdd1f1fee5 Remove inaccurate comment 2023-02-25 15:04:59 +02:00
Gusto Bacvinka
f700030058 Simplify dockerfiles and mark files as executable 2023-02-25 14:48:17 +02:00
Gusto Bacvinka
c85aca9472 Gennet and WSL changes for nomos node 2023-02-25 14:45:39 +02:00
Alberto Soutullo
850de89c16 Fixed typo en config.json and changed gennet output to match what is expected in starlark 2023-02-22 16:47:40 +01:00
Alberto Soutullo
823c637e82 Not having a gennet config should not be considered an error. 2023-02-22 15:55:33 +01:00
0xFugue
bb56ab47ba multiple nodes per containers: done (#89) 2023-02-22 20:20:17 +05:30
0xFugue
400c76ac13 cleaned up build.sh, fixed gennet run.sh, updated gennet (#85)
* cleaned up build.sh and run.sh, updated gennet

* port-shift to port_shift
2023-02-16 17:07:12 +05:30
Alberto Soutullo
cce64e7d2c Added name of the node configuration file in gennet. 2023-02-12 18:48:38 +01:00
0xFugue
0310d81f25 0xfugue gennet go waku topic (#71)
* added quotes to go-waku topics

* added quotes to go-waku topics
2023-02-08 21:01:35 +05:30
0xFugue
ad0c7af086 Gennet updates (#65)
* read from config.json and correctly prioritisie between cli params and config.json

* comments

* set the seeds for random

* renaming testAndSet fns

* fixed bugs, added node distribution, added prng_random cli and tied it to config.json

* added execution time, peak memory measurements

* added two stage docker build; updated requirements.txt

* gennet benchmarking as a cli argument

* updatingReadme

* Readme & config.json

* Readme.md format fix

* benchmark added to config.json, revert to default merge, Readme

* ctx param update
2023-02-07 18:28:21 +05:30
Jordi Arranz
5bd8ace65e Reverted to default toml output 2023-01-26 12:16:56 +00:00
Jordi Arranz
bd193f6255 Activate Store in all the nodes pointing to node 0 2023-01-26 12:11:43 +00:00
Jordi Arranz
18774e1663 Use only nim-waku until go-waku issues are sorted out 2023-01-26 11:55:24 +00:00
Alberto Soutullo
ca372f1a3e Updated gennet readme 2023-01-22 19:46:23 +01:00
Alberto Soutullo
3e637d6f76 Refactored gennet so now it randomly select which binary will run each node. Also takes into consideration this when writing TOMLs 2023-01-22 19:45:48 +01:00
Alberto Soutullo
81a40e3b07 Added ad-hoc method for inserting an image for the node (between nwaku and gowaku) 2023-01-21 20:38:35 +01:00
Alberto Soutullo
eef3bc2f32 Deleted unnecessary file from repo 2023-01-21 20:33:20 +01:00
Alberto Soutullo
920cb94135 Added a check for gennet config file, so if when calling from kurtosis if the gennet configuration is missing, it does not create a topology 2023-01-21 20:32:43 +01:00
Alberto Soutullo
4b7e5d90ce Updated gennet documentation 2023-01-21 19:57:10 +01:00
Alberto Soutullo
6322d54b2a Removed unnecessary function and changed default output dit to be a variable. 2023-01-21 19:49:19 +01:00
Alberto Soutullo
f9d26c11df Changed sanity checks as callbacks 2023-01-21 19:34:56 +01:00
Alberto Soutullo
d91f524f98 Refactor Gennet cli so now is more elegant and easy to maintain. 2023-01-21 19:21:45 +01:00
Alberto Soutullo
5addeb00a8 Quick change to gennet so it takes arguments and file, prioritizing cli 2023-01-19 19:23:40 +01:00
Alberto Soutullo
9479746c73 Changed gennet code to match future changes 2023-01-18 15:05:05 +01:00
Alberto Soutullo
ed6f5317f4 Moved topology generation to a step before calling Kurtosis 2023-01-17 18:21:58 +01:00
Jordi Arranz
aba3234b98 Refactoring 2023-01-16 14:01:43 +00:00
Jordi Arranz
2d67428978 Added topology path to config 2023-01-16 12:39:32 +00:00
Jordi Arranz
a7968d3b7a Added Gennet YML config file 2023-01-16 11:55:00 +00:00
Jordi Arranz
8e21e32628 Added Gennet dockerfile 2023-01-16 11:54:28 +00:00
Jordi Arranz
206ad7e496 Switched to yml config instead of json 2023-01-16 11:49:14 +00:00