op-devstack: run rust services as sub-processes in sysgo#16726
op-devstack: run rust services as sub-processes in sysgo#16726protolambda merged 2 commits intodevelopfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #16726 +/- ##
============================================
- Coverage 45.82% 0 -45.83%
============================================
Files 1468 0 -1468
Lines 119406 0 -119406
============================================
- Hits 54719 0 -54719
+ Misses 60854 0 -60854
+ Partials 3833 0 -3833
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Copy-paste from conversation thread, progress update on Kona test running: Trying to test-run now, but Kona-node is not updating its L1 finalized/safe data, and because of that not its L2 safe/finalized. Meanwhile L1 initially responds with generic error, because upon genesis it doesn't immediately have a finalized/safe block yet, but those are set shortly after startup in our in-Go setup. Still, it's valid to not have a finalized/safe block in L1 after genesis (the poor generic error by L1 geth is bad though). Logs: Could it be that kona-node internally caches the failed RPC result somehow? Or stops trying? It gets in a loop with: I.e. the kona-node doesn't label anything as safe, and this stops the batcher (and proposer too). And without batcher, it won't batch-submit, and never mark something safe. EDIT: for context, I'm running And we need to make some slight adjustment to parse the Update: @theochap fixed these issues in Kona |
d2a074e to
bb137f2
Compare
f9be466 to
9fc9c6c
Compare
mslipper
left a comment
There was a problem hiding this comment.
proxy changes look fine
|
There's something wrong with |
4b32eb4 to
f88e3f8
Compare
|
Rebased, and fixed the |
…go integration (#2716) ## Description Updates the test go package to point to ethereum-optimism/optimism#16726
Squashed op-devstack integration work: op-devstack: sysgo L2 CL interface, op-node/kona-node options op-devstack: fix safedb option op-devstack: kona node configuration op-devstack: try get kona running op-devstack: generalize sysgo L2 EL, start on op-reth support op-devstack/sysgo: op-reth work in progress op-devstack/sysgo: initial op-reth support op-devstack: kona setup fixes op-devstack: kona node sub-process integration progress nit(op-geth): rebase artifact feat(devstack/kona): kona tests work op-devstack: proxy RPCs of kona-node, op-node, op-reth op-devstack: add missing op-node/op-reth start/stop checks op-devstack/sysgo: document env vars, simplify reth env var usage to match kona env var usage op-devstack/sysgo: fix tests op-devstack: fix nil L2 EL option args op-devstack: attempt to fix sub-process test in CI env op-devstack: sub-proc improve diff
c12091d to
c3bcd16
Compare
…timism#16726) * op-devstack,op-service: sub-process support Squashed op-devstack integration work: op-devstack: sysgo L2 CL interface, op-node/kona-node options op-devstack: fix safedb option op-devstack: kona node configuration op-devstack: try get kona running op-devstack: generalize sysgo L2 EL, start on op-reth support op-devstack/sysgo: op-reth work in progress op-devstack/sysgo: initial op-reth support op-devstack: kona setup fixes op-devstack: kona node sub-process integration progress nit(op-geth): rebase artifact feat(devstack/kona): kona tests work op-devstack: proxy RPCs of kona-node, op-node, op-reth op-devstack: add missing op-node/op-reth start/stop checks op-devstack/sysgo: document env vars, simplify reth env var usage to match kona env var usage op-devstack/sysgo: fix tests op-devstack: fix nil L2 EL option args op-devstack: attempt to fix sub-process test in CI env op-devstack: sub-proc improve diff * op-devstack: fix CI
* op-devstack,op-service: sub-process support Squashed op-devstack integration work: op-devstack: sysgo L2 CL interface, op-node/kona-node options op-devstack: fix safedb option op-devstack: kona node configuration op-devstack: try get kona running op-devstack: generalize sysgo L2 EL, start on op-reth support op-devstack/sysgo: op-reth work in progress op-devstack/sysgo: initial op-reth support op-devstack: kona setup fixes op-devstack: kona node sub-process integration progress nit(op-geth): rebase artifact feat(devstack/kona): kona tests work op-devstack: proxy RPCs of kona-node, op-node, op-reth op-devstack: add missing op-node/op-reth start/stop checks op-devstack/sysgo: document env vars, simplify reth env var usage to match kona env var usage op-devstack/sysgo: fix tests op-devstack: fix nil L2 EL option args op-devstack: attempt to fix sub-process test in CI env op-devstack: sub-proc improve diff * op-devstack: fix CI
…timism#16726) * op-devstack,op-service: sub-process support Squashed op-devstack integration work: op-devstack: sysgo L2 CL interface, op-node/kona-node options op-devstack: fix safedb option op-devstack: kona node configuration op-devstack: try get kona running op-devstack: generalize sysgo L2 EL, start on op-reth support op-devstack/sysgo: op-reth work in progress op-devstack/sysgo: initial op-reth support op-devstack: kona setup fixes op-devstack: kona node sub-process integration progress nit(op-geth): rebase artifact feat(devstack/kona): kona tests work op-devstack: proxy RPCs of kona-node, op-node, op-reth op-devstack: add missing op-node/op-reth start/stop checks op-devstack/sysgo: document env vars, simplify reth env var usage to match kona env var usage op-devstack/sysgo: fix tests op-devstack: fix nil L2 EL option args op-devstack: attempt to fix sub-process test in CI env op-devstack: sub-proc improve diff * op-devstack: fix CI
…timism#16726) * op-devstack,op-service: sub-process support Squashed op-devstack integration work: op-devstack: sysgo L2 CL interface, op-node/kona-node options op-devstack: fix safedb option op-devstack: kona node configuration op-devstack: try get kona running op-devstack: generalize sysgo L2 EL, start on op-reth support op-devstack/sysgo: op-reth work in progress op-devstack/sysgo: initial op-reth support op-devstack: kona setup fixes op-devstack: kona node sub-process integration progress nit(op-geth): rebase artifact feat(devstack/kona): kona tests work op-devstack: proxy RPCs of kona-node, op-node, op-reth op-devstack: add missing op-node/op-reth start/stop checks op-devstack/sysgo: document env vars, simplify reth env var usage to match kona env var usage op-devstack/sysgo: fix tests op-devstack: fix nil L2 EL option args op-devstack: attempt to fix sub-process test in CI env op-devstack: sub-proc improve diff * op-devstack: fix CI
…go integration (#2716) ## Description Updates the test go package to point to ethereum-optimism/optimism#16726
…go integration (#2716) ## Description Updates the test go package to point to ethereum-optimism/optimism#16726
…go integration (op-rs/kona#2716) ## Description Updates the test go package to point to #16726
…go integration (op-rs/kona#2716) ## Description Updates the test go package to point to #16726
…go integration (#2716) ## Description Updates the test go package to point to ethereum-optimism/optimism#16726
Description
While the devstack offers flexibility between remote networks and local sysgo networks, the feedback loop of the remote network and the configuration challenges make it difficult to use.
Sysgo also provides additional network customization, since the network is set up for the testing specifically, and can is not constrained to kurtosis / other external things.
The rust stack needs a faster feedback loop, and coverage of these sysgo tests, so a different approach was taken than kurtosis here.
This PR introduces the idea of running Kona / op-reth as a "sub-process". By swapping the Go service that normally runs in sysgo for a managed sub-process, the sysgo testing works all the same, and in-process Go services can interact with the sub-process rust services.
This PR:
Usage:
DEVSTACK_L2CL_KIND=konato select konaDEVSTACK_L2EL_KIND=op-rethto select op-rethKONA_NODE_EXEC_PATH=/home/USERHERE/projects/kona/target/debug/kona-nodeto select the kona-node executable to runOP_RETH_EXEC_PATH=/home/USERHERE/projects/reth/target/release/op-rethto select the op-reth executable to runDefaults are to op-node / op-geth
Tests
Additional context
Metadata
Fix #16725