From 7ac5e1cd7a399c15171b6c34786d840108e9ae42 Mon Sep 17 00:00:00 2001 From: NeoPlays <80448387+NeoPlays@users.noreply.github.com> Date: Tue, 8 Jul 2025 11:50:57 +0200 Subject: [PATCH 1/6] ADJUST: Reconnect after Server Restart --- launcher/src/backend/NodeConnection.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/launcher/src/backend/NodeConnection.js b/launcher/src/backend/NodeConnection.js index 6fc30380e6..66cb60a78a 100755 --- a/launcher/src/backend/NodeConnection.js +++ b/launcher/src/backend/NodeConnection.js @@ -2111,10 +2111,10 @@ export class NodeConnection { this.taskManager.otherTasksHandler(ref, "trigger restart", true); await this.sshService.disconnect(); await new Promise((resolve) => setTimeout(resolve, 10000)); // Wait for the disconnect to be fully done - const retry = { connected: false, counter: 0, maxTries: 300 }; + const retry = { connected: false, counter: 0, maxTries: 60 }; log.info("Connecting via SSH"); - while (!retry.connected && retry.counter < retry.maxTries) { + while (!retry.connected && retry.counter <= retry.maxTries) { try { retry.counter++; log.info(`Trying to connect (${retry.counter})`); @@ -2132,9 +2132,10 @@ export class NodeConnection { err + "\n\n" + (retry.maxTries - retry.counter) + " tries left." ); log.info(" Could not connect.\n" + (retry.maxTries - retry.counter) + " tries left."); + await new Promise((resolve) => setTimeout(resolve, 5000)); // Wait 5 seconds before retrying } } - log.info("OUT OF WHILE LOOP"); + if (retry.connected) { await this.establish(this.taskManager); this.taskManager.otherTasksHandler(ref, "Connected", true); From b3b75771bfd82807120666b96683bc55451c336e Mon Sep 17 00:00:00 2001 From: NeoPlays <80448387+NeoPlays@users.noreply.github.com> Date: Tue, 8 Jul 2025 11:52:59 +0200 Subject: [PATCH 2/6] ADJUST: Logging --- launcher/src/backend/NodeConnection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launcher/src/backend/NodeConnection.js b/launcher/src/backend/NodeConnection.js index 66cb60a78a..904aa69123 100755 --- a/launcher/src/backend/NodeConnection.js +++ b/launcher/src/backend/NodeConnection.js @@ -2131,7 +2131,7 @@ export class NodeConnection { true, err + "\n\n" + (retry.maxTries - retry.counter) + " tries left." ); - log.info(" Could not connect.\n" + (retry.maxTries - retry.counter) + " tries left."); + log.info("Could not connect. " + (retry.maxTries - retry.counter) + " tries left."); await new Promise((resolve) => setTimeout(resolve, 5000)); // Wait 5 seconds before retrying } } From 116aee2606f9260c32ea396c457177eecf42d174 Mon Sep 17 00:00:00 2001 From: NeoPlays <80448387+NeoPlays@users.noreply.github.com> Date: Tue, 8 Jul 2025 12:05:34 +0200 Subject: [PATCH 3/6] ADD: `--list-different` for prettier format check --- launcher/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/launcher/package.json b/launcher/package.json index 3aa8670be0..a9d31b5063 100755 --- a/launcher/package.json +++ b/launcher/package.json @@ -26,7 +26,7 @@ "stereum": "concurrently \"npm:electron:serve\" \"npm:watch:css\"", "backend:watch": "nodemon --watch 'src/backend' --exec 'npm run electron:serve'", "format": "prettier . --write", - "format:check": "prettier . --check" + "format:check": "prettier . --check --list-different" }, "dependencies": { "@headlessui/vue": "^1.7.23", @@ -108,4 +108,4 @@ "type": "git", "url": "git@github.com:stereum-dev/ethereum-node.git" } -} +} \ No newline at end of file From 24f3f1d2b00b69fd017964de7a1dfdd5b23c6362 Mon Sep 17 00:00:00 2001 From: NeoPlays <80448387+NeoPlays@users.noreply.github.com> Date: Tue, 8 Jul 2025 12:17:33 +0200 Subject: [PATCH 4/6] REMOVE: `--list-different` --- launcher/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/launcher/package.json b/launcher/package.json index a9d31b5063..d7a9900e8b 100755 --- a/launcher/package.json +++ b/launcher/package.json @@ -26,7 +26,7 @@ "stereum": "concurrently \"npm:electron:serve\" \"npm:watch:css\"", "backend:watch": "nodemon --watch 'src/backend' --exec 'npm run electron:serve'", "format": "prettier . --write", - "format:check": "prettier . --check --list-different" + "format:check": "prettier . --check" }, "dependencies": { "@headlessui/vue": "^1.7.23", @@ -108,4 +108,4 @@ "type": "git", "url": "git@github.com:stereum-dev/ethereum-node.git" } -} \ No newline at end of file +} From 3e0f4c0005694af1a550da3e4a7adb992017d851 Mon Sep 17 00:00:00 2001 From: NeoPlays <80448387+NeoPlays@users.noreply.github.com> Date: Tue, 8 Jul 2025 12:25:37 +0200 Subject: [PATCH 5/6] REMOVE: buildPrometheusJob --- launcher/src/backend/ethereum-services/BesuService.js | 4 ---- launcher/src/backend/ethereum-services/ErigonService.js | 6 ------ launcher/src/backend/ethereum-services/GethService.js | 6 ------ .../src/backend/ethereum-services/GrandineBeaconService.js | 4 ---- .../backend/ethereum-services/LighthouseBeaconService.js | 4 ---- .../src/backend/ethereum-services/LodestarBeaconService.js | 6 ------ launcher/src/backend/ethereum-services/NethermindService.js | 4 ---- .../src/backend/ethereum-services/NimbusBeaconService.js | 4 ---- launcher/src/backend/ethereum-services/OpErigonService.js | 6 ------ launcher/src/backend/ethereum-services/OpGethService.js | 6 ------ .../src/backend/ethereum-services/OpNodeBeaconService.js | 4 ---- launcher/src/backend/ethereum-services/OpRethService.js | 6 ------ .../ethereum-services/PrometheusNodeExporterService.js | 6 ------ .../src/backend/ethereum-services/PrysmBeaconService.js | 4 ---- launcher/src/backend/ethereum-services/RethService.js | 4 ---- launcher/src/backend/ethereum-services/SSVNetworkService.js | 4 ---- launcher/src/backend/ethereum-services/TekuBeaconService.js | 6 ------ launcher/src/backend/tests/unit/BesuService.test.js | 5 ----- launcher/src/backend/tests/unit/NethermindService.test.js | 5 ----- 19 files changed, 94 deletions(-) diff --git a/launcher/src/backend/ethereum-services/BesuService.js b/launcher/src/backend/ethereum-services/BesuService.js index c77412200c..6431565ccd 100755 --- a/launcher/src/backend/ethereum-services/BesuService.js +++ b/launcher/src/backend/ethereum-services/BesuService.js @@ -80,10 +80,6 @@ export class BesuService extends NodeService { return "stereum-" + this.id + ":9545"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/data")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/ErigonService.js b/launcher/src/backend/ethereum-services/ErigonService.js index c62768a607..5a4ba627c1 100755 --- a/launcher/src/backend/ethereum-services/ErigonService.js +++ b/launcher/src/backend/ethereum-services/ErigonService.js @@ -87,12 +87,6 @@ export class ErigonService extends NodeService { return "stereum-" + this.id + ":6060"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n metrics_path: /debug/metrics/prometheus\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/data/erigon")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/GethService.js b/launcher/src/backend/ethereum-services/GethService.js index d826891a09..f18a3844cf 100755 --- a/launcher/src/backend/ethereum-services/GethService.js +++ b/launcher/src/backend/ethereum-services/GethService.js @@ -97,12 +97,6 @@ export class GethService extends NodeService { return "stereum-" + this.id + ":6060"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n metrics_path: /debug/metrics/prometheus\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/data/geth")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/GrandineBeaconService.js b/launcher/src/backend/ethereum-services/GrandineBeaconService.js index ada5e50fa9..a581f885d9 100644 --- a/launcher/src/backend/ethereum-services/GrandineBeaconService.js +++ b/launcher/src/backend/ethereum-services/GrandineBeaconService.js @@ -103,10 +103,6 @@ export class GrandineBeaconService extends NodeService { return "stereum-" + this.id + ":5054"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/data")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/LighthouseBeaconService.js b/launcher/src/backend/ethereum-services/LighthouseBeaconService.js index 60bca7f8f1..9e6c7b6213 100755 --- a/launcher/src/backend/ethereum-services/LighthouseBeaconService.js +++ b/launcher/src/backend/ethereum-services/LighthouseBeaconService.js @@ -107,10 +107,6 @@ export class LighthouseBeaconService extends NodeService { return "stereum-" + this.id + ":5054"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/beacon")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/LodestarBeaconService.js b/launcher/src/backend/ethereum-services/LodestarBeaconService.js index 461fd96995..d5cdf2fdca 100755 --- a/launcher/src/backend/ethereum-services/LodestarBeaconService.js +++ b/launcher/src/backend/ethereum-services/LodestarBeaconService.js @@ -99,12 +99,6 @@ export class LodestarBeaconService extends NodeService { return "stereum-" + this.id + ":8008"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n metrics_path: /metrics\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/beacon")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/NethermindService.js b/launcher/src/backend/ethereum-services/NethermindService.js index 81ebdebe6a..56808ac8d2 100755 --- a/launcher/src/backend/ethereum-services/NethermindService.js +++ b/launcher/src/backend/ethereum-services/NethermindService.js @@ -80,10 +80,6 @@ export class NethermindService extends NodeService { return "stereum-" + this.id + ":6060"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/data")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/NimbusBeaconService.js b/launcher/src/backend/ethereum-services/NimbusBeaconService.js index d9bdd03032..7c8506fe08 100755 --- a/launcher/src/backend/ethereum-services/NimbusBeaconService.js +++ b/launcher/src/backend/ethereum-services/NimbusBeaconService.js @@ -94,10 +94,6 @@ export class NimbusBeaconService extends NodeService { return "stereum-" + this.id + ":8008"; } - buildPrometheusJob() { - return `\n - job_name: "nimbus"\n metrics_path: /metrics\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/beacon")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/OpErigonService.js b/launcher/src/backend/ethereum-services/OpErigonService.js index 222350be99..623af04955 100644 --- a/launcher/src/backend/ethereum-services/OpErigonService.js +++ b/launcher/src/backend/ethereum-services/OpErigonService.js @@ -101,12 +101,6 @@ export class OpErigonService extends NodeService { buildExecutionClientMetricsEndpoint() { return "stereum-" + this.id + ":6060"; } - - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n metrics_path: /debug/metrics/prometheus\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } } // EOF diff --git a/launcher/src/backend/ethereum-services/OpGethService.js b/launcher/src/backend/ethereum-services/OpGethService.js index 5f7de4805b..cf92c9bb7d 100644 --- a/launcher/src/backend/ethereum-services/OpGethService.js +++ b/launcher/src/backend/ethereum-services/OpGethService.js @@ -106,12 +106,6 @@ export class OpGethService extends NodeService { buildExecutionClientMetricsEndpoint() { return "stereum-" + this.id + ":6060"; } - - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n metrics_path: /debug/metrics/prometheus\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } } // EOF diff --git a/launcher/src/backend/ethereum-services/OpNodeBeaconService.js b/launcher/src/backend/ethereum-services/OpNodeBeaconService.js index 86b84822cb..a0791ee992 100644 --- a/launcher/src/backend/ethereum-services/OpNodeBeaconService.js +++ b/launcher/src/backend/ethereum-services/OpNodeBeaconService.js @@ -117,10 +117,6 @@ export class OpNodeBeaconService extends NodeService { return "stereum-" + this.id + ":7300"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getAvailablePorts() { return [ new ServicePortDefinition(9003, "tcp", "P2P connections"), diff --git a/launcher/src/backend/ethereum-services/OpRethService.js b/launcher/src/backend/ethereum-services/OpRethService.js index 185d7619cb..67e7eb8b45 100644 --- a/launcher/src/backend/ethereum-services/OpRethService.js +++ b/launcher/src/backend/ethereum-services/OpRethService.js @@ -88,12 +88,6 @@ export class OpRethService extends NodeService { buildExecutionClientMetricsEndpoint() { return "stereum-" + this.id + ":6060"; } - - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n metrics_path: /debug/metrics/prometheus\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } } // EOF diff --git a/launcher/src/backend/ethereum-services/PrometheusNodeExporterService.js b/launcher/src/backend/ethereum-services/PrometheusNodeExporterService.js index c87a8b1679..457d5f1880 100755 --- a/launcher/src/backend/ethereum-services/PrometheusNodeExporterService.js +++ b/launcher/src/backend/ethereum-services/PrometheusNodeExporterService.js @@ -40,10 +40,4 @@ export class PrometheusNodeExporterService extends NodeService { buildPrometheusNodeExporterClientMetricsEndpoint() { return "stereum-" + this.id + ":9100"; } - - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n static_configs:\n - targets: [${this.buildPrometheusNodeExporterClientMetricsEndpoint()}]`; - } } diff --git a/launcher/src/backend/ethereum-services/PrysmBeaconService.js b/launcher/src/backend/ethereum-services/PrysmBeaconService.js index e89cd77b4a..c0cecfe6cf 100755 --- a/launcher/src/backend/ethereum-services/PrysmBeaconService.js +++ b/launcher/src/backend/ethereum-services/PrysmBeaconService.js @@ -153,10 +153,6 @@ export class PrysmBeaconService extends NodeService { return "stereum-" + this.id + ":8080"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/beacon")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/RethService.js b/launcher/src/backend/ethereum-services/RethService.js index b361c741dc..6cd088a562 100644 --- a/launcher/src/backend/ethereum-services/RethService.js +++ b/launcher/src/backend/ethereum-services/RethService.js @@ -77,10 +77,6 @@ export class RethService extends NodeService { return "stereum-" + this.id + ":6060"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${this.id}\n static_configs:\n - targets: [${this.buildExecutionClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/data/reth")?.destinationPath; } diff --git a/launcher/src/backend/ethereum-services/SSVNetworkService.js b/launcher/src/backend/ethereum-services/SSVNetworkService.js index ed88f5a205..8fe2bfc6a5 100755 --- a/launcher/src/backend/ethereum-services/SSVNetworkService.js +++ b/launcher/src/backend/ethereum-services/SSVNetworkService.js @@ -95,10 +95,6 @@ SSVAPIPort: 16000`; return "stereum-" + this.id + ":16000"; } - buildPrometheusJob() { - return `\n - job_name: ssv\n metrics_path: /metrics\n static_configs:\n - targets: [${this.buildValidatorClientMetricsEndpoint()}]\n - job_name: ssv_health\n metrics_path: /health\n static_configs:\n - targets: [${this.buildValidatorClientMetricsEndpoint()}]`; - } - getAvailablePorts() { return [ new ServicePortDefinition(13000, "tcp", "P2P connections"), diff --git a/launcher/src/backend/ethereum-services/TekuBeaconService.js b/launcher/src/backend/ethereum-services/TekuBeaconService.js index 1e98a735bf..0d6877adc0 100755 --- a/launcher/src/backend/ethereum-services/TekuBeaconService.js +++ b/launcher/src/backend/ethereum-services/TekuBeaconService.js @@ -105,12 +105,6 @@ export class TekuBeaconService extends NodeService { return "stereum-" + this.id + ":8008"; } - buildPrometheusJob() { - return `\n - job_name: stereum-${ - this.id - }\n scrape_timeout: 10s\n metrics_path: /metrics\n scheme: http\n static_configs:\n - targets: [${this.buildConsensusClientMetricsEndpoint()}]`; - } - getDataDir() { return this.volumes.find((volume) => volume.servicePath === "/opt/app/data")?.destinationPath; } diff --git a/launcher/src/backend/tests/unit/BesuService.test.js b/launcher/src/backend/tests/unit/BesuService.test.js index e1606b47d0..80a949c7fd 100755 --- a/launcher/src/backend/tests/unit/BesuService.test.js +++ b/launcher/src/backend/tests/unit/BesuService.test.js @@ -36,11 +36,6 @@ test("buildExecutionClientMetricsEndpoint", () => { expect(besuMetricsEndpoint).toMatch(/stereum-.{36}:9545/); }); -test("buildPrometheusJob", () => { - const besuPrometheusJob = BesuService.buildByUserInput("goerli", [], "/opt/stereum/besu").buildPrometheusJob(); - expect(besuPrometheusJob).toMatch(/\n {2}- job_name: stereum-.{36}\n {4}static_configs:\n {6}- targets: \[stereum-.{36}:9545]/); -}); - test("buildByConfiguration", () => { const besu = BesuService.buildByConfiguration({ id: "297", diff --git a/launcher/src/backend/tests/unit/NethermindService.test.js b/launcher/src/backend/tests/unit/NethermindService.test.js index 723a1ad5b3..75c9f3275b 100755 --- a/launcher/src/backend/tests/unit/NethermindService.test.js +++ b/launcher/src/backend/tests/unit/NethermindService.test.js @@ -47,11 +47,6 @@ test("buildExecutionClientMetricsEndpoint", () => { expect(nethermindMetricsEndpoint).toMatch(/stereum-.{36}:6060/); }); -test("buildPrometheusJob", () => { - const nethermindPrometheusJob = NethermindService.buildByUserInput("goerli", [], "/opt/stereum/nethermind").buildPrometheusJob(); - expect(nethermindPrometheusJob).toMatch(/\n {2}- job_name: stereum-.{36}\n {4}static_configs:\n {6}- targets: \[stereum-.{36}:6060]/); -}); - test("buildByConfiguration", () => { const nethermind = NethermindService.buildByConfiguration({ id: "297", From c759cf36028eeb2f7a8c28f5ee06508d23152ffe Mon Sep 17 00:00:00 2001 From: NeoPlays <80448387+NeoPlays@users.noreply.github.com> Date: Tue, 8 Jul 2025 12:32:08 +0200 Subject: [PATCH 6/6] FIX: Format --- .../src/backend/tests/integration/GrandineBeaconService.int.js | 3 ++- .../backend/tests/integration/LighthouseBeaconService.int.js | 3 ++- .../src/backend/tests/integration/LodestarBeaconService.int.js | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/launcher/src/backend/tests/integration/GrandineBeaconService.int.js b/launcher/src/backend/tests/integration/GrandineBeaconService.int.js index 27c81a2fa2..a704f4897e 100755 --- a/launcher/src/backend/tests/integration/GrandineBeaconService.int.js +++ b/launcher/src/backend/tests/integration/GrandineBeaconService.int.js @@ -69,7 +69,8 @@ test("grandine consensus client", async () => { geth.imageVersion = versions[geth.network][geth.service].slice(-1).pop(); grandineBC.imageVersion = versions[grandineBC.network][grandineBC.service].slice(-1).pop(); - await nodeConnection.writeServiceConfiguration(geth.buildConfiguration()), await serviceManager.manageServiceState(geth.id, "started"); + await serviceManager.manageServiceState(geth.id, "started"); + await nodeConnection.writeServiceConfiguration(geth.buildConfiguration()); //write configs for grandine BC await nodeConnection.writeServiceConfiguration(grandineBC.buildConfiguration()); diff --git a/launcher/src/backend/tests/integration/LighthouseBeaconService.int.js b/launcher/src/backend/tests/integration/LighthouseBeaconService.int.js index 016f2bf616..3a633c8025 100755 --- a/launcher/src/backend/tests/integration/LighthouseBeaconService.int.js +++ b/launcher/src/backend/tests/integration/LighthouseBeaconService.int.js @@ -76,7 +76,8 @@ test("lighthouse validator import", async () => { lhBC.imageVersion = versions[lhBC.network][lhBC.service].slice(-1).pop(); lhVC.imageVersion = versions[lhVC.network][lhVC.service].slice(-1).pop(); - await nodeConnection.writeServiceConfiguration(geth.buildConfiguration()), await serviceManager.manageServiceState(geth.id, "started"); + await serviceManager.manageServiceState(geth.id, "started"); + await nodeConnection.writeServiceConfiguration(geth.buildConfiguration()); //write configs for lighhouse BC and VC await nodeConnection.writeServiceConfiguration(lhBC.buildConfiguration()); diff --git a/launcher/src/backend/tests/integration/LodestarBeaconService.int.js b/launcher/src/backend/tests/integration/LodestarBeaconService.int.js index 9d9f417493..9d2709741d 100755 --- a/launcher/src/backend/tests/integration/LodestarBeaconService.int.js +++ b/launcher/src/backend/tests/integration/LodestarBeaconService.int.js @@ -77,7 +77,8 @@ test("lodestar validator import", async () => { lBC.imageVersion = versions[lBC.network][lBC.service].slice(-1).pop(); lVC.imageVersion = versions[lVC.network][lVC.service].slice(-1).pop(); - await nodeConnection.writeServiceConfiguration(geth.buildConfiguration()), await serviceManager.manageServiceState(geth.id, "started"); + await serviceManager.manageServiceState(geth.id, "started"); + await nodeConnection.writeServiceConfiguration(geth.buildConfiguration()); //write configs for lodestar BC and VC await nodeConnection.writeServiceConfiguration(lBC.buildConfiguration());