Skip to content

Conversation

marun
Copy link
Contributor

@marun marun commented Jul 6, 2023

Why this should be merged

To better enable e2e test development, this PR adds a new orchestration mechanism for local test networks. Nodes are launched as independent processes and all configuration is serialized to disk to avoid requiring a persistent rpc daemon. Evolving requirements can be implemented directly in the avalanchego repo.

A new CI job (test_e2e_persistent) is added in this PR to start and stop a network with the new fixture. #1709 switches e2e to use the new fixture and updates the new job to run e2e against a persistent network.

How this works

Preliminary documentation has been added via fixture README.

How this was tested

  • Ran ./scripts/tests.e2e.persistent.sh /path/to/avalanchego

TODO

@marun marun force-pushed the e2e-local-network branch 4 times, most recently from a29c191 to 6ad4e71 Compare July 6, 2023 06:49
@hexfusion hexfusion added testing This primarily focuses on testing q3 labels Jul 7, 2023
Copy link
Contributor

@dasconnor dasconnor left a comment

Choose a reason for hiding this comment

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

The design looks good.

I will mention though that this is pretty similar to functionality we offer in the avalanche-cli test suite. With one or two small tweaks, you could replicate this functionality using ANR/CLI. The one feature we'd need to change is enabling a custom avalanchego instance. Currently we only support official releases.

An example suite: https://github.com/ava-labs/avalanche-cli/blob/main/tests/e2e/testcases/subnet/local/suite.go

@marun marun force-pushed the e2e-local-network branch from 7718e1b to 5f731a7 Compare July 11, 2023 03:59
@marun
Copy link
Contributor Author

marun commented Jul 11, 2023

Rebased

@marun marun mentioned this pull request Jul 11, 2023
1 task
Copy link
Contributor

@hexfusion hexfusion left a comment

Choose a reason for hiding this comment

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

Looking great on first pass!

@marun marun force-pushed the e2e-local-network branch from 5514b66 to a96c641 Compare July 12, 2023 15:36
@marun marun force-pushed the e2e-local-network branch 13 times, most recently from 17907a7 to 30e0b72 Compare July 24, 2023 21:31
maru-ava and others added 21 commits August 7, 2023 15:51
Previously this was only used for dynamic port usage, but it's faster
for static ports to use this strategy too.
It will still be possible to set static ports by supplying explicit
node configuration.
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
Signed-off-by: marun <maru.newby@avalabs.org>
@marun marun force-pushed the e2e-local-network branch from 2f10243 to 643ce4b Compare August 7, 2023 23:52
@StephenButtolph StephenButtolph merged commit cae18b9 into dev Aug 8, 2023
@StephenButtolph StephenButtolph deleted the e2e-local-network branch August 8, 2023 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing This primarily focuses on testing
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

7 participants