diff --git a/README.md b/README.md index 2c89b0e..fd4afe9 100644 --- a/README.md +++ b/README.md @@ -28,20 +28,15 @@ The faults supported by Attacknet include: - (WIP) Kernel based: Kernel faults ## Getting started - -Ahead of public release, please add _any_ issues discovered with Attacknet to this Github tracker: https://github.com/crytic/attacknet/issues/59 -Adding issues there will help guide the development of the tool and avoid time wasted on features that don't find good bugs. - ### Installation/Building 1. Install Go 1.21 or newer 2. In the project root, run `go build ./cmd/attacknet` -3. Copy the "attacknet" binary to your PATH or directly invoke it. +3. Copy the "attacknet" binary path to your PATH variable or directly invoke it ### Setting up the other bits -1. Set up a containerd k8s cluster. (1.27 or older) (todo: recommended resourcing. Also note that auto-scaling can - sometimes be too slow, and kurtosis will time out before the nodes for its workload can be provisioned.) +1. Set up a containerd k8s cluster. (1.27 or older), ideally without auto-scaling (as high provisioning time leads to timeouts on kurtosis) 2. Authenticate to the cluster for kubectl 3. Install chaos-mesh 1. `kubectl create ns chaos-mesh` @@ -75,7 +70,7 @@ attacknetConfig: waitBeforeInjectionSeconds: 10 # the number of seconds to wait between the genesis of the network and the injection of faults. To wait for finality, use 25 mins (1500 secs) reuseDevnetBetweenRuns: true # Whether attacknet should skip enclave deletion after the fault concludes. Defaults to false. - existingDevnetNamespace: kt-ethereum # If you don't want to genesis a new network, you can specify an existing namespace that contains a Kurtosis enclave and run tests against it instead. I'm expecting this to only be useful for dev/tool testing. Exclude this parameter for normal operation. + existingDevnetNamespace: kt-ethereum # Omit field for random namespace geneartion. If you want to reuse a running network, you can specify an existing namespace that contains a Kurtosis enclave and run tests against it. allowPostFaultInspection: true # When set to true, Attacknet will maintain the port-forward connection to Grafana once the fault has concluded to allow the operator to inspect metrics. Default: true harnessConfig: @@ -83,7 +78,7 @@ harnessConfig: networkConfig: default.yaml # The configuration to use for the Kurtosis package. These live in ./network-configs and are referenced by their filename. networkType: ethereum # no touchy -# The list of tests to be run. As of right now, the first test is run and the tool terminates. In the future, we will genesis single-use devnets for each test, run the test, and terminate once all the tests are completed and all the enclaves are cleaned up. +# The list of tests to be run before termination testConfig: tests: - testName: packetdrop-1 # Name of the test. Used for logging/artifacts. @@ -93,7 +88,7 @@ testConfig: planSteps: # the list of steps to facilitate the test, executed in order - stepType: injectFault # this step injects a fault, the continues to the next step without waiting for the fault to terminate description: "inject fault" - chaosFaultSpec: # The chaosFaultSpec is basically a pass-thru object for Chaos Mesh fault resources. This means we can support every possible fault out-of-the-box, but slightly complicates generating the configuration. To determine the schema for each fault type, check the Chaos Mesh docs: https://chaos-mesh.org/docs/simulate-network-chaos-on-kubernetes/. One issue with this method is that Attacknet can't verify whether your faultSpec is valid until it tries to create the resource in Kubernetes, and that comes after genesis which takes a long time on its own. If you run into schema validation issues, try creating these objects directly in Kubernetes to hasten the debug cycle. + chaosFaultSpec: # The chaosFaultSpec is basically a pass-thru object for Chaos Mesh fault resources. This means we can support every possible fault out-of-the-box. To determine the schema for each fault type, check the Chaos Mesh docs: https://chaos-mesh.org/docs/simulate-network-chaos-on-kubernetes/. One issue with this method is that Attacknet can't verify whether your faultSpec is valid until it tries to create the resource in Kubernetes, and that comes after genesis which takes a long time on its own. If you run into schema validation issues, try creating these objects directly in Kubernetes to hasten the debug cycle. kind: NetworkChaos apiVersion: chaos-mesh.org/v1alpha1 spec: @@ -111,7 +106,8 @@ testConfig: description: wait for faults to terminate ``` -Over the long term, expect manual fault configuration to be deprecated in favor of the fault planner. +Over the long term, expect manual fault configuration to be deprecated in favor of the fault planner and other automatic test +generation tools. ## Automatically creating test suites/network configs using the planner @@ -125,7 +121,7 @@ execution: # list of execution clients that will be used in the network topology - name: geth image: ethereum/client-go:latest - name: reth - image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.13 + image: ghcr.io/paradigmxyz/reth:latest consensus: # list of consensus clients that will be used in the network topology - name: lighthouse image: sigp/lighthouse:latest @@ -210,6 +206,14 @@ probably be changed. Depending on the state of the Kurtosis package and tons of other variables, a lot of the example test suites/networks might not work out of the box. If you're just trying to test things out, use `attacknet start suite`. This refers to a demo test suite that was tested on Jan 30. +## Contribution +This tool was developed as a collaboration between [Trail of Bits](https://www.trailofbits.com/) and the [Ethereum Foundation](https://github.com/ethereum/). +Thank you for considering helping out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes! + +If this tool was used for finding bugs, please do ensure that the bug is reported to the relevant project maintainers or to the +[Ethereum foundation Bug bounty program](https://ethereum.org/en/bug-bounty/). Please feel free to reach out to the tool +maintainers on Discord, Email or Twitter for any feature requests. + ## Changelog **Dec 15, 2023 version v0.1 (internal)** diff --git a/network-configs/devnet-12.yaml b/network-configs/devnet-12.yaml index b80907a..55f5ab3 100644 --- a/network-configs/devnet-12.yaml +++ b/network-configs/devnet-12.yaml @@ -1,9 +1,9 @@ participants: - - el_client_type: nethermind - el_client_image: nethermindeth/nethermind:release-1.25.0 + - el_client_type: geth + el_client_image: ethereum/client-go:v1.13.13 el_extra_labels: {"ethereum-package.partition": "partA"} cl_client_type: lighthouse - cl_client_image: ethpandaops/lighthouse:unstable-c55608b + cl_client_image: sigp/lighthouse:v5.0.0 beacon_extra_labels: {"ethereum-package.partition": "partA"} validator_extra_labels: {"ethereum-package.partition": "partA"} el_min_cpu: 1000 @@ -20,10 +20,10 @@ participants: v_max_mem: 1028 count: 1 - el_client_type: nethermind - el_client_image: nethermindeth/nethermind:release-1.25.0 + el_client_image: nethermind/nethermind:1.25.4 el_extra_labels: {"ethereum-package.partition": "partA"} - cl_client_type: lighthouse - cl_client_image: ethpandaops/lighthouse:unstable-c55608b + cl_client_type: teku + cl_client_image: consensys/teku:24.2.0-amd64 beacon_extra_labels: {"ethereum-package.partition": "partA"} validator_extra_labels: {"ethereum-package.partition": "partA"} el_min_cpu: 1000 @@ -40,10 +40,10 @@ participants: v_max_mem: 1028 count: 1 - el_client_type: reth - el_client_image: ethpandaops/reth:main-471c28e + el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.19 el_extra_labels: {"ethereum-package.partition": "partB"} cl_client_type: prysm - cl_client_image: gcr.io/prysmaticlabs/prysm/beacon-chain:HEAD-929e9d,gcr.io/prysmaticlabs/prysm/validator:HEAD-929e9d + cl_client_image: gcr.io/prysmaticlabs/prysm/beacon-chain:v5.0.0,gcr.io/prysmaticlabs/prysm/validator:v5.0.0 beacon_extra_labels: {"ethereum-package.partition": "partB"} validator_extra_labels: {"ethereum-package.partition": "partB"} el_min_cpu: 1000 @@ -63,6 +63,9 @@ network_params: deneb_fork_epoch: 1 genesis_delay: 120 additional_services: - - beacon_metrics_gazer - dora -persistent: true \ No newline at end of file + - goomy_blob + - tx_spammer + - blob_spammer +persistent: true +global_client_log_level: info \ No newline at end of file diff --git a/network-configs/lighthouse-stale-safe-issue.yaml b/network-configs/lighthouse-stale-safe-issue.yaml deleted file mode 100644 index 7d8d698..0000000 --- a/network-configs/lighthouse-stale-safe-issue.yaml +++ /dev/null @@ -1,95 +0,0 @@ -participants: - - el_client_type: geth - el_client_image: ethereum/client-go:latest - cl_client_type: lighthouse - cl_client_image: sigp/lighthouse:latest - el_min_cpu: 1000 - el_max_cpu: 1000 - el_min_mem: 1024 - el_max_mem: 1024 - bn_min_cpu: 2000 - bn_max_cpu: 3000 - bn_min_mem: 2048 - bn_max_mem: 2048 - v_min_cpu: 1000 - v_max_cpu: 1000 - v_min_mem: 1028 - v_max_mem: 1028 - count: 1 - - el_client_type: geth - el_client_image: ethereum/client-go:latest - cl_client_type: prysm - cl_client_image: prysmaticlabs/prysm-beacon-chain:latest,prysmaticlabs/prysm-validator:latest - el_min_cpu: 1000 - el_max_cpu: 1000 - el_min_mem: 1024 - el_max_mem: 1024 - bn_min_cpu: 2000 - bn_max_cpu: 3000 - bn_min_mem: 2048 - bn_max_mem: 2048 - v_min_cpu: 1000 - v_max_cpu: 1000 - v_min_mem: 1028 - v_max_mem: 1028 - count: 1 - - el_client_type: erigon - el_client_image: thorax/erigon:v2.53.4 - cl_client_type: prysm - cl_client_image: prysmaticlabs/prysm-beacon-chain:latest,prysmaticlabs/prysm-validator:latest - el_min_cpu: 1000 - el_max_cpu: 1000 - el_min_mem: 1024 - el_max_mem: 1024 - bn_min_cpu: 2000 - bn_max_cpu: 3000 - bn_min_mem: 2048 - bn_max_mem: 2048 - v_min_cpu: 1000 - v_max_cpu: 1000 - v_min_mem: 1028 - v_max_mem: 1028 - count: 1 - - el_client_type: nethermind - el_client_image: nethermind/nethermind:1.23.0 - cl_client_type: prysm - cl_client_image: prysmaticlabs/prysm-beacon-chain:latest,prysmaticlabs/prysm-validator:latest - el_min_cpu: 1000 - el_max_cpu: 1000 - el_min_mem: 1024 - el_max_mem: 1024 - bn_min_cpu: 2000 - bn_max_cpu: 3000 - bn_min_mem: 2048 - bn_max_mem: 2048 - v_min_cpu: 1000 - v_max_cpu: 1000 - v_min_mem: 1028 - v_max_mem: 1028 - count: 1 - - el_client_type: nethermind - el_client_image: nethermind/nethermind:1.23.0 - cl_client_type: lighthouse - cl_client_image: sigp/lighthouse:latest - el_min_cpu: 1000 - el_max_cpu: 1000 - el_min_mem: 1024 - el_max_mem: 1024 - bn_min_cpu: 2000 - bn_max_cpu: 3000 - bn_min_mem: 2048 - bn_max_mem: 2048 - v_min_cpu: 1000 - v_max_cpu: 1000 - v_min_mem: 1028 - v_max_mem: 1028 - count: 1 - -network_params: - # This needs to be set to ensure that path based storage is disabled on geth (older version doesn't yet support it) - capella_fork_epoch: 1 - num_validator_keys_per_node: 32 -additional_services: - - prometheus_grafana - - dora -parallel_keystore_generation: true diff --git a/network-configs/reth.yaml b/network-configs/reth.yaml index 2928b82..f00aa98 100644 --- a/network-configs/reth.yaml +++ b/network-configs/reth.yaml @@ -36,7 +36,7 @@ participants: - el_client_type: geth el_client_image: ethereum/client-go:latest cl_client_type: teku - cl_client_image: consensys/teku:23.12.0 + cl_client_image: consensys/teku:24.2.0 el_min_cpu: 1000 el_max_cpu: 1000 el_min_mem: 1024 @@ -51,7 +51,7 @@ participants: v_max_mem: 1028 count: 1 - el_client_type: reth - el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.13 + el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.19 cl_client_type: prysm cl_client_image: prysmaticlabs/prysm-beacon-chain:latest,prysmaticlabs/prysm-validator:latest el_min_cpu: 1000 @@ -68,7 +68,7 @@ participants: v_max_mem: 1028 count: 1 - el_client_type: reth - el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.13 + el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.19 cl_client_type: lighthouse cl_client_image: sigp/lighthouse:latest el_min_cpu: 1000 @@ -85,9 +85,9 @@ participants: v_max_mem: 1028 count: 1 - el_client_type: reth - el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.13 + el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.19 cl_client_type: teku - cl_client_image: consensys/teku:23.12.0 + cl_client_image: consensys/teku:24.2.0 el_min_cpu: 1000 el_max_cpu: 1000 el_min_mem: 1024 @@ -102,9 +102,9 @@ participants: v_max_mem: 1028 count: 1 - el_client_type: reth - el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.13 + el_client_image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.19 cl_client_type: lodestar - cl_client_image: chainsafe/lodestar:v1.12.1 + cl_client_image: chainsafe/lodestar:v1.16.0 el_min_cpu: 1000 el_max_cpu: 1000 el_min_mem: 1024 diff --git a/planner-configs/clock-skew.yaml b/planner-configs/clock-skew.yaml new file mode 100644 index 0000000..a8e8d7e --- /dev/null +++ b/planner-configs/clock-skew.yaml @@ -0,0 +1,63 @@ +execution: + - name: geth + image: ethereum/client-go:v1.13.13 + - name: reth + image: ghcr.io/paradigmxyz/reth:v0.1.0-alpha.19 + - name: erigon + image: thorax/erigon:v2.58.1 + - name: nethermind + image: nethermindeth/nethermind:1.25.4 + - name: besu + image: hyperledger/besu:24.1.2 +consensus: + - name: lighthouse + image: sigp/lighthouse:v5.0.0 + has_sidecar: true + - name: prysm + image: gcr.io/prysmaticlabs/prysm/beacon-chain:v5.0.0,gcr.io/prysmaticlabs/prysm/validator:v5.0.0 + has_sidecar: true + - name: teku + image: consensys/teku:24.2.0-amd64 + has_sidecar: false + - name: lodestar + image: chainsafe/lodestar:v1.16.0 + has_sidecar: true + - name: nimbus + image: statusim/nimbus-eth2:multiarch-v24.2.2 + has_sidecar: false +network_params: + num_validator_keys_per_node: 32 +kurtosis_package: "github.com/kurtosis-tech/ethereum-package" +kubernetes_namespace: kt-ethereum +topology: + bootnode_el: geth + bootnode_cl: lighthouse +fault_config: + fault_type: ClockSkew + target_client: geth + bootnode_el: geth + bootnode_cl: lighthouse + wait_before_first_test: 1000s + fault_config_dimensions: + - skew: -1m + duration: 1m + grace_period: 600s + - skew: 1m + duration: 1m + grace_period: 600s + - skew: -7m + duration: 1m + grace_period: 600s + - skew: 7m + duration: 1m + grace_period: 600s + fault_targeting_dimensions: + - MatchingNode + - MatchingClient + fault_attack_size_dimensions: + - AttackOneMatching + - AttackMinorityMatching + - AttackSuperminorityMatching + - AttackMajorityMatching + - AttackSupermajorityMatching + - AttackAllMatching \ No newline at end of file diff --git a/test-suites/cpu-stress.yaml b/test-suites/cpu-stress.yaml index 0765026..90d6aa7 100644 --- a/test-suites/cpu-stress.yaml +++ b/test-suites/cpu-stress.yaml @@ -34,7 +34,7 @@ testConfig: # kurtosistech.com.custom/ethereum-package.client-type: beacon # kurtosistech.com.custom/ethereum-package.client-type: execution #kurtosistech.com/id: cl-3-prysm-geth - kurtosistech.com/id: cl-2-prysm-geth + kurtosistech.com/id: cl-3-prysm-reth stressors: cpu: workers: 30 # number of threads that apply stress defined by `load`. workers * load may exceed 100. diff --git a/test-suites/io-latency.yaml b/test-suites/io-latency.yaml index b17d9a2..587c931 100644 --- a/test-suites/io-latency.yaml +++ b/test-suites/io-latency.yaml @@ -8,7 +8,7 @@ attacknetConfig: harnessConfig: networkPackage: github.com/kurtosis-tech/ethereum-package - networkConfig: default.yaml + networkConfig: devnet-12.yaml networkType: ethereum testConfig: @@ -36,13 +36,13 @@ testConfig: kurtosistech.com/id: el-1-geth-lighthouse # for CL nodes - #path: '/consensus-data/**/*' + #path: '/data/*/beacon-data' #volumePath: /consensus-data # for EL nodes - path: '/execution-data/**/*' - volumePath: /execution-data - delay: '2000ms' - percent: 100 + path: '/data/*/execution-data' + volumePath: /data/geth/execution-data + delay: '5000ms' + percent: 50 duration: 120s - stepType: waitForFaultCompletion description: wait for faults to terminate diff --git a/test-suites/io-mistake.yaml b/test-suites/io-mistake.yaml new file mode 100644 index 0000000..7226413 --- /dev/null +++ b/test-suites/io-mistake.yaml @@ -0,0 +1,53 @@ +attacknetConfig: + grafanaPodName: grafana + grafanaPodPort: 3000 + waitBeforeInjectionSeconds: 10 + reuseDevnetBetweenRuns: true + existingDevnetNamespace: kt-ethereum + allowPostFaultInspection: true + +harnessConfig: + networkPackage: github.com/kurtosis-tech/ethereum-package + networkConfig: devnet-12.yaml + networkType: ethereum + +testConfig: + tests: + # Note: io chaos will not work unless the "volumePath" actually maps to a volume mount. The root mount is not valid. + # This means testing io chaos is blocked on Kurtosis supporting persistent volume mounts. + - testName: io-fault + health: + enableChecks: true + gracePeriod: 2m0s + planSteps: + - stepType: injectFault + description: 'Inject i/o faults' + chaosFaultSpec: + kind: IOChaos + apiVersion: chaos-mesh.org/v1alpha1 + spec: + action: fault + mode: all + selector: + labelSelectors: + # kurtosistech.com.custom/ethereum-package.client-type: beacon + # kurtosistech.com.custom/ethereum-package.client-type: execution + #kurtosistech.com/id: cl-3-prysm-geth + kurtosistech.com/id: el-3-geth-prysm + + volumePath: /data/geth/execution-data + # Run errno -l on a linux system to get a list of supporter error numbers + errno: 16 + mistake: + filling: zero + maxOccurrences: 1 + maxLength: 10 + methods: + - READ + - WRITE + percent: 100 + duration: '10s' + - stepType: waitForFaultCompletion + description: wait for faults to terminate + + diff --git a/test-suites/kernel-fault.yaml b/test-suites/kernel-fault.yaml index 5112ab4..a524017 100644 --- a/test-suites/kernel-fault.yaml +++ b/test-suites/kernel-fault.yaml @@ -1,14 +1,13 @@ attacknetConfig: grafanaPodName: grafana grafanaPodPort: 3000 - waitBeforeInjectionSeconds: 300 + waitBeforeInjectionSeconds: 30 reuseDevnetBetweenRuns: true - existingDevnetNamespace: kt-ethereum allowPostFaultInspection: true harnessConfig: networkPackage: github.com/kurtosis-tech/ethereum-package - networkConfig: default.yaml + networkConfig: devnet-12.yaml networkType: ethereum testConfig: @@ -32,10 +31,10 @@ testConfig: # kurtosistech.com.custom/ethereum-package.client-type: beacon # kurtosistech.com.custom/ethereum-package.client-type: execution #kurtosistech.com/id: cl-3-prysm-geth - kurtosistech.com/id: cl-2-prysm-geth + kurtosistech.com/id: el-3-geth-prysm failKernRequest: callchain: - - funcname: '__x64_sys_mount' + - funcname: '__x64_sys_close' failtype: 0 probability: 100 diff --git a/test-suites/memory-stress.yaml b/test-suites/memory-stress.yaml index ce58909..cdcf025 100644 --- a/test-suites/memory-stress.yaml +++ b/test-suites/memory-stress.yaml @@ -3,12 +3,11 @@ attacknetConfig: grafanaPodPort: 3000 waitBeforeInjectionSeconds: 300 reuseDevnetBetweenRuns: true - existingDevnetNamespace: kt-ethereum allowPostFaultInspection: true harnessConfig: networkPackage: github.com/kurtosis-tech/ethereum-package - networkConfig: default.yaml + networkConfig: devnet-12.yaml networkType: ethereum testConfig: @@ -34,7 +33,7 @@ testConfig: # kurtosistech.com.custom/ethereum-package.client-type: beacon # kurtosistech.com.custom/ethereum-package.client-type: execution #kurtosistech.com/id: cl-3-prysm-geth - kurtosistech.com/id: el-3-geth-prysm + kurtosistech.com/id: cl-2-teku-nethermind stressors: memory: workers: 50 # number of threads used to consume the memory defined by size. Memory to be allocated is split evenly between workers. Keep in mind threads have ~3MB overhead each. diff --git a/test-suites/network-bandwidth.yaml b/test-suites/network-bandwidth.yaml index f0a2322..6498858 100644 --- a/test-suites/network-bandwidth.yaml +++ b/test-suites/network-bandwidth.yaml @@ -4,11 +4,10 @@ attacknetConfig: waitBeforeInjectionSeconds: 240 reuseDevnetBetweenRuns: true allowPostFaultInspection: true - existingDevnetNamespace: kt-ethereum harnessConfig: networkPackage: github.com/kurtosis-tech/ethereum-package - networkConfig: default.yaml + networkConfig: devnet-12.yaml networkType: ethereum testConfig: @@ -31,7 +30,7 @@ testConfig: target: mode: all labelSelectors: - kurtosistech.com/id: cl-2-prysm-geth + kurtosistech.com/id: cl-3-prysm-reth mode: all action: bandwidth duration: 1m diff --git a/test-suites/packet-drop.yaml b/test-suites/packet-drop.yaml index a1bde33..5131db3 100644 --- a/test-suites/packet-drop.yaml +++ b/test-suites/packet-drop.yaml @@ -8,7 +8,7 @@ attacknetConfig: harnessConfig: networkPackage: github.com/kurtosis-tech/ethereum-package - networkConfig: default.yaml + networkConfig: devnet-12.yaml networkType: ethereum @@ -27,16 +27,15 @@ testConfig: spec: selector: labelSelectors: - kurtosistech.com/id: cl-3-prysm-erigon-validator + kurtosistech.com/id: el-3-geth-prysm #kurtosistech.com.custom/ethereum-package.client: prysm #kurtosistech.com.custom/ethereum-package.client-type: beacon mode: all action: loss - duration: 20s + duration: 120s loss: - loss: '1' - correlation: '100' + loss: '100' direction: to - stepType: waitForFaultCompletion description: wait for faults to terminate \ No newline at end of file diff --git a/test-suites/pod-kill.yaml b/test-suites/pod-kill.yaml index 0af9e31..3b3e564 100644 --- a/test-suites/pod-kill.yaml +++ b/test-suites/pod-kill.yaml @@ -1,14 +1,14 @@ attacknetConfig: grafanaPodName: grafana grafanaPodPort: 3000 - waitBeforeInjectionSeconds: 0 + waitBeforeInjectionSeconds: 30 reuseDevnetBetweenRuns: true existingDevnetNamespace: kt-ethereum allowPostFaultInspection: true harnessConfig: networkPackage: github.com/kurtosis-tech/ethereum-package - networkConfig: default.yaml + networkConfig: devnet-12.yaml networkType: ethereum testConfig: @@ -31,7 +31,7 @@ testConfig: # kurtosistech.com.custom/ethereum-package.client-type: beacon # kurtosistech.com.custom/ethereum-package.client-type: execution #kurtosistech.com/id: cl-3-prysm-geth - kurtosistech.com/id: cl-3-prysm-geth + kurtosistech.com/id: el-3-geth-prysm diff --git a/test-suites/pod-restart.yaml b/test-suites/pod-restart.yaml index 49a2d21..813a0ba 100644 --- a/test-suites/pod-restart.yaml +++ b/test-suites/pod-restart.yaml @@ -1,7 +1,7 @@ attacknetConfig: grafanaPodName: grafana grafanaPodPort: 3000 - waitBeforeInjectionSeconds: 0 + waitBeforeInjectionSeconds: 300 reuseDevnetBetweenRuns: true existingDevnetNamespace: kt-ethereum allowPostFaultInspection: true @@ -31,8 +31,7 @@ testConfig: # kurtosistech.com.custom/ethereum-package.client-type: beacon # kurtosistech.com.custom/ethereum-package.client-type: execution #kurtosistech.com/id: cl-3-prysm-geth - kurtosistech.com/id: cl-4-prysm-reth - duration: 10s + kurtosistech.com/id: cl-3-prysm-geth-validator