Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: enable one parameter supernode, refactor el,cl,vc #778

Merged
merged 5 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
165 changes: 165 additions & 0 deletions .github/tests/peerdas-deneb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
participants:
# Super nodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS
supernode: true
cl_extra_params:
- --minimum-peers-per-subnet=1
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
supernode: true
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
supernode: true
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync
supernode: true
cl_extra_params:
- --sync-light-client=no
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS
supernode: true
cl_extra_params:
- --persistNetworkIdentity
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-fix-negotiation-timeout
supernode: true
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
# Full nodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS
cl_extra_params:
- --minimum-peers-per-subnet=1
- --data-columns-withhold-count=64
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS
cl_extra_params: [--persistNetworkIdentity]
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync
cl_extra_params:
- --sync-light-client=no
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das
count: 3
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-fix-negotiation-timeout
cl_min_cpu: 1000
cl_min_mem: 1024
cl_max_cpu: 4000
cl_max_mem: 8096
el_min_cpu: 1000
el_min_mem: 1024
el_max_cpu: 4000
el_max_mem: 8096
network_params:
eip7594_fork_epoch: 0
eip7594_fork_version: "0x50000038"
genesis_delay: 1200
snooper_enabled: true
global_log_level: debug
additional_services:
- dora
- goomy_blob
- prometheus_grafana
dora_params:
image: ethpandaops/dora:peerdas-as-deneb-column-view-latest
env: {"FRONTEND_SHOW_PEER_DAS_INFOS": "true", "FRONTEND_SHOW_SENSITIVE_PEER_INFOS": "true"}
ethereum_metrics_exporter_enabled: true
55 changes: 0 additions & 55 deletions .github/tests/peerdas-deneb.yaml.norun

This file was deleted.

38 changes: 38 additions & 0 deletions .github/tests/peerdas-devnet-2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
participants:
# Supernodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS-df42f37
supernode: true
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable-2792705
supernode: true
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das-458f7e7
supernode: true
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync-30f8ef9
supernode: true
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS-a3de70f
supernode: true
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-feature-das-2c2f74b
supernode: true
# Fullnodes
- cl_type: prysm
cl_image: ethpandaops/prysm-beacon-chain:peerDAS-df42f37
- cl_type: lighthouse
cl_image: ethpandaops/lighthouse:unstable-2792705
- cl_type: teku
cl_image: ethpandaops/teku:nashatyrev-das-458f7e7
- cl_type: nimbus
cl_image: ethpandaops/nimbus-eth2:pdsync-30f8ef9
- cl_type: lodestar
cl_image: ethpandaops/lodestar:peerDAS-a3de70f
- cl_type: grandine
cl_image: ethpandaops/grandine:hangleang-feature-das-2c2f74b
network_params:
network: peerdas-devnet-2
snooper_enabled: true
additional_services:
- dora
10 changes: 0 additions & 10 deletions .github/tests/peerdas-devnet-2.yaml.norun

This file was deleted.

6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,12 @@ participants:
cl_min_mem: 0
cl_max_mem: 0

# Whether to act as a supernode for the network
# Supernodes will subscribe to all subnet topics
# This flag should only be used with peerdas
# Defaults to false
supernode: false

# Whether to use a separate validator client attached to the CL client.
# Defaults to false for clients that can run both in one process (Teku, Nimbus)
use_separate_vc: true
Expand Down
1 change: 1 addition & 0 deletions network_params.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ participants:
cl_max_cpu: 0
cl_min_mem: 0
cl_max_mem: 0
supernode: false
use_separate_vc: true
# Validator
vc_type: lighthouse
Expand Down
50 changes: 2 additions & 48 deletions src/cl/cl_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@ def launch(
el_cl_data,
jwt_file,
network_params,
prysm_password_relative_filepath,
prysm_password_artifact_uuid,
),
"launch_method": prysm.launch,
},
Expand Down Expand Up @@ -108,22 +106,6 @@ def launch(
participant.cl_tolerations, participant.tolerations, global_tolerations
)

(
cl_min_cpu,
cl_max_cpu,
cl_min_mem,
cl_max_mem,
cl_volume_size,
) = shared_utils.get_cpu_mem_resource_limits(
participant.cl_min_cpu,
participant.cl_max_cpu,
participant.cl_min_mem,
participant.cl_max_mem,
participant.cl_volume_size,
network_name,
participant.cl_type,
)

if cl_type not in cl_launchers:
fail(
"Unsupported launcher '{0}', need one of '{1}'".format(
Expand Down Expand Up @@ -171,30 +153,16 @@ def launch(
plan,
cl_launcher,
cl_service_name,
participant.cl_image,
participant.cl_log_level,
participant,
global_log_level,
cl_context_BOOTNODE,
el_context,
full_name,
new_cl_node_validator_keystores,
cl_min_cpu,
cl_max_cpu,
barnabasbusa marked this conversation as resolved.
Show resolved Hide resolved
cl_min_mem,
cl_max_mem,
participant.snooper_enabled,
snooper_engine_context,
participant.blobber_enabled,
participant.blobber_extra_params,
participant.cl_extra_params,
participant.cl_extra_env_vars,
participant.cl_extra_labels,
persistent,
cl_volume_size,
tolerations,
node_selectors,
participant.use_separate_vc,
participant.keymanager_enabled,
checkpoint_sync_enabled,
checkpoint_sync_url,
port_publisher,
Expand All @@ -206,30 +174,16 @@ def launch(
plan,
cl_launcher,
cl_service_name,
participant.cl_image,
participant.cl_log_level,
participant,
global_log_level,
boot_cl_client_ctx,
el_context,
full_name,
new_cl_node_validator_keystores,
cl_min_cpu,
cl_max_cpu,
cl_min_mem,
cl_max_mem,
participant.snooper_enabled,
snooper_engine_context,
participant.blobber_enabled,
participant.blobber_extra_params,
participant.cl_extra_params,
participant.cl_extra_env_vars,
participant.cl_extra_labels,
persistent,
cl_volume_size,
tolerations,
node_selectors,
participant.use_separate_vc,
participant.keymanager_enabled,
checkpoint_sync_enabled,
checkpoint_sync_url,
port_publisher,
Expand Down
Loading
Loading