add config for prater testnet

Signed-off-by: Arthur Koziel <arthur@arthurkoziel.com>
This commit is contained in:
Arthur Koziel 2021-03-18 12:59:45 +08:00
parent c07aca5aa3
commit 662e456d06
No known key found for this signature in database
GPG Key ID: 55B0204F1259CA3A
7 changed files with 198 additions and 0 deletions

View File

@ -0,0 +1,4 @@
---
beacon_node_cont_tag: 'libp2p-large'
dist_validators_layout:
"libp2p-large-01.aws-eu-central-1a.nimbus.prater": { start: 37500, end: 40000 } # 2500

View File

@ -0,0 +1,9 @@
---
beacon_node_cont_tag: 'stable-large'
dist_validators_layout:
# 2500 validators per node
"stable-large-01.aws-eu-central-1a.nimbus.prater": { start: 0, end: 2500 }
"stable-large-02.aws-eu-central-1a.nimbus.prater": { start: 2500, end: 5000 }
"stable-large-03.aws-eu-central-1a.nimbus.prater": { start: 5000, end: 7500 }
"stable-large-04.aws-eu-central-1a.nimbus.prater": { start: 7500, end: 10000 }
"stable-large-05.aws-eu-central-1a.nimbus.prater": { start: 10000, end: 12500 }

View File

@ -0,0 +1,9 @@
---
beacon_node_cont_tag: 'testing-large'
dist_validators_layout:
# 2500 validators per node
"testing-large-01.aws-eu-central-1a.nimbus.prater": { start: 12500, end: 15000 }
"testing-large-02.aws-eu-central-1a.nimbus.prater": { start: 15000, end: 17500 }
"testing-large-03.aws-eu-central-1a.nimbus.prater": { start: 17500, end: 20000 }
"testing-large-04.aws-eu-central-1a.nimbus.prater": { start: 20000, end: 22500 }
"testing-large-05.aws-eu-central-1a.nimbus.prater": { start: 22500, end: 25000 }

View File

@ -0,0 +1,9 @@
---
beacon_node_cont_tag: 'unstable-large'
dist_validators_layout:
# 2500 validators per node
"unstable-large-01.aws-eu-central-1a.nimbus.prater": { start: 25000, end: 27500 }
"unstable-large-02.aws-eu-central-1a.nimbus.prater": { start: 27500, end: 30000 }
"unstable-large-03.aws-eu-central-1a.nimbus.prater": { start: 30000, end: 32500 }
"unstable-large-04.aws-eu-central-1a.nimbus.prater": { start: 32500, end: 35000 }
"unstable-large-05.aws-eu-central-1a.nimbus.prater": { start: 35000, end: 37500 }

View File

@ -0,0 +1,8 @@
---
beacon_node_network: 'prater'
# We are running v2 on all hosts prior to the official release in order
# to reduce the I/O load on all servers. On the large servers where we
# have enough capacity, we're running the `both` mode that checks that
# the new slashing DB logic behaves precisely as the old one.
beacon_node_slashing_db_kind: '{{ (hostname is search("large")) | ternary("both", "v2") }}'

39
ansible/prater.yml Normal file
View File

@ -0,0 +1,39 @@
---
- name: Pre-playbook checks
hosts: localhost
tasks:
- name: 'Verify Ansible version is 2.8 or newer'
assert:
that: 'ansible_version.full is version_compare("2.8", ">=")'
msg: 'Your Ansible version is lower than 2.8. Upgrade it.'
- name: Configure build nodes
become: true
hosts:
- testing-large-01.aws-eu-central-1a.nimbus.pyrmont
roles:
- { role: beacon-node-builds, tags: beacon-node-builds }
- name: Configure network prater
become: true
# To avoid clashing/duplicate validators.
any_errors_fatal: true
hosts:
- nimbus-prater-stable
- nimbus-prater-testing
- nimbus-prater-unstable
- nimbus-prater-libp2p
pre_tasks:
- name: Discover Goerli Geth WebSocket endpoint
tags: [ infra-role-beacon-node, beacon-node ]
uri:
url: '{{ consul_catalog_url }}/service/geth-goerli-ws'
register: geth_service
- name: Extract Goerli Geth WebSocket URL
tags: [ infra-role-beacon-node, beacon-node ]
set_fact:
beacon_node_web3_url: 'ws://{{ geth_service.json[0].ServiceAddress }}:{{ geth_service.json[0].ServicePort }}'
roles:
- { role: distribute-validators, tags: [ distribute-validators ] }
- { role: infra-role-beacon-node, tags: [ infra-role-beacon-node, beacon-node ] }

120
prater.tf Normal file
View File

@ -0,0 +1,120 @@
locals {
/* Volumes */
prater_root_vol_size = 20
prater_data_vol_size = 50
prater_data_vol_type = "io1"
prater_data_vol_iops = 2500
/* Instances */
prater_large_instance_type = "z1d.large"
}
module "nimbus_nodes_prater_stable_large" {
source = "github.com/status-im/infra-tf-amazon-web-services"
name = "stable-large"
env = "nimbus"
stage = "prater"
group = "nimbus-prater-stable"
domain = var.domain
/* Scaling */
instance_type = local.prater_large_instance_type
root_vol_size = local.prater_root_vol_size
data_vol_size = local.prater_data_vol_size
data_vol_type = local.prater_data_vol_type
data_vol_iops = local.prater_data_vol_iops
host_count = 5
/* Firewall */
open_udp_ports = local.nimbus_ports
open_tcp_ports = local.nimbus_ports
/* Plumbing */
vpc_id = module.nimbus_network.vpc.id
subnet_id = module.nimbus_network.subnets[0].id
secgroup_id = module.nimbus_network.secgroup.id
keypair_name = aws_key_pair.jakubgs.key_name
}
module "nimbus_nodes_prater_testing_large" {
source = "github.com/status-im/infra-tf-amazon-web-services"
name = "testing-large"
env = "nimbus"
stage = "prater"
group = "nimbus-prater-testing"
domain = var.domain
/* Scaling */
instance_type = local.prater_large_instance_type
root_vol_size = local.prater_root_vol_size
data_vol_size = local.prater_data_vol_size
data_vol_type = local.prater_data_vol_type
data_vol_iops = local.prater_data_vol_iops
host_count = 5
/* Firewall */
open_udp_ports = local.nimbus_ports
open_tcp_ports = local.nimbus_ports
/* Plumbing */
vpc_id = module.nimbus_network.vpc.id
subnet_id = module.nimbus_network.subnets[0].id
secgroup_id = module.nimbus_network.secgroup.id
keypair_name = aws_key_pair.jakubgs.key_name
}
module "nimbus_nodes_prater_unstable_large" {
source = "github.com/status-im/infra-tf-amazon-web-services"
name = "unstable-large"
env = "nimbus"
stage = "prater"
group = "nimbus-prater-unstable"
domain = var.domain
/* Scaling */
instance_type = local.prater_large_instance_type
root_vol_size = local.prater_root_vol_size
data_vol_size = local.prater_data_vol_size
data_vol_type = local.prater_data_vol_type
data_vol_iops = local.prater_data_vol_iops
host_count = 5
/* Firewall */
open_udp_ports = local.nimbus_ports
open_tcp_ports = local.nimbus_ports
/* Plumbing */
vpc_id = module.nimbus_network.vpc.id
subnet_id = module.nimbus_network.subnets[0].id
secgroup_id = module.nimbus_network.secgroup.id
keypair_name = aws_key_pair.jakubgs.key_name
}
module "nimbus_nodes_prater_libp2p_large" {
source = "github.com/status-im/infra-tf-amazon-web-services"
name = "libp2p-large"
env = "nimbus"
stage = "prater"
group = "nimbus-prater-libp2p"
domain = var.domain
/* Scaling */
instance_type = local.prater_large_instance_type
root_vol_size = local.prater_root_vol_size
data_vol_size = local.prater_data_vol_size
data_vol_type = local.prater_data_vol_type
host_count = 1
/* Firewall */
open_udp_ports = local.nimbus_ports
open_tcp_ports = local.nimbus_ports
/* Plumbing */
vpc_id = module.nimbus_network.vpc.id
subnet_id = module.nimbus_network.subnets[0].id
secgroup_id = module.nimbus_network.secgroup.id
keypair_name = aws_key_pair.jakubgs.key_name
}