Commit 181dd04c authored by Barnabas Busa's avatar Barnabas Busa Committed by GitHub

fix: use the cl as the default validator image if none are defined (#503)

This PR ensures that the validator image will be the same as CL image
(if one is defined) and only fallback to the default validator image if
there is no validator image nor beacon image is defined.
parent beb764fb
participants: participants:
- el_client_type: geth - el_client_type: geth
el_client_image: ethpandaops/geth:master
cl_client_type: teku cl_client_type: teku
cl_client_image: ethpandaops/teku:master
- el_client_type: nethermind - el_client_type: nethermind
el_client_image: ethpandaops/nethermind:master
cl_client_type: prysm cl_client_type: prysm
cl_client_image: gcr.io/prysmaticlabs/prysm/beacon-chain:latest
- el_client_type: erigon - el_client_type: erigon
el_client_image: ethpandaops/erigon:devel
cl_client_type: nimbus cl_client_type: nimbus
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: besu - el_client_type: besu
el_client_image: ethpandaops/besu:main
cl_client_type: lighthouse cl_client_type: lighthouse
cl_client_image: ethpandaops/lighthouse:unstable
- el_client_type: reth - el_client_type: reth
el_client_image: ethpandaops/reth:main
cl_client_type: lodestar cl_client_type: lodestar
cl_client_image: ethpandaops/lodestar:unstable
- el_client_type: ethereumjs - el_client_type: ethereumjs
el_client_image: ethpandaops/ethereumjs:master
cl_client_type: teku cl_client_type: teku
cl_client_image: ethpandaops/teku:master
network_params: network_params:
network: "dencun-devnet-12" network: "dencun-devnet-12"
additional_services: [] additional_services: []
participants: participants:
- el_client_type: geth - el_client_type: geth
el_client_image: ethpandaops/geth:master
cl_client_type: teku cl_client_type: teku
cl_client_image: ethpandaops/teku:master
- el_client_type: nethermind - el_client_type: nethermind
el_client_image: ethpandaops/nethermind:master
cl_client_type: prysm cl_client_type: prysm
cl_client_image: gcr.io/prysmaticlabs/prysm/beacon-chain:latest
- el_client_type: erigon - el_client_type: erigon
el_client_image: ethpandaops/erigon:devel
cl_client_type: nimbus cl_client_type: nimbus
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: besu - el_client_type: besu
el_client_image: ethpandaops/besu:main
cl_client_type: lighthouse cl_client_type: lighthouse
cl_client_image: ethpandaops/lighthouse:unstable
- el_client_type: reth - el_client_type: reth
el_client_image: ethpandaops/reth:main
cl_client_type: lodestar cl_client_type: lodestar
cl_client_image: ethpandaops/lodestar:unstable
- el_client_type: ethereumjs - el_client_type: ethereumjs
el_client_image: ethpandaops/ethereumjs:master
cl_client_type: teku cl_client_type: teku
cl_client_image: ethpandaops/teku:master
network_params: network_params:
deneb_fork_epoch: 0 deneb_fork_epoch: 0
additional_services: [] additional_services: []
participants: participants:
- el_client_type: geth - el_client_type: geth
el_client_image: ethpandaops/geth:master
cl_client_type: teku cl_client_type: teku
cl_client_image: ethpandaops/teku:master
- el_client_type: nethermind - el_client_type: nethermind
el_client_image: ethpandaops/nethermind:master
cl_client_type: prysm cl_client_type: prysm
cl_client_image: gcr.io/prysmaticlabs/prysm/beacon-chain:latest
- el_client_type: erigon - el_client_type: erigon
el_client_image: ethpandaops/erigon:devel
cl_client_type: nimbus cl_client_type: nimbus
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: besu - el_client_type: besu
el_client_image: ethpandaops/besu:main
cl_client_type: lighthouse cl_client_type: lighthouse
cl_client_image: ethpandaops/lighthouse:unstable
- el_client_type: reth - el_client_type: reth
el_client_image: ethpandaops/reth:main
cl_client_type: lodestar cl_client_type: lodestar
cl_client_image: ethpandaops/lodestar:unstable
- el_client_type: ethereumjs - el_client_type: ethereumjs
el_client_image: ethpandaops/ethereumjs:master
cl_client_type: teku cl_client_type: teku
cl_client_image: ethpandaops/teku:master
network_params: network_params:
network: "ephemery" network: "ephemery"
additional_services: [] additional_services: []
...@@ -9,6 +9,6 @@ additional_services: ...@@ -9,6 +9,6 @@ additional_services:
- prometheus_grafana - prometheus_grafana
mev_params: mev_params:
launch_custom_flood: true launch_custom_flood: true
mev_relay_image: flashbots/mev-boost-relay:0.28.0a2 mev_relay_image: flashbots/mev-boost-relay:latest
network_params: network_params:
seconds_per_slot: 3 seconds_per_slot: 3
...@@ -6,7 +6,6 @@ participants: ...@@ -6,7 +6,6 @@ participants:
cl_client_type: prysm cl_client_type: prysm
- el_client_type: erigon - el_client_type: erigon
cl_client_type: nimbus cl_client_type: nimbus
cl_client_image: ethpandaops/nimbus:unstable
use_separate_validator_client: true use_separate_validator_client: true
- el_client_type: besu - el_client_type: besu
cl_client_type: lighthouse cl_client_type: lighthouse
......
...@@ -6,7 +6,6 @@ participants: ...@@ -6,7 +6,6 @@ participants:
cl_client_type: prysm cl_client_type: prysm
- el_client_type: erigon - el_client_type: erigon
cl_client_type: nimbus cl_client_type: nimbus
cl_client_image: ethpandaops/nimbus:unstable
use_separate_validator_client: true use_separate_validator_client: true
- el_client_type: besu - el_client_type: besu
cl_client_type: lighthouse cl_client_type: lighthouse
......
...@@ -26,5 +26,5 @@ ethereum_metrics_exporter_enabled: true ...@@ -26,5 +26,5 @@ ethereum_metrics_exporter_enabled: true
snooper_enabled: true snooper_enabled: true
mev_type: full mev_type: full
mev_params: mev_params:
mev_relay_image: flashbots/mev-boost-relay:0.27 mev_relay_image: flashbots/mev-boost-relay:latest
persistent: True persistent: True
...@@ -12,5 +12,5 @@ participants: ...@@ -12,5 +12,5 @@ participants:
- el_client_type: ethereumjs - el_client_type: ethereumjs
cl_client_type: nimbus cl_client_type: nimbus
network_params: network_params:
network: "sepolia" network: sepolia
additional_services: [] additional_services: []
participants: participants:
- el_client_type: geth - el_client_type: geth
cl_client_type: nimbus cl_client_type: nimbus
cl_client_image: ethpandaops/nimbus:unstable
use_separate_validator_client: true use_separate_validator_client: true
validator_count: 0 validator_count: 0
- el_client_type: nethermind - el_client_type: nethermind
cl_client_type: nimbus cl_client_type: nimbus
use_separate_validator_client: true use_separate_validator_client: true
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: erigon - el_client_type: erigon
cl_client_type: nimbus cl_client_type: nimbus
use_separate_validator_client: true use_separate_validator_client: true
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: besu - el_client_type: besu
cl_client_type: nimbus cl_client_type: nimbus
use_separate_validator_client: true use_separate_validator_client: true
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: reth - el_client_type: reth
cl_client_type: nimbus cl_client_type: nimbus
use_separate_validator_client: true use_separate_validator_client: true
cl_client_image: ethpandaops/nimbus:unstable
- el_client_type: ethereumjs - el_client_type: ethereumjs
cl_client_type: nimbus cl_client_type: nimbus
use_separate_validator_client: true use_separate_validator_client: true
cl_client_image: ethpandaops/nimbus:unstable
additional_services: [] additional_services: []
...@@ -392,7 +392,18 @@ def parse_network_params(input_args): ...@@ -392,7 +392,18 @@ def parse_network_params(input_args):
validator_client_image = participant["validator_client_image"] validator_client_image = participant["validator_client_image"]
if validator_client_image == "": if validator_client_image == "":
if cl_image == "":
# If the validator client image is also empty, default to the image for the chosen CL client
default_image = DEFAULT_VC_IMAGES.get(validator_client_type, "") default_image = DEFAULT_VC_IMAGES.get(validator_client_type, "")
else:
if cl_client_type == "prysm":
default_image = cl_image.replace("beacon-chain", "validator")
elif cl_client_type == "nimbus":
default_image = cl_image.replace(
"nimbus-eth2", "nimbus-validator-client"
)
else:
default_image = cl_image
if default_image == "": if default_image == "":
fail( fail(
"{0} received an empty image name and we don't have a default for it".format( "{0} received an empty image name and we don't have a default for it".format(
......
...@@ -775,8 +775,8 @@ def launch_participant_network( ...@@ -775,8 +775,8 @@ def launch_participant_network(
launcher=validator_client.new_validator_client_launcher( launcher=validator_client.new_validator_client_launcher(
el_cl_genesis_data=el_cl_data el_cl_genesis_data=el_cl_data
), ),
service_name="validator-client-{0}-{1}".format( service_name="vc-{0}-{1}-{2}".format(
index_str, validator_client_type index_str, validator_client_type, el_client_type
), ),
validator_client_type=validator_client_type, validator_client_type=validator_client_type,
image=participant.validator_client_image, image=participant.validator_client_image,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment