devnet-9: 1000-node mainnet-distribution stress test - #68
Open
barnabasbusa wants to merge 1 commit into
Open
Conversation
Terraform: 1000 CL/EL pairs weighted by approximate mainnet client share (lighthouse 43/prysm 31/teku 14/nimbus 8/lodestar 3/grandine 1; geth 41/nethermind 30/reth 14/besu 8/erigon 4/ethrex 2/nimbusel 1), 1000 validators per node over [0,1000000), 4 bootnodes + 4 buildoors. Ansible: inventory copied from devnet-8 (devnet-8 client images kept), 1M active + 3M exited-spray validators shuffled into a 4M-entry genesis registry, EIP-8282 contracts in genesis, config distributed as a pulled tarball since genesis.ssz lands at ~560MB.
SummaryConfig-only PR that copies the devnet-8 structure to a 1000-node / 1M-validator mainnet-scale stress test: node matrix and validator ranges verified exactly contiguous over [0,1M) with the claimed CL/EL distribution, genesis pinned with Gloas at epoch 16, 3M exited validators sprayed via egg 6.2.0's ADDITIONAL_VALIDATOR_MNEMONICS + SHUFFLE_VALIDATORS (all confirmed supported by the pinned egg version), and config distribution switched from controller rsync to a CDN tarball because genesis.ssz grows to ~560MB. No blockers found; two concerns worth a look before launch. Issues
Reviewed @ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Devnet-9 stress-tests the devnet-8 setup at mainnet scale: 1000 nodes split by approximate mainnet client distribution, 1M active validators (1000/node), and 3M exited validators sprayed into genesis for a 4M-entry registry.
Terraform (
terraform/devnet-9)Copy of devnet-8's structure (network
glamsterdam-devnet-9, own state key, CIDR10.29.0.0/16) with a rewritten node matrix:Largest-remainder rounding so rows and columns hit targets exactly; contiguous validator ranges in file order over [0,1000000), verified gap-free. Plus 4 bootnodes and the same 4 buildoor combos as devnet-8 (builder indices 0-3). CL weights from ethereum.org's client-diversity snapshot, EL from ethernodes-style node counts, with small ethrex/nimbusel slices for coverage.
Ansible (
ansible/inventories/devnet-9)Copied from devnet-8 minus
files/andinventory.ini(terraform generates it). Key changes:NUMBER_OF_VALIDATORS=1000000; exited-spray of 3M validators (status 2, BLS creds, inert) at mnemonic indices 1.1M+, block-shuffled into the active set viaSHUFFLE_VALIDATORS(mapping lands inmetadata/validator_names.yaml)eth_testnet_config_tarball_*pull instead of controller push — genesis.ssz lands at ~560MB, so rsync x1000 hosts is a non-starterBefore launch
all.yaml)bootnode.sops.yaml(copied from devnet-8)