Skip to content

feat(e2e): config flag for arbitrary CometBFT configurations (backport #3967)#4309

Merged
mergify[bot] merged 5 commits intov1.xfrom
mergify/bp/v1.x/pr-3967
Oct 20, 2024
Merged

feat(e2e): config flag for arbitrary CometBFT configurations (backport #3967)#4309
mergify[bot] merged 5 commits intov1.xfrom
mergify/bp/v1.x/pr-3967

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify bot commented Oct 20, 2024

Addresses #3832.

Introduces a flag config to the manifest. It is a list of strings that should have the format key = value. Keys are any of the configuration parameters included in a CometBFT configuration file.

The flag can be global, meaning that the configurations will be applied for every node in the network, or specific for a given node, when inserted in the section referring to that node. Local/specific configurations are applied after the global ones, therefore overriding them.

Example:

config = [
   "p2p.send_rate = 51200",
   "filter_peers = true",
]

The configurations are applying using viper, as I could not find another way to load configuration parameters. They are always loaded as a string, and this appears to work correctly.

Note: this PR is based atop #3964 for simplicity, but it does not need to.


PR checklist

  • Tests written/updated
  • Changelog entry added in .changelog (we use unclog to manage our changelog)
  • Updated relevant documentation (docs/ or spec/) and code comments

This is an automatic backport of pull request #3967 done by [Mergify](https://mergify.com).

Daniel and others added 2 commits October 20, 2024 08:39
Refactors the `e2e` testbed to remove some unnecessary duplication
between `Manifest` and `Testnet`, and `ManifestNode` and `Node`. Fields
that are identical in the two types are removed from the latter, which
includes (extends) the former. Fields that had the same name but
different types or semantics in the two versions, were renamed in the
manifest.

With this change, to add a new field to the configuration of a testnet
or a node, it is enough to update the `Manifest` or `ManifestNode`. The
new field must also be added to `Testnet` or `Node` if it needs to be
somehow parsed (see the examples of the `Seeds` and `PersistentPeers`
fields).

---

#### PR checklist

- [ ] Tests written/updated
- [ ] Changelog entry added in `.changelog` (we use
[unclog](https://github.com/informalsystems/unclog) to manage our
changelog)
- [ ] Updated relevant documentation (`docs/` or `spec/`) and code
comments

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Andy Nogueira <me@andynogueira.dev>
(cherry picked from commit 40c4b40)

# Conflicts:
#	test/e2e/generator/generate.go
#	test/e2e/pkg/testnet.go
Addresses #3832.

Introduces a flag `config` to the manifest. It is a list of strings that
should have the format `key = value`. Keys are any of the configuration
parameters included in a CometBFT configuration file.

The flag can be global, meaning that the configurations will be applied
for every node in the network, or specific for a given node, when
inserted in the section referring to that node. Local/specific
configurations are applied after the global ones, therefore overriding
them.

Example:

```
config = [
   "p2p.send_rate = 51200",
   "filter_peers = true",
]
```

The configurations are applying using `viper`, as I could not find
another way to load configuration parameters. They are always loaded as
a string, and this appears to work correctly.

Note: this PR is based atop #3964 for simplicity, but it does not need
to.

---

#### PR checklist

- [ ] Tests written/updated
- [ ] Changelog entry added in `.changelog` (we use
[unclog](https://github.com/informalsystems/unclog) to manage our
changelog)
- [ ] Updated relevant documentation (`docs/` or `spec/`) and code
comments

---------

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Andy Nogueira <me@andynogueira.dev>
(cherry picked from commit cea82b1)
@mergify mergify bot requested a review from a team as a code owner October 20, 2024 08:39
@mergify mergify bot assigned cason Oct 20, 2024
@mergify mergify bot requested a review from a team October 20, 2024 08:39
@cason cason changed the base branch from v1.x to mergify/bp/v1.x/pr-3964 October 20, 2024 09:01
Base automatically changed from mergify/bp/v1.x/pr-3964 to v1.x October 20, 2024 09:06
Copy link
Copy Markdown

@cason cason left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Diffs are identical.

@mergify mergify bot merged commit 968f51c into v1.x Oct 20, 2024
@mergify mergify bot deleted the mergify/bp/v1.x/pr-3967 branch October 20, 2024 09:16
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.

1 participant