From 1723f6e6607f3939616f1f65219f03ade00225a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Vincent?= <28714795+leovct@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:49:25 +0200 Subject: [PATCH] fix: arpeggio issue and bump versions (#311) * chore: fix cdk-erigon-node ws-rpc port number * chore: clean up * chore: rename method * ci: deploy arpeggio in additional-services job * docs: nit * revert: don't wait for pprof and prometheus ports to be open (cdk-erigon) * fix: cdk-erigon config * ci: bump versions * ci: bump to latest cdk-erigon img * chore: bump cdk-erigon version --- .github/tests/additional-services.yml | 6 ++--- .github/tests/forks/fork11.yml | 6 ++--- .github/tests/forks/fork12.yml | 4 +-- .github/tests/forks/fork9.yml | 7 +++--- input_parser.star | 26 ++++++++++---------- lib/cdk_erigon.star | 30 ++++++++--------------- lib/service.star | 16 ++++-------- src/additional_services/arpeggio.star | 6 ++--- src/additional_services/blockscout.star | 8 +++--- src/additional_services/blutgang.star | 6 ++--- src/additional_services/erpc.star | 4 +-- src/additional_services/panoptichain.star | 4 +-- templates/cdk-erigon/config.yml | 7 ++++++ 13 files changed, 60 insertions(+), 70 deletions(-) diff --git a/.github/tests/additional-services.yml b/.github/tests/additional-services.yml index e2a3819b..b0211bfd 100644 --- a/.github/tests/additional-services.yml +++ b/.github/tests/additional-services.yml @@ -1,9 +1,9 @@ args: additional_services: - #- arpeggio - #- blockscout # TODO: Find out why the blockcout backend doesn't start: https://github.com/xavier-romero/kurtosis-blockscout/issues/7 + - arpeggio + # - blockscout # blockscout experiences Out of Memory (OOM) termination when deployed inside github runners. - blutgang - erpc - prometheus_grafana - tx_spammer - #- pless_zkevm_node # zkevm-node doesn't support fork12 + # - pless_zkevm_node # zkevm-node doesn't support fork12. diff --git a/.github/tests/forks/fork11.yml b/.github/tests/forks/fork11.yml index 28dc1cb7..3c413e21 100644 --- a/.github/tests/forks/fork11.yml +++ b/.github/tests/forks/fork11.yml @@ -2,12 +2,12 @@ args: # https://hub.docker.com/repository/docker/leovct/zkevm-contracts/tags?name=fork.11 zkevm_contracts_image: leovct/zkevm-contracts:v7.0.0-rc.2-fork.11 # https://hub.docker.com/r/hermeznetwork/zkevm-prover/tags?name=fork.11 - zkevm_prover_image: hermeznetwork/zkevm-prover:v7.0.2-fork.11 + zkevm_prover_image: hermeznetwork/zkevm-prover:v7.0.3-fork.11 # https://hub.docker.com/r/hermeznetwork/cdk-erigon/tags - cdk_erigon_node_image: hermeznetwork/cdk-erigon:acceptance-2.0.0-beta26-0f01107 + cdk_erigon_node_image: hermeznetwork/cdk-erigon:ab3013d # https://hub.docker.com/r/hermeznetwork/zkevm-node/tags?name=fork11 - zkevm_node_image: hermeznetwork/zkevm-node:v0.7.0-fork11-RC1 + zkevm_node_image: hermeznetwork/zkevm-node:v0.7.0-fork11 additional_services: - tx_spammer diff --git a/.github/tests/forks/fork12.yml b/.github/tests/forks/fork12.yml index cadb63bf..c942b62b 100644 --- a/.github/tests/forks/fork12.yml +++ b/.github/tests/forks/fork12.yml @@ -3,10 +3,10 @@ args: zkevm_contracts_image: leovct/zkevm-contracts:v8.0.0-rc.4-fork.12 # https://hub.docker.com/r/hermeznetwork/zkevm-prover/tags?name=v8 - zkevm_prover_image: hermeznetwork/zkevm-prover:v8.0.0-RC12-fork.12 + zkevm_prover_image: hermeznetwork/zkevm-prover:v8.0.0-RC13-fork.12 # https://hub.docker.com/r/hermeznetwork/cdk-erigon/tags - cdk_erigon_node_image: hermeznetwork/cdk-erigon:0948e33 + cdk_erigon_node_image: hermeznetwork/cdk-erigon:ab3013d additional_services: - tx_spammer diff --git a/.github/tests/forks/fork9.yml b/.github/tests/forks/fork9.yml index b820956d..74bd291c 100644 --- a/.github/tests/forks/fork9.yml +++ b/.github/tests/forks/fork9.yml @@ -2,16 +2,15 @@ args: # https://hub.docker.com/repository/docker/leovct/zkevm-contracts/tags?name=fork.9 zkevm_contracts_image: leovct/zkevm-contracts:v6.0.0-rc.1-fork.9 # https://hub.docker.com/r/hermeznetwork/zkevm-prover/tags?name=v6 - zkevm_prover_image: hermeznetwork/zkevm-prover:v6.0.6 + zkevm_prover_image: hermeznetwork/zkevm-prover:v6.0.7 # https://hub.docker.com/r/hermeznetwork/cdk-erigon/tags - cdk_erigon_node_image: hermeznetwork/cdk-erigon:0948e33 + cdk_erigon_node_image: hermeznetwork/cdk-erigon:ab3013d # https://hub.docker.com/r/hermeznetwork/zkevm-node/tags?name=v0.7 - zkevm_node_image: hermeznetwork/zkevm-node:v0.7.3-RC1 + zkevm_node_image: hermeznetwork/zkevm-node:v0.7.3 # https://hub.docker.com/r/0xpolygon/cdk-validium-node/tags?name=0.7 cdk_validium_node_image: 0xpolygon/cdk-validium-node:0.7.0-cdk additional_services: - pless_zkevm_node - tx_spammer - diff --git a/input_parser.star b/input_parser.star index a7c86f45..b86671af 100644 --- a/input_parser.star +++ b/input_parser.star @@ -26,19 +26,19 @@ DEFAULT_DEPLOYMENT_STAGES = { } DEFAULT_IMAGES = { - "agglayer_image": "ghcr.io/agglayer/agglayer-rs:pr-96", - "cdk_erigon_node_image": "hermeznetwork/cdk-erigon:0948e33", - "cdk_node_image": "ghcr.io/0xpolygon/cdk:0.3.0-beta4", - "cdk_validium_node_image": "0xpolygon/cdk-validium-node:0.7.0-cdk", - "zkevm_bridge_proxy_image": "haproxy:3.0-bookworm", - "zkevm_bridge_service_image": "hermeznetwork/zkevm-bridge-service:v0.6.0-RC1", - "zkevm_bridge_ui_image": "leovct/zkevm-bridge-ui:multi-network", - "zkevm_contracts_image": "leovct/zkevm-contracts:v8.0.0-rc.4-fork.12", - "zkevm_da_image": "0xpolygon/cdk-data-availability:0.0.10", - "zkevm_node_image": "hermeznetwork/zkevm-node:v0.7.3-RC1", - "zkevm_pool_manager_image": "hermeznetwork/zkevm-pool-manager:v0.1.1", - "zkevm_prover_image": "hermeznetwork/zkevm-prover:v8.0.0-RC12-fork.12", - "zkevm_sequence_sender_image": "hermeznetwork/zkevm-sequence-sender:v0.2.0-RC12", + "agglayer_image": "ghcr.io/agglayer/agglayer-rs:pr-96", # https://github.com/agglayer/agglayer/pkgs/container/agglayer-rs + "cdk_erigon_node_image": "hermeznetwork/cdk-erigon:ab3013d", # https://hub.docker.com/r/hermeznetwork/cdk-erigon/tags + "cdk_node_image": "ghcr.io/0xpolygon/cdk:0.3.0-beta4", # https://github.com/0xpolygon/cdk/pkgs/container/cdk + "cdk_validium_node_image": "0xpolygon/cdk-validium-node:0.7.0-cdk", # https://hub.docker.com/r/0xpolygon/cdk-validium-node/tags + "zkevm_bridge_proxy_image": "haproxy:3.0-bookworm", # https://hub.docker.com/_/haproxy/tags + "zkevm_bridge_service_image": "hermeznetwork/zkevm-bridge-service:v0.6.0-RC1", # https://hub.docker.com/r/hermeznetwork/zkevm-bridge-service/tags + "zkevm_bridge_ui_image": "leovct/zkevm-bridge-ui:multi-network", # https://hub.docker.com/r/leovct/zkevm-bridge-ui/tags + "zkevm_contracts_image": "leovct/zkevm-contracts:v8.0.0-rc.4-fork.12", # https://hub.docker.com/repository/docker/leovct/zkevm-contracts/tags + "zkevm_da_image": "0xpolygon/cdk-data-availability:0.0.10", # https://hub.docker.com/r/0xpolygon/cdk-data-availability/tags + "zkevm_node_image": "hermeznetwork/zkevm-node:v0.7.3", # https://hub.docker.com/r/hermeznetwork/zkevm-node/tags + "zkevm_pool_manager_image": "hermeznetwork/zkevm-pool-manager:v0.1.1", # https://hub.docker.com/r/hermeznetwork/zkevm-pool-manager/tags + "zkevm_prover_image": "hermeznetwork/zkevm-prover:v8.0.0-RC13-fork.12", # https://hub.docker.com/r/hermeznetwork/zkevm-prover/tags + "zkevm_sequence_sender_image": "hermeznetwork/zkevm-sequence-sender:v0.2.4", # https://hub.docker.com/r/hermeznetwork/zkevm-sequence-sender/tags } DEFAULT_PORTS = { diff --git a/lib/cdk_erigon.star b/lib/cdk_erigon.star index 35ff7185..b561876e 100644 --- a/lib/cdk_erigon.star +++ b/lib/cdk_erigon.star @@ -8,26 +8,16 @@ def start_node( is_sequencer, ): envs = {"CDK_ERIGON_SEQUENCER": "1" if is_sequencer else "0"} - ports = {} - ports["pprof"] = PortSpec( - args["zkevm_pprof_port"], - application_protocol="http", - wait=None, - ) - ports["prometheus"] = PortSpec( - args["prometheus_port"], - application_protocol="http", - wait=None, - ) - ports["rpc"] = PortSpec( - args["zkevm_rpc_http_port"], - application_protocol="http", - ) - - ports["ws-rpc"] = PortSpec( - args["zkevm_rpc_http_port"], - application_protocol="ws", - ) + ports = { + "pprof": PortSpec( + args["zkevm_pprof_port"], application_protocol="http", wait=None + ), + "prometheus": PortSpec( + args["prometheus_port"], application_protocol="http", wait=None + ), + "rpc": PortSpec(args["zkevm_rpc_http_port"], application_protocol="http"), + "ws-rpc": PortSpec(args["zkevm_rpc_ws_port"], application_protocol="ws"), + } if is_sequencer: name = args["sequencer_name"] + args["deployment_suffix"] diff --git a/lib/service.star b/lib/service.star index 1c8ac9f1..dfa48342 100644 --- a/lib/service.star +++ b/lib/service.star @@ -49,23 +49,17 @@ def get_exec_recipe_result(result): # Return the HTTP and WS URLs of the L2 RPC service. -def get_l2_rpc_urls(plan, args): +def get_l2_rpc_url(plan, args): l2_rpc_service = plan.get_service( name=args["l2_rpc_name"] + args["deployment_suffix"] ) - ws = "" - if ( - args["l2_rpc_name"] == "zkevm-node-rpc" - or args["l2_rpc_name"] == "cdk-erigon-node" - ): - ws = "ws://{}:{}".format( - l2_rpc_service.ip_address, l2_rpc_service.ports["ws-rpc"].number - ) - return struct( http="http://{}:{}".format( l2_rpc_service.ip_address, l2_rpc_service.ports["rpc"].number, ), - ws=ws, + ws="ws://{}:{}".format( + l2_rpc_service.ip_address, + l2_rpc_service.ports["ws-rpc"].number, + ), ) diff --git a/src/additional_services/arpeggio.star b/src/additional_services/arpeggio.star index ed544bdb..4ea591ca 100644 --- a/src/additional_services/arpeggio.star +++ b/src/additional_services/arpeggio.star @@ -26,7 +26,7 @@ def get_arpeggio_config(plan, args): arpeggio_config_template = read_file( src="../../static_files/additional_services/arpeggio-config/config.yml" ) - l2_rpc_urls = service_package.get_l2_rpc_urls(plan, args) + l2_rpc_url = service_package.get_l2_rpc_url(plan, args) return plan.render_templates( name="arpeggio-config", config={ @@ -34,8 +34,8 @@ def get_arpeggio_config(plan, args): template=arpeggio_config_template, data={ "l2_rpc_name": args["l2_rpc_name"], - "l2_rpc_url": l2_rpc_urls.http, - "l2_ws_url": l2_rpc_urls.ws, + "l2_rpc_url": l2_rpc_url.http, + "l2_ws_url": l2_rpc_url.ws, }, ) }, diff --git a/src/additional_services/blockscout.star b/src/additional_services/blockscout.star index 90ffc6e7..0affd933 100644 --- a/src/additional_services/blockscout.star +++ b/src/additional_services/blockscout.star @@ -8,14 +8,14 @@ FRONTEND_PORT_NUMBER = 3000 def run(plan, args): - l2_rpc_urls = service_package.get_l2_rpc_urls(plan, args) + l2_rpc_url = service_package.get_l2_rpc_url(plan, args) blockscout_package.run( plan, args={ "blockscout_public_port": FRONTEND_PORT_NUMBER, - "rpc_url": l2_rpc_urls.http, - "trace_url": l2_rpc_urls.http, - "ws_url": l2_rpc_urls.ws, + "rpc_url": l2_rpc_url.http, + "trace_url": l2_rpc_url.http, + "ws_url": l2_rpc_url.ws, "chain_id": str(args["zkevm_rollup_chain_id"]), "deployment_suffix": args["deployment_suffix"], }, diff --git a/src/additional_services/blutgang.star b/src/additional_services/blutgang.star index dc41cf28..ac0a6f62 100644 --- a/src/additional_services/blutgang.star +++ b/src/additional_services/blutgang.star @@ -41,14 +41,14 @@ def get_blutgang_config(plan, args): zkevm_sequencer_service.ip_address, zkevm_sequencer_service.ports["rpc"].number ) - l2_rpc_urls = service_package.get_l2_rpc_urls(plan, args) + l2_rpc_url = service_package.get_l2_rpc_url(plan, args) blutgang_data = { "blutgang_rpc_port": RPC_PORT_NUMBER, "blutgang_admin_port": ADMIN_PORT_NUMBER, "l2_sequencer_url": zkevm_sequencer_http_url, - "l2_rpc_url": l2_rpc_urls.http, - "l2_ws_url": l2_rpc_urls.ws, + "l2_rpc_url": l2_rpc_url.http, + "l2_ws_url": l2_rpc_url.ws, "pless_zkevm_node_rpc": False, } diff --git a/src/additional_services/erpc.star b/src/additional_services/erpc.star index 28024844..73def702 100644 --- a/src/additional_services/erpc.star +++ b/src/additional_services/erpc.star @@ -27,7 +27,7 @@ def get_erpc_config(plan, args): config_template = read_file( src="../../static_files/additional_services/erpc-config/erpc.yaml" ) - l2_rpc_urls = service_package.get_l2_rpc_urls(plan, args) + l2_rpc_url = service_package.get_l2_rpc_url(plan, args) return plan.render_templates( name=SERVICE_NAME + "-config", config={ @@ -38,7 +38,7 @@ def get_erpc_config(plan, args): "erpc_metrics_port": PROMETHEUS_PORT, "l2_chain_id": args["zkevm_rollup_chain_id"], "l2_rpc_name": args["l2_rpc_name"], - "l2_rpc_url": l2_rpc_urls.http, + "l2_rpc_url": l2_rpc_url.http, }, ) }, diff --git a/src/additional_services/panoptichain.star b/src/additional_services/panoptichain.star index 2f3720df..ee869143 100644 --- a/src/additional_services/panoptichain.star +++ b/src/additional_services/panoptichain.star @@ -22,7 +22,7 @@ def get_panoptichain_config(plan, args): src="../../static_files/additional_services/panoptichain-config/config.yml" ) contract_setup_addresses = service_package.get_contract_setup_addresses(plan, args) - l2_rpc_urls = service_package.get_l2_rpc_urls(plan, args) + l2_rpc_url = service_package.get_l2_rpc_url(plan, args) return plan.render_templates( name="panoptichain-config", config={ @@ -30,7 +30,7 @@ def get_panoptichain_config(plan, args): template=panoptichain_config_template, data={ "l1_rpc_url": args["l1_rpc_url"], - "l2_rpc_url": l2_rpc_urls.http, + "l2_rpc_url": l2_rpc_url.http, "l1_chain_id": args["l1_chain_id"], "zkevm_rollup_chain_id": args["zkevm_rollup_chain_id"], } diff --git a/templates/cdk-erigon/config.yml b/templates/cdk-erigon/config.yml index 96f77aa6..d9174988 100644 --- a/templates/cdk-erigon/config.yml +++ b/templates/cdk-erigon/config.yml @@ -820,6 +820,13 @@ http.trace: false # Default: false ws: true +# The listening interface of the WS RPC server. +ws.addr: 0.0.0.0 + +# The listening port of the WS RPC server. +# Default: 8545 +ws.port: {{.zkevm_rpc_ws_port}} + # ============================================================================== # _ _ _ _____ _ _ ____ ____ ____