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

Update to new Kurtosis Ethereum Package #6

Closed
wants to merge 33 commits into from
Closed

Update to new Kurtosis Ethereum Package #6

wants to merge 33 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Mar 11, 2024

No description provided.

barnabasbusa and others added 30 commits January 17, 2024 14:43
Adds support for [Xatu](https://github.com/ethpandaops/xatu) in Sentry
mode. Similarly to Ethereum Metrics Exporter, Xatu Sentry can be enabled
globally, or per client pair.

Note: This PR only enables "Sentry". Xatu Server/Clickhouse etc will
need to run outside of Kurtosis for this to be useful.

---------

Co-authored-by: Barnabas Busa <[email protected]>
🤖 I have created a release *beep* *boop*
---


##
[1.3.0](ethpandaops/ethereum-package@1.2.0...1.3.0)
(2024-01-22)


### Features

* add assertoor to additional toolings
([ethpandaops#419](ethpandaops#419))
([76dde3e](ethpandaops@76dde3e))
* add devnets support
([ethpandaops#384](ethpandaops#384))
([2bae099](ethpandaops@2bae099))
* add pitfalls for persistent storage as a warning
([ethpandaops#441](ethpandaops#441))
([69da8f0](ethpandaops@69da8f0))
* add support for testnets
([ethpandaops#437](ethpandaops#437))
([5584cc8](ethpandaops@5584cc8))
* Add Xatu Sentry
([ethpandaops#466](ethpandaops#466))
([b9523cb](ethpandaops@b9523cb))
* enable checkpoint sync for devnets
([ethpandaops#448](ethpandaops#448))
([b367cfe](ethpandaops@b367cfe))
* enable persistence
([ethpandaops#422](ethpandaops#422))
([8d40056](ethpandaops@8d40056))
* enable syncing ephemery
([ethpandaops#459](ethpandaops#459))
([f8289cb](ethpandaops@f8289cb))
* enable syncing shadowforks
([ethpandaops#457](ethpandaops#457))
([313a586](ethpandaops@313a586))


### Bug Fixes

* add CL genesis delay to final genesis time
([ethpandaops#469](ethpandaops#469))
([e36027b](ethpandaops@e36027b))
* add prysm-multiarch upstream image
([ethpandaops#451](ethpandaops#451))
([6feba23](ethpandaops@6feba23))
* added supprot for boot enr file
([ethpandaops#456](ethpandaops#456))
([fd26e5c](ethpandaops@fd26e5c))
* bump max mem limit for nimbus on holesky
([ethpandaops#439](ethpandaops#439))
([fb84787](ethpandaops@fb84787))
* dora template fix
([ethpandaops#452](ethpandaops#452))
([f9243ea](ethpandaops@f9243ea))
* enable ws for geth
([ethpandaops#446](ethpandaops#446))
([d5bf451](ethpandaops@d5bf451))
* erigon chain should be set to dev
([ethpandaops#447](ethpandaops#447))
([1f40d84](ethpandaops@1f40d84))
* erigon command arg
([ethpandaops#454](ethpandaops#454))
([5ae56a1](ethpandaops@5ae56a1))
* fix typo
([ethpandaops#440](ethpandaops#440))
([933a313](ethpandaops@933a313))
* guid fix for besu/teku/erigon/nimbus
([ethpandaops#443](ethpandaops#443))
([2283464](ethpandaops@2283464))
* increase db size for geth
([ethpandaops#453](ethpandaops#453))
([0c67998](ethpandaops@0c67998))
* logging bug
([ethpandaops#462](ethpandaops#462))
([f6098a1](ethpandaops@f6098a1))
* parallel key generation
([ethpandaops#423](ethpandaops#423))
([060fd8f](ethpandaops@060fd8f))
* re-add networkid
([ethpandaops#464](ethpandaops#464))
([4d96409](ethpandaops@4d96409))
* typo
([ethpandaops#445](ethpandaops#445))
([e61c58a](ethpandaops@e61c58a))
* Update nethermind to expose host on 0.0.0.0
([ethpandaops#467](ethpandaops#467))
([0bd29dd](ethpandaops@0bd29dd))
* use all enrs for nimbus via bootstrap file
([ethpandaops#450](ethpandaops#450))
([bb5a0c1](ethpandaops@bb5a0c1))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
go-verkle depns changes, we need this bump to be compatible for the
current verkle tests
Improves the built-in assertoor tests to make them more resilient
against non-critical failures.
Very minor addition to enable running suave-enabled geth (a.k.a.
`suave-execution-geth`) instead of the stock geths.
🤖 I have created a release *beep* *boop*
---


##
[1.4.0](ethpandaops/ethereum-package@1.3.0...1.4.0)
(2024-02-09)


### Features

* Add suave-enabled geth support
([ethpandaops#489](ethpandaops#489))
([631eaf3](ethpandaops@631eaf3))
* add support for custom assertoor images & use assertoor image with
verkle support for verkle chains
([ethpandaops#483](ethpandaops#483))
([2d8a143](ethpandaops@2d8a143))
* add verkle-gen-devnet-3
([ethpandaops#487](ethpandaops#487))
([1e543e8](ethpandaops@1e543e8))
* blockscout support with sc verification
([ethpandaops#481](ethpandaops#481))
([b3418cf](ethpandaops@b3418cf))
* enable custom resource limit per network
([ethpandaops#471](ethpandaops#471))
([5db6611](ethpandaops@5db6611))
* enable shadowforking
([ethpandaops#475](ethpandaops#475))
([b788b18](ethpandaops@b788b18))
* improve built-in assertoor tests
([ethpandaops#488](ethpandaops#488))
([d596699](ethpandaops@d596699))
* we no longer need 4788 deployer
([ethpandaops#485](ethpandaops#485))
([abdfc2c](ethpandaops@abdfc2c))


### Bug Fixes

* add more prefund addresses for verkle-gen
([ethpandaops#482](ethpandaops#482))
([01868fc](ethpandaops@01868fc))
* bump verkle genesis generator
([ethpandaops#486](ethpandaops#486))
([79dc5e1](ethpandaops@79dc5e1))
* use latest stable image for assertoor
([ethpandaops#484](ethpandaops#484))
([bbe0b16](ethpandaops@bbe0b16))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pk910 <[email protected]>
Co-authored-by: parithosh <[email protected]>
Co-authored-by: Gyanendra Mishra <[email protected]>
enable new assertoor api for easier integration with other tools
Adds 2 new fields to the config file under the mev_params field:
mev_boost_image: <The mev-boost image, default is flashbots/mev-boost>
mev_boost_args: <The args of mev-boost. The default params are
["mev-boost", "--relay-check"]>

The behaviour is such that, `mev-boost-args` overrides all the args of
mev-boost. No extra params are added.

Resolves ethpandaops#289

---------

Co-authored-by: Barnabas Busa <[email protected]>
Co-authored-by: franjoespejo <[email protected]>
Co-authored-by: Gyanendra Mishra <[email protected]>
Co-authored-by: Sam Calder-Mason <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pk910 <[email protected]>
Co-authored-by: Parithosh Jayanthi <[email protected]>
Co-authored-by: franjoespejo <[email protected]>
Co-authored-by: Anton <[email protected]>
…_params (ethpandaops#498)

This adds the ability do use complex objects that are passed through to
the assertoor config in json format.
It allows defining assertoor tests like this via the kurtosis params:
```
assertoor_params:
  run_stability_check: false
  run_block_proposal_check: true
  tests:
    - file: https://raw.githubusercontent.com/ethpandaops/assertoor-test/master/assertoor-tests/block-proposal-check.yaml
      timeout: 2h
      config:
        someCustomTestConfig: "some value"
```

The old way to specify the link to the test only is still supported:
```
assertoor_params:
  run_stability_check: false
  run_block_proposal_check: true
  tests:
    - "https://raw.githubusercontent.com/ethpandaops/assertoor-test/master/assertoor-tests/block-proposal-check.yaml"
```

Effectively both formats can be used.


The downstream implementation is unfortunately not super nice 😅
It embeds the test configs as json objects within the yaml
configuration.
This works fine as yaml inherits the json syntax.
Separates the validator clients more cleanly from the CL clients. This
then allows the use of different combinations of CL/VC clients, e.g.
Teku VC with Lodestar CL. The only VC that doesn't work with different
beacon nodes is Prysm at the moment.

The `use_separate_validator_client` flag defaults to false for CL
clients that can run validators in the same process as the CL
(preserving the way the `cl_split_mode_enabled` worked before this PR).

I believe this can be quite useful to test different VC<->CL
combinations for compatibility.

---------

Co-authored-by: Barnabas Busa <[email protected]>
…thpandaops#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.
pk910 and others added 3 commits March 6, 2024 18:00
The ranges.yaml currently looks like this:
```
0-250: cl-1-lighthouse-geth
250-500: cl-2-prysm-reth
500-750: cl-3-lodestar-besu
```

but the end index should be inclusive:
```
0-249: cl-1-lighthouse-geth
250-499: cl-2-prysm-reth
500-749: cl-3-lodestar-besu
```
…ops#508)

# Important!
There are many participant fields that have been renamed to be more
consistent with the rest of the package. The following fields have been
renamed:
### EL Flags
```
el_client_type -> el_type
el_client_image -> el_image
el_client_log_level -> el_log_level
el_client_volume_size -> el_volume_size
```
### CL Flags
```
cl_client_type -> cl_type
cl_client_image -> cl_image
cl_client_volume_size -> cl_volume_size
cl_client_log_level -> cl_log_level
beacon_extra_params -> cl_extra_params
beacon_extra_labels -> cl_extra_labels
bn_min_cpu -> cl_min_cpu
bn_max_cpu -> cl_max_cpu
bn_min_mem -> cl_min_mem
bn_max_mem -> cl_max_mem
use_separate_validator_client -> use_separate_vc
```
### Validator flags
```
validator_client_type -> vc_type
validator_tolerations -> vc_tolerations
validator_client_image -> vc_image
validator_extra_params -> vc_extra_params
validator_extra_labels -> vc_extra_labels
v_min_cpu -> vc_min_cpu
v_max_cpu -> vc_max_cpu
v_min_mem -> vc_min_mem
v_max_mem -> vc_max_mem
```
### Global flags
```
global_client_log_level -> global_log_level
```


Once this PR is merged, the old names will no longer work, and you will
have to bulk rename all your yaml files.

A rename.sh bash script is added, which can be used to do bulk `find and
replace` operations.
```bash
rename.sh yourFile.yaml
```

---------

Co-authored-by: Gyanendra Mishra <[email protected]>
🤖 I have created a release *beep* *boop*
---


##
[2.0.0](ethpandaops/ethereum-package@1.4.0...2.0.0)
(2024-03-08)


### ⚠ BREAKING CHANGES

* participant_network & rename participant fields.
([ethpandaops#508](ethpandaops#508))
* add node selectors features
([ethpandaops#491](ethpandaops#491))

### Features

* add keymanager to all validator processes
([ethpandaops#502](ethpandaops#502))
([836eda4](ethpandaops@836eda4))
* add nimbus-eth1
([ethpandaops#496](ethpandaops#496))
([d599729](ethpandaops@d599729))
* add node selectors features
([ethpandaops#491](ethpandaops#491))
([316d42f](ethpandaops@316d42f))
* allow more detailed additional test configurations in assertoor_params
([ethpandaops#498](ethpandaops#498))
([fe2de7e](ethpandaops@fe2de7e))
* enable api in assertoor config
([ethpandaops#495](ethpandaops#495))
([9ceae9c](ethpandaops@9ceae9c))
* enable dencun-genesis
([ethpandaops#500](ethpandaops#500))
([beb764f](ethpandaops@beb764f))
* make snapshot url configurable
([ethpandaops#507](ethpandaops#507))
([6fa0475](ethpandaops@6fa0475))
* parameterize mev-boost args
([ethpandaops#400](ethpandaops#400))
([e48483a](ethpandaops@e48483a))
* separate validator clients from CL clients
([ethpandaops#497](ethpandaops#497))
([90da2c3](ethpandaops@90da2c3))


### Bug Fixes

* fix end index in validator ranges file
([ethpandaops#509](ethpandaops#509))
([da55be8](ethpandaops@da55be8))
* lh vc flag logic
([ethpandaops#506](ethpandaops#506))
([bc5e725](ethpandaops@bc5e725))
* nimbus-eth1 advertise proper extip
([ethpandaops#501](ethpandaops#501))
([1d5a779](ethpandaops@1d5a779))
* README global node selector
([ethpandaops#504](ethpandaops#504))
([f9343a2](ethpandaops@f9343a2))
* use the cl as the default validator image if none are defined
([ethpandaops#503](ethpandaops#503))
([181dd04](ethpandaops@181dd04))


### Code Refactoring

* participant_network & rename participant fields.
([ethpandaops#508](ethpandaops#508))
([fab341b](ethpandaops@fab341b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@ghost ghost self-assigned this Mar 11, 2024
@ghost ghost closed this Mar 11, 2024
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants