feat(e2e): config flag for arbitrary CometBFT configurations (backport #3967)#4309
Merged
mergify[bot] merged 5 commits intov1.xfrom Oct 20, 2024
Merged
feat(e2e): config flag for arbitrary CometBFT configurations (backport #3967)#4309mergify[bot] merged 5 commits intov1.xfrom
config flag for arbitrary CometBFT configurations (backport #3967)#4309mergify[bot] merged 5 commits intov1.xfrom
Conversation
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #3832.
Introduces a flag
configto the manifest. It is a list of strings that should have the formatkey = 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:
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
.changelog(we use unclog to manage our changelog)docs/orspec/) and code commentsThis is an automatic backport of pull request #3967 done by [Mergify](https://mergify.com).