Commit Graph

250 Commits

Author SHA1 Message Date
William Banfield
b378a2b59d use --no-start 2022-12-09 16:21:26 -05:00
William Banfield
64a65c75f1 use correct variable in e2e compose 2022-12-08 15:27:57 -05:00
William Banfield
63b5b09871 Merge remote-tracking branch 'origin/main' into wb/issue-9790 2022-12-08 12:06:41 -05:00
William Banfield
3324f49fb7 inspect: resurrect the inspect command (#9655)
resurrect the inspect command from #6785

Co-authored-by: Sam Kleinman <garen@tychoish.com>
Co-authored-by: Thane Thomson <connect@thanethomson.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
2022-12-07 12:15:55 -05:00
William Banfield
ac48630fdb e2e: add multiversion flag to generator (#9829)
* add multiversion flag to generator

* clarify flag comment
2022-12-06 11:17:47 -05:00
William Banfield
ad9c3140fb Merge remote-tracking branch 'origin/main' into wb/issue-9790 2022-12-05 11:52:28 -05:00
William Banfield
e22b61ab9d use external IP in digital ocean 2022-12-05 11:34:20 -05:00
William Banfield
8e3f608770 add external address field 2022-12-05 11:28:42 -05:00
William Banfield
ac539b1f3d rename IP node field 2022-12-05 11:25:01 -05:00
William Banfield
4dd0ff5621 remove hostkeyalgorithm setting 2022-12-05 10:18:15 -05:00
William Banfield
143109eb28 Update test/e2e/pkg/infra/digitalocean/digitalocean.go
Co-authored-by: Thane Thomson <connect@thanethomson.com>
2022-12-05 10:15:43 -05:00
William Banfield
d5119c20f7 remove backup for INFRASTRUCTURE_DATA missing 2022-12-05 10:13:17 -05:00
William Banfield
5ba0d131c4 e2e: setup testing for multi-version (#9819)
This pull requests sets up the e2e tests to be able to support multiple versions within the same test network. This is achieved through a few simple changes:

* Each node takes a `version` parameter in the testnet manifest. This dictates which version of the testapp to use. If not set, the locally available version is used.
* Adds a `testapp-docker.yml` workflow that publishes the testapp to docker hub so that tagged versions may be available for use in a multi-version test network.

This change does not actually add a testnetwork that does multi-version testing. Since no previous versions of the testapp have been published to dockerhub, there are not old versions available to test against. We'll either need to configure this after the next minor release which will trigger a testapp to be pushed to dockerhub, or push an image from the previous version of Tendermint so that the multiversion test has an old version to pull.

#### PR checklist

- [ ] Tests written/updated, or no tests needed
- [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [ ] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed
2022-12-02 18:37:33 +00:00
William Banfield
654e5652e4 e2e: add defer to ensure waitgroup is finished. (#9822)
* defer wait group completion

* generate correct number of tx
2022-12-02 13:19:10 -05:00
William Banfield
644a93a759 correct the nolint comment format 2022-12-01 11:31:51 -05:00
William Banfield
ca78052a7e use IP.Equal instead of bytes.Equal 2022-12-01 11:31:30 -05:00
William Banfield
2bcc84efd4 gofmt 2022-12-01 11:30:19 -05:00
William Banfield
59f93e9035 close connection in ssh exec 2022-12-01 11:21:51 -05:00
William Banfield
d09f4f503d e2e: create client when sending transaction (#9814)
Fixes the issue observed in an [e2e test run](https://github.com/tendermint/tendermint/actions/runs/3588927225). The issue arises when the e2e runner process cannot connect to the remote node. In the previous version of this code, the runner would simply skip the transaction if the client couldn't connect. This pull request resurrects that behavior.

---

#### PR checklist

- [ ] Tests written/updated, or no tests needed
- [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [ ] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed
2022-12-01 16:21:28 +00:00
William Banfield
8ec6013b1d return session error 2022-12-01 11:17:03 -05:00
William Banfield
5a6b3abe27 allow unknown hosts to be accessed 2022-12-01 11:17:03 -05:00
William Banfield
3cfb90fb5b error if auth sock not defined 2022-12-01 11:17:03 -05:00
William Banfield
9c8c6c4cff move agent socket dial to client connection creation 2022-12-01 11:17:03 -05:00
William Banfield
1a2afa62c5 plump infra data into tests 2022-12-01 11:17:03 -05:00
William Banfield
de20e3d224 use ssh agent to auth to remote 2022-12-01 11:17:03 -05:00
William Banfield
b7fccf0138 add client creation logic 2022-12-01 11:17:03 -05:00
William Banfield
b0be713546 add digital ocean package 2022-12-01 11:17:03 -05:00
William Banfield
e009a2c7ee add ssh pkg 2022-12-01 11:17:03 -05:00
William Banfield
db7b4a0e32 commit exec pkg 2022-12-01 11:17:03 -05:00
William Banfield
0cafe89301 start and create calls replaced with infra provider 2022-12-01 11:17:03 -05:00
William Banfield
eec848b408 add create node to infra provider 2022-12-01 11:17:03 -05:00
William Banfield
9e4a24681c docker.exec takes context 2022-12-01 11:17:03 -05:00
William Banfield
eb46fdc720 compose verbose takes context 2022-12-01 11:17:03 -05:00
William Banfield
be8d980f83 exec compose takes context 2022-12-01 11:17:03 -05:00
William Banfield
6415af6b92 functionality in place for start kill terminate 2022-12-01 11:17:03 -05:00
William Banfield
6389d3d3f3 remove runner exec 2022-12-01 11:17:03 -05:00
William Banfield
55c0e472c9 all exec switched to docker package 2022-12-01 11:17:03 -05:00
William Banfield
241c96a96e switch exec compose to docker pkg 2022-12-01 11:17:03 -05:00
William Banfield
11ca11a8cc add param names 2022-12-01 11:17:03 -05:00
William Banfield
6117ad38aa add command package 2022-12-01 11:17:03 -05:00
William Banfield
23cb6ad834 add terminate vs kill 2022-12-01 11:17:03 -05:00
William Banfield
64b0340251 rename to 'kill tendermint' 2022-12-01 11:17:03 -05:00
William Banfield
1a831b2fcb rename to 'tendermint' 2022-12-01 11:17:03 -05:00
William Banfield
e49f6aecdb shim in start and stop methods 2022-12-01 11:17:03 -05:00
Sergio Mena
739b92bf01 Fix typo in new option in e2e manifest node (#9806)
The "toml" annotation of "send no load" had a typo (`send_no_laod`).

This is suspected to have caused failures in e2e, however I couldn't reproduce the error locally, so not sure this will fix it. Still, the typo needs to be fixed in any case.


---

#### PR checklist

- [x] Tests written/updated, or no tests needed
- [x] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [x] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed
2022-12-01 12:19:15 +00:00
William Banfield
21b2801c60 e2e: test runner generates loadtime formatted transactions. (#9779) 2022-11-30 13:36:19 -05:00
AdamKorcz
9d01a6880e Update oss-fuzz-build.sh (#9745)
Fixes the tendermint OSS-Fuzz build by adjusting for some infra changes that were made in OSS-Fuzz.



---

#### PR checklist

- [ ] Tests written/updated, or no tests needed
- [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [ ] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed
2022-11-25 16:43:34 +00:00
Jacob Gadikian
8fd66a6e8d make format (#9744)
## NOTE: this pr exclusively runs commands from the makefile found here


This PR ONLY runs `make format` ... then `make mockery`



Its purpose is to ensure that the review scope of other PR's, which changed .go files and thus triggered the linter that only runs conditionally, have smaller review 
scopes, and should be merged before:

https://github.com/tendermint/tendermint/pull/9738
https://github.com/tendermint/tendermint/pull/9739
https://github.com/tendermint/tendermint/pull/9742






---

#### PR checklist

- [x] Tests written/updated, or no tests needed
- [x] `CHANGELOG_PENDING.md` updated, or no changelog entry needed
- [x] Updated relevant documentation (`docs/`) and code comments, or no
      documentation updates needed
2022-11-24 14:53:57 +00:00
Thane Thomson
45071d1f23 abci: Add unsynchronized local client (#9660)
* Remove extra interface cast

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove irrelevant comment

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* abci: Add unsynchronized local client

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* proxy: Add unsync local client creator

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* e2e: Add sync app for use with unsync local client

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* abci: Elaborate on mutex param in unsync local client

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* proxy: Remove unnecessary comment

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* abcicli: Remove unnecessary mutex param from unsync client

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* ci/e2e: Explicitly use sync app for validator04

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* e2e: Ensure app is definitely the E2E app

Signed-off-by: Thane Thomson <connect@thanethomson.com>

Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-11-07 06:46:55 -05:00
Thane Thomson
816c6bac00 rpc: Add caching support (#9650)
* Set cache control in the HTTP-RPC response header

* Add a simply cache policy to the RPC routes

* add a condition to check the RPC request has default height settings

* fix cherry pick error

* update pending log

* use options struct intead of single parameter

* refacor FuncOptions to functional options

* add functional options in WebSocket RPC function

* revert doc

* replace deprecated function call

* revise functional options

* remove unuse comment

* fix revised error

* adjust cache-control settings

* Update rpc/jsonrpc/server/http_json_handler.go

Co-authored-by: Thane Thomson <connect@thanethomson.com>

* linter: Fix false positive

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* rpc: Separate cacheable and non-cacheable HTTP response writers

Allows us to roll this change out in a non-API-breaking way, since this
is an additive change.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* rpc: Ensure consistent caching strategy

Ensure a consistent caching strategy across both JSONRPC- and URI-based
requests.

This requires a bit of a refactor of the previous caching logic, which
is complicated a little by the complex reflection-based approach taken
in the Tendermint RPC.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* rpc: Add more tests for caching

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Update CHANGELOG_PENDING

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* light: Sync routes config with RPC core

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* rpc: Update OpenAPI docs

Signed-off-by: Thane Thomson <connect@thanethomson.com>

Signed-off-by: Thane Thomson <connect@thanethomson.com>
Co-authored-by: jayt106 <jaytseng106@gmail.com>
Co-authored-by: jay tseng <jay.tseng@crypto.com>
Co-authored-by: JayT106 <JayT106@users.noreply.github.com>
2022-11-03 13:19:44 -04:00