Bootstrap devtool to pre-generate test network experiments data
Context
As part of the effort to run experiments on a testnet, we will write a set of scripts that will help with the generation of data needed to bootstrap and stress-test a network. These will be written using Tezt, to facilitate a future integration with Octogram.
So far the following tasks have been identified that can be run to setup an experiment:
- Generating the baker keys that will be used in the testnet (!9742 (merged))
- Generate the network configuration for nodes that will be used in the testnet (!9743 (merged))
- Generate the network activation parameters (!9747 (merged))
Generate the list of manager operations that will be injected in the network when running an experiment- Partition the list of bakers by pods/nodes, this can also be used in conjunction with
./octez-stresstestcommand (!9758 (merged))
The following script will make use of the outputs from the three scripts above to run the stresstest on several nodes:
- Run stresstest (TBP)
Further information can be found in this (WIP) document: https://hackmd.io/lwfQN9JoQWqcYRKqn8gVsw
This MR defines the skeleton of the Tezt application that will be used to run the scripts mentioned above. All scripts are left unimplemented and will be implemented in a future MR.
Manually testing the MR
make
dune exec devtools/testnet_experiment_tools/testnet_experiment_tools.exe -- generate_baker_accounts
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Gabriel Moise