migrate Pyrmont fleet to Hetzner metal hosts

https://github.com/status-im/infra-nimbus/issues/65

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2021-07-19 12:33:23 +02:00
parent 12ee7513f3
commit 32baf5e4b7
No known key found for this signature in database
GPG Key ID: 4EF064D0E6D63020
3 changed files with 43 additions and 56 deletions

View File

@ -11,26 +11,27 @@ node_branch: |-
beacon_node_cont_tag: '{{ node_branch }}-{{ node_size }}'
beacon_node_network: 'pyrmont'
beacon_node_log_level: 'INFO'
# Split by hostname for more central location
# Split by hostname and branch for more central location.
validators_layout:
# bootstrap nodes
"testing-small-03.aws-eu-central-1a.nimbus.pyrmont": { start: 0, end: 0 } # none
"testing-small-04.aws-eu-central-1a.nimbus.pyrmont": { start: 0, end: 0 } # none
"stable-large-01.aws-eu-central-1a.nimbus.pyrmont": { start: 0, end: 2500 } # 2500
"stable-small-01.aws-eu-central-1a.nimbus.pyrmont": { start: 2500, end: 4500 } # 2500
"testing-large-01.aws-eu-central-1a.nimbus.pyrmont": { start: 4500, end: 7750 } # 3250
"testing-small-01.aws-eu-central-1a.nimbus.pyrmont": { start: 7750, end: 9750 } # 2000
"testing-small-02.aws-eu-central-1a.nimbus.pyrmont": { start: 9750, end: 10750 } # 1000
"unstable-large-01.aws-eu-central-1a.nimbus.pyrmont": { start: 10750, end: 14750 } # 4000
"unstable-large-02.aws-eu-central-1a.nimbus.pyrmont": { start: 14750, end: 16750 } # 2000
"unstable-small-01.aws-eu-central-1a.nimbus.pyrmont": { start: 16750, end: 18250 } # 1500
"unstable-small-02.aws-eu-central-1a.nimbus.pyrmont": { start: 18250, end: 18850 } # 600
"unstable-small-03.aws-eu-central-1a.nimbus.pyrmont": { start: 18850, end: 18999 } # 149
"unstable-small-04.aws-eu-central-1a.nimbus.pyrmont": { start: 18999, end: 19000 } # single validator
"unstable-libp2p-small-01.aws-eu-central-1a.nimbus.pyrmont": { start: 19000, end: 20000 } # 1000
# Copy correct validators from nimbus-private repo
beacon_node_dist_validators_enabled: true
eacon_node_dist_validators_start: '{{ validators_layout[hostname]["start"] | mandatory }}'
beacon_node_dist_validators_end: '{{ validators_layout[hostname]["end"] | mandatory }}'
"metal-01.he-eu-hel1.nimbus.pyrmont": # 4000 validators each
"stable": { start: 0, end: 4000 }
"unstable": { start: 4000, end: 8000 }
"testing": { start: 8000, end: 12000 }
"libp2p": { start: 12000, end: 16000 }
"metal-02.he-eu-hel1.nimbus.pyrmont": # 989 validators each
"stable": { start: 16000, end: 16989 }
"unstable": { start: 16989, end: 17978 }
"testing": { start: 17978, end: 18967 }
"libp2p": { start: 18967, end: 19956 }
"metal-03.he-eu-hel1.nimbus.pyrmont": # 10 validators each
"stable": { start: 19956, end: 19966 }
"unstable": { start: 19966, end: 19976 }
"testing": { start: 19976, end: 19986 }
"libp2p": { start: 19986, end: 19996 }
"metal-04.he-eu-hel1.nimbus.pyrmont": # 2 validators each
"stable": { start: 19996, end: 19997 }
"unstable": { start: 19997, end: 19998 }
"testing": { start: 19998, end: 19999 }
"libp2p": { start: 19999, end: 20000 }

View File

@ -9,48 +9,34 @@
- local_action: command ./versioncheck.py
changed_when: false
- name: Configure build nodes
become: true
hosts:
- testing-large-01.aws-eu-central-1a.nimbus.pyrmont
- testing-small-01.aws-eu-central-1a.nimbus.pyrmont
roles:
- role: swap-file
tags: swap-file
- role: beacon-node-builds
tags: beacon-node-builds
- name: Configure network pyrmont
become: true
# To avoid clashing/duplicate validators.
any_errors_fatal: true
hosts:
- nimbus-pyrmont-stable
- nimbus-pyrmont-testing
- nimbus-pyrmont-unstable
- nimbus-pyrmont-libp2p
roles:
- { role: get-geth-web3-urls, tags: [ get-geth-web3-urls ] }
- { role: infra-role-beacon-node, tags: [ infra-role-beacon-node, beacon-node ] }
- name: Deploy pyrmont Metal beacon nodes
become: true
hosts:
- nimbus-pyrmont-metal
roles:
- role: get-geth-web3-urls
tags: [ get-geth-web3-urls ]
tasks:
- include_role: name=infra-role-beacon-node-linux
tags: [ beacon-node, infra-role-beacon-node-linux ]
vars:
# Using whole libp2p branch name would be far too long.
beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-{{ node.name }}'
beacon_node_build_frequency: '{{ node.build_frequency }}'
beacon_node_dist_validators_enabled: false
beacon_node_repo_branch: '{{ node.branch }}'
beacon_node_discovery_port: '{{ 9000 + port_offset }}'
beacon_node_listening_port: '{{ 9000 + port_offset }}'
beacon_node_metrics_port: '{{ 9200 + port_offset }}'
beacon_node_rpc_port: '{{ 9900 + port_offset }}'
beacon_node_dist_validators_enabled: true
beacon_node_dist_validators_start: '{{ validators_layout[hostname][node.name]["start"] | mandatory }}'
beacon_node_dist_validators_end: '{{ validators_layout[hostname][node.name]["end"] | mandatory }}'
with_items:
- { branch: 'stable' }
- { branch: 'unstable' }
- { branch: 'testing' }
- { name: 'stable', branch: 'stable', build_frequency: '*-*-* 11:00:00' }
- { name: 'unstable', branch: 'unstable', build_frequency: '*-*-* 13:00:00' }
- { name: 'testing', branch: 'testing', build_frequency: '*-*-* 15:00:00' }
- { name: 'libp2p', branch: 'nim-libp2p-auto-bump-unstable', build_frequency: '*-*-* 17:00:00' }
loop_control:
loop_var: node
index_var: port_offset

View File

@ -21,7 +21,7 @@
- name: infra-role-bootstrap-windows
src: git@github.com:status-im/infra-role-bootstrap-windows.git
version: 5c971b6a1460cf8124cba112ec7bdca2191bdba2
version: f9153669a39ccc0dff9582ec11cc07f6ff399840
scm: git
- name: oauth-proxy
@ -34,29 +34,29 @@
version: 87f4498f90f0cbb66a1ddb425e8953b04ced1891
scm: git
- name: infra-role-beacon-node
src: git@github.com:status-im/infra-role-beacon-node.git
version: 992c8a43a45e06bb1f43f6c440fa03c157422f99
- name: infra-role-beacon-node-docker
src: git@github.com:status-im/infra-role-beacon-node-docker.git
version: 1edf2629a726b4fdce7bf536ac6f015f995ea725
scm: git
- name: infra-role-beacon-node-linux
src: git@github.com:status-im/infra-role-beacon-node-linux.git
version: 09d0176c12a509f24a8537c7902b750c05efb755
version: d96c2548802977a66e3c7c5bfd842df28699743d
scm: git
- name: infra-role-beacon-node-windows
src: git@github.com:status-im/infra-role-beacon-node-windows.git
version: cc3ad53c33bdfc26412c012c8926da38f68a4676
version: a7a3f0f733fb11f5b58fa184a994d5b323dc5183
scm: git
- name: infra-role-dist-validators
src: git@github.com:status-im/infra-role-dist-validators.git
version: 18b11237665db03b9f7ff9e0a6ec59afb95bc51f
version: 9415e17c7e3d3473ba8c5ab47624bfa996c749de
scm: git
- name: infra-role-winsw
src: git@github.com:status-im/infra-role-winsw.git
version: e41415ba8bd63438e1f988421ef52e1078a310dd
version: d85f966f2a9f8f02d4d1589459cf96c82988557f
scm: git
- name: kibana