mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-21 22:51:09 +02:00
* Add Enos benchmark scenario * add docs on how to run the scenario * update description again * see if this works better if we return an empty map * hopefully disabling telemetry doesn't crash everything now * yet another try at making telemetry configurable * swap consul nodes over to be the same as the vault ones * adjust up IOPs and add a note about it to the docs * fix missing variables in the ec2 shim * randomly pick an az for k6 and metrics instances * enos(benchmark): futher modularize and make target infra cloud agnostic The initial goal of this was to resolve an issue where sometimes the one-or-more target instances would attempt to be provisioned in an avaliability zone that doesn't support it. The target_ec2_instances module already supports assigning based on instance offerings so I wanted to use it for all instances. It also has a side effect of provisioning instances in parallel to speed up overall scenario time. I ended up futher modularizing the `benchmark` module into several sub-modules that perform a single task well, and rely on provisioning in the root module. This will allow us to utilize the module in other clouds more easily should we desire to do that in the future. Signed-off-by: Ryan Cragun <me@ryan.ec> * add copywrite headers Signed-off-by: Ryan Cragun <me@ryan.ec> * address some feedback and limit disk iops to 16k by default Signed-off-by: Ryan Cragun <me@ryan.ec> --------- Signed-off-by: Ryan Cragun <me@ryan.ec> Co-authored-by: Ryan Cragun <me@ryan.ec>
Benchmark modules
These benchmark modules are designed to benchmark a Vault cluster using either raft storage or an external Consul cluster for storage. It supports creating an external telemetry collector using a combination of Prometheus and Grafana and supports collecting Vault, Consul, and node metrics.
When using this module in your scenario there are a few things to consider:
- There are currently assumptions that Ubuntu 22.04 is the target runner for the k6 runner instance.
- The Vault and Consul clusters are assumed to be three node clusters.