Skip to content
This repository has been archived by the owner on Mar 23, 2021. It is now read-only.

Fix LND-based sanity tests #2192

Closed
bonomat opened this issue Mar 9, 2020 · 6 comments · Fixed by #2244
Closed

Fix LND-based sanity tests #2192

bonomat opened this issue Mar 9, 2020 · 6 comments · Fixed by #2244

Comments

@bonomat
Copy link
Member

bonomat commented Mar 9, 2020

Follow-up ticket of #2106

Problem

This PR introduces skips LND sanity issues. This should not be the case.
It currently timeout at genSeed phase, sometimes it works.

  • lnd is slow to catch-up with blocks from wallet initialisation
  • 2 steps to init wallet: genSeed (to generate seed words) and then initWallet using the previous seed.
  • genSeed accepts a byte array as entropy, this can be pseudo random to not use as much entropy on the local machine.

Goal

Have a stable and preferable fast (parallelizable) LN e2e test setup.

Recommendation

  • Start LND nodes in the test setup not within the tests so that they can be shared between tests.
@D4nte D4nte assigned D4nte and unassigned D4nte Mar 9, 2020
@D4nte D4nte added this to the Sprint 30 🌩🏃‍♂️ milestone Mar 10, 2020
@thomaseizinger thomaseizinger self-assigned this Mar 10, 2020
@bonomat
Copy link
Member Author

bonomat commented Mar 11, 2020

Different idea:

I looked into this issue and I find it really hard to debug. Given we want to move to a complete different setup (start blockchain nodes before the tests #2191) I would propose to ditch the current lnd setup in our e2e tests and start from scratch.

To simplify the setup, we could also move to a simple docker setup, e.g. use the provided containers from here: https://github.com/lightningnetwork/lnd/tree/master/docker
Note: haven't checked if they have holdinvoice enabled)

We don't necessarily have to use the same bitcoin nodes for other e2e tests and the lnd-based e2e tests.

@D4nte : what do you think?

@D4nte
Copy link
Contributor

D4nte commented Mar 11, 2020

Different idea:

I looked into this issue and I find it really hard to debug. Given we want to move to a complete different setup (start blockchain nodes before the tests #2191) I would propose to ditch the current lnd setup in our e2e tests and start from scratch.

To simplify the setup, we could also move to a simple docker setup, e.g. use the provided containers from here: lightningnetwork/lnd:docker@master

We don't necessarily have to use the same bitcoin nodes for other e2e tests and the lnd-based e2e tests.

@D4nte : what do you think?

Yes I support move to docker for lnd & bitcoind just for lnd tests.

@thomaseizinger
Copy link
Contributor

Different idea:
I looked into this issue and I find it really hard to debug. Given we want to move to a complete different setup (start blockchain nodes before the tests #2191) I would propose to ditch the current lnd setup in our e2e tests and start from scratch.
To simplify the setup, we could also move to a simple docker setup, e.g. use the provided containers from here: lightningnetwork/lnd:docker@master
We don't necessarily have to use the same bitcoin nodes for other e2e tests and the lnd-based e2e tests.
@D4nte : what do you think?

Yes I support move to docker for lnd & bitcoind just for lnd tests.

How is that going to make a difference?
We are not experiencing problems in the interaction between bitcoind and lnd right?

@thomaseizinger
Copy link
Contributor

Do you want me to put this issue on hold and we define a different approach?

@bonomat
Copy link
Member Author

bonomat commented Mar 12, 2020

How is that going to make a difference?

it simplifies the setup and maybe it's time to admit that running bare-metal nodes was not the best move.

We are not experiencing problems in the interaction between bitcoind and lnd right?

I'm not sure about this. That's what I meant with the first part:

I would propose to ditch the current lnd setup

because I really don't have an idea where the problem is.

So, my proposal for this ticket which is about fixing lnd-based sanity tests:

Ditch the current lnd setup and start from scratch (potentially by using docker containers)

@thomaseizinger
Copy link
Contributor

Okay, I understand.

I did not yet spend any time on it today. I will time-box the rest of the day to see if I can get it working. If not, I am happy to go for a different approach / drop the ticket.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants