From bcc297b79650d74b4a4f45d0c658fc16559df18c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Mon, 25 Oct 2021 12:58:59 +0200 Subject: [PATCH] prater: move libp2p nodes from AWS to Hetzner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It will lower costs of Prater fleet. I've discussed this with Tanguy and he's fine with it. I'm also addin two nodes without validators. Signed-off-by: Jakub SokoĊ‚owski --- ansible/group_vars/nimbus.prater.yml | 23 ++++-------- ansible/inventory/test | 12 ------- ansible/prater.yml | 2 -- ansible/requirements.yml | 2 +- outputs.tf | 2 -- prater.tf | 54 ---------------------------- 6 files changed, 8 insertions(+), 87 deletions(-) diff --git a/ansible/group_vars/nimbus.prater.yml b/ansible/group_vars/nimbus.prater.yml index 4db2638..c7dc900 100644 --- a/ansible/group_vars/nimbus.prater.yml +++ b/ansible/group_vars/nimbus.prater.yml @@ -1,11 +1,10 @@ --- beacon_node_network: 'prater' -beacon_node_repo_branch: '{{ node.branch }}' +# TODO This is to avoid too long service names. +beacon_node_repo_branch: '{{ (node.branch == "libp2p") | ternary("nim-libp2p-auto-bump-unstable", node.branch) }}' # TODO Drop this once all nodes have an number. service_number: '{{ node.get("num", False) | ternary(("-%02d"|format(node.get("num", 0))), "") }}' -# TODO Libp2p branch names are far too long. -branch_short: '{{ node.branch_short is defined | ternary(node.branch_short, node.branch) }}' -beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-{{ branch_short }}{{ service_number }}' +beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-{{ node.branch }}{{ service_number }}' # Ports beacon_node_discovery_port: '{{ 9000 + port_offset }}' beacon_node_listening_port: '{{ 9000 + port_offset }}' @@ -29,19 +28,15 @@ beacon_node_service_user_pass: '{{lookup("bitwarden", "nimbus/windows", field="p # Split by hostname for more central location nodes_layout: - # 2500 validators per node 'stable-large-01.aws-eu-central-1a.nimbus.prater': - { branch: 'stable', start: 0, end: 2500 } - # 2500 validators per node 'testing-large-01.aws-eu-central-1a.nimbus.prater': - { branch: 'testing', start: 12500, end: 15000 } - # 2500 validators per node 'unstable-large-01.aws-eu-central-1a.nimbus.prater': - { branch: 'unstable', start: 25000, end: 27500 } - # 2500 validators per first node 'metal-01.he-eu-hel1.nimbus.prater': - { branch: 'stable', num: 1, start: 10000, end: 12500, build_freq: '*-*-* 12:00:00' } - { branch: 'stable', num: 2, build_freq: '*-*-* 13:00:00' } @@ -49,8 +44,9 @@ nodes_layout: - { branch: 'testing', num: 2, build_freq: '*-*-* 15:00:00' } - { branch: 'unstable', num: 1, start: 35000, end: 37500, build_freq: '*-*-* 16:00:00', open_libp2p_ports: false } - { branch: 'unstable', num: 2, build_freq: '*-*-* 17:00:00' } # Public Beacon API + - { branch: 'libp2p', num: 1, start: 38750, end: 40000, build_freq: '*-*-* 18:00:00' } # 1250 validators + - { branch: 'libp2p', num: 2, build_freq: '*-*-* 19:00:00' } - # 2500 validators per first node 'metal-02.he-eu-hel1.nimbus.prater': - { branch: 'stable', num: 1, start: 5000, end: 7500, build_freq: '*-*-* 12:00:00' } - { branch: 'stable', num: 2, build_freq: '*-*-* 13:00:00' } @@ -58,8 +54,9 @@ nodes_layout: - { branch: 'testing', num: 2, build_freq: '*-*-* 15:00:00' } # Public Beacon API - { branch: 'unstable', num: 1, start: 30000, end: 32500, build_freq: '*-*-* 16:00:00' } - { branch: 'unstable', num: 2, build_freq: '*-*-* 17:00:00' } + - { branch: 'libp2p', num: 1, start: 37500, end: 38750, build_freq: '*-*-* 18:00:00' } # 1250 validators + - { branch: 'libp2p', num: 2, build_freq: '*-*-* 19:00:00' } - # 2500 validators per node 'windows-01.gc-us-central1-a.nimbus.prater': - { branch: 'stable', start: 7500, end: 10000, build_start: '13:00:00' } - { branch: 'testing', start: 32500, end: 35000, build_start: '15:00:00' } @@ -69,9 +66,3 @@ nodes_layout: - { branch: 'stable', start: 2500, end: 5000, build_start: '13:00:00' } - { branch: 'testing', start: 15000, end: 17500, build_start: '15:00:00' } - { branch: 'unstable', start: 27500, end: 30000, build_start: '16:00:00' } - - # 1250 validators per node - 'u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater': - - { branch: 'nim-libp2p-auto-bump', start: 37500, end: 38750, branch_short: 'libp2p-stable' } - 'u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater': - - { branch: 'nim-libp2p-auto-bump-unstable', start: 38750, end: 40000, branch_short: 'libp2p-unstable' } diff --git a/ansible/inventory/test b/ansible/inventory/test index b515a22..13b804a 100644 --- a/ansible/inventory/test +++ b/ansible/inventory/test @@ -25,8 +25,6 @@ stable-large-01.aws-eu-central-1a.nimbus.prater hostname=stable-large-01.aws-eu- stable-small-01.aws-eu-central-1a.nimbus.mainnet hostname=stable-small-01.aws-eu-central-1a.nimbus.mainnet ansible_host=3.120.104.18 env=nimbus stage=mainnet data_center=aws-eu-central-1a region=eu-central-1a dns_entry=stable-small-01.aws-eu-central-1a.nimbus.mainnet.statusim.net stable-small-02.aws-eu-central-1a.nimbus.mainnet hostname=stable-small-02.aws-eu-central-1a.nimbus.mainnet ansible_host=3.64.117.223 env=nimbus stage=mainnet data_center=aws-eu-central-1a region=eu-central-1a dns_entry=stable-small-02.aws-eu-central-1a.nimbus.mainnet.statusim.net testing-large-01.aws-eu-central-1a.nimbus.prater hostname=testing-large-01.aws-eu-central-1a.nimbus.prater ansible_host=3.65.99.236 env=nimbus stage=prater data_center=aws-eu-central-1a region=eu-central-1a dns_entry=testing-large-01.aws-eu-central-1a.nimbus.prater.statusim.net -u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater hostname=u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater ansible_host=3.65.85.93 env=nimbus stage=prater data_center=aws-eu-central-1a region=eu-central-1a dns_entry=u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater.statusim.net -u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater hostname=u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater ansible_host=18.158.170.20 env=nimbus stage=prater data_center=aws-eu-central-1a region=eu-central-1a dns_entry=u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater.statusim.net unstable-large-01.aws-eu-central-1a.nimbus.prater hostname=unstable-large-01.aws-eu-central-1a.nimbus.prater ansible_host=3.65.85.130 env=nimbus stage=prater data_center=aws-eu-central-1a region=eu-central-1a dns_entry=unstable-large-01.aws-eu-central-1a.nimbus.prater.statusim.net windows-01.gc-us-central1-a.nimbus.prater hostname=windows-01.gc-us-central1-a.nimbus.prater ansible_host=35.232.80.244 env=nimbus stage=prater data_center=gc-us-central1-a region=us-central1-a dns_entry=windows-01.gc-us-central1-a.nimbus.prater.statusim.net @@ -41,8 +39,6 @@ stable-large-01.aws-eu-central-1a.nimbus.prater stable-small-01.aws-eu-central-1a.nimbus.mainnet stable-small-02.aws-eu-central-1a.nimbus.mainnet testing-large-01.aws-eu-central-1a.nimbus.prater -u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater -u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater unstable-large-01.aws-eu-central-1a.nimbus.prater [dash.nimbus] @@ -119,12 +115,6 @@ testing-large-01.aws-eu-central-1a.nimbus.prater [nimbus-prater-unstable] unstable-large-01.aws-eu-central-1a.nimbus.prater -[nimbus-prater-unstable-libp2p-stable] -u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater - -[nimbus-prater-unstable-libp2p-unstable] -u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater - [nimbus-prater-windows] windows-01.gc-us-central1-a.nimbus.prater @@ -157,8 +147,6 @@ metal-01.he-eu-hel1.nimbus.prater metal-02.he-eu-hel1.nimbus.prater stable-large-01.aws-eu-central-1a.nimbus.prater testing-large-01.aws-eu-central-1a.nimbus.prater -u-libp2p-s-large-01.aws-eu-central-1a.nimbus.prater -u-libp2p-u-large-01.aws-eu-central-1a.nimbus.prater unstable-large-01.aws-eu-central-1a.nimbus.prater windows-01.gc-us-central1-a.nimbus.prater diff --git a/ansible/prater.yml b/ansible/prater.yml index 4c89bb8..f7d4e34 100644 --- a/ansible/prater.yml +++ b/ansible/prater.yml @@ -17,8 +17,6 @@ - nimbus-prater-stable - nimbus-prater-testing - nimbus-prater-unstable - - nimbus-prater-unstable-libp2p-stable - - nimbus-prater-unstable-libp2p-unstable roles: - { role: get-geth-web3-urls, tags: get-geth-web3-urls } tasks: diff --git a/ansible/requirements.yml b/ansible/requirements.yml index da1f84d..0e982c1 100644 --- a/ansible/requirements.yml +++ b/ansible/requirements.yml @@ -111,7 +111,7 @@ - name: infra-role-geth src: git@github.com:status-im/infra-role-geth.git - version: 729b336a3ae2bc7cf6aeafe2e8882665d6e8a071 + version: 47b3de7059cdef2aae85865eab7bd205e04109d9 scm: git - name: infra-role-geth-exporter diff --git a/outputs.tf b/outputs.tf index 91f9e0b..d156f45 100644 --- a/outputs.tf +++ b/outputs.tf @@ -10,8 +10,6 @@ output "hosts" { module.nimbus_nodes_prater_stable_large.hosts, module.nimbus_nodes_prater_testing_large.hosts, module.nimbus_nodes_prater_unstable_large.hosts, - module.nimbus_nodes_prater_unstable_libp2p_stable_large.hosts, - module.nimbus_nodes_prater_unstable_libp2p_unstable_large.hosts, module.nimbus_nodes_prater_unstable_windows.hosts, module.nimbus_nodes_prater_hetzner.hosts, module.nimbus_nodes_prater_macos.hosts, diff --git a/prater.tf b/prater.tf index ae598fe..157afa6 100644 --- a/prater.tf +++ b/prater.tf @@ -92,60 +92,6 @@ module "nimbus_nodes_prater_unstable_large" { keypair_name = aws_key_pair.arthurk.key_name } -module "nimbus_nodes_prater_unstable_libp2p_stable_large" { - source = "github.com/status-im/infra-tf-amazon-web-services" - - name = "u-libp2p-s-large" - env = "nimbus" - stage = "prater" - group = "nimbus-prater-unstable-libp2p-stable" - domain = var.domain - - /* Scaling */ - 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.arthurk.key_name -} - -module "nimbus_nodes_prater_unstable_libp2p_unstable_large" { - source = "github.com/status-im/infra-tf-amazon-web-services" - - name = "u-libp2p-u-large" - env = "nimbus" - stage = "prater" - group = "nimbus-prater-unstable-libp2p-unstable" - domain = var.domain - - /* Scaling */ - 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.arthurk.key_name -} - module "nimbus_nodes_prater_unstable_windows" { source = "github.com/status-im/infra-tf-google-cloud"