Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create tool for quickly setting up enviroments for compatibility tests #713

Open
3 of 8 tasks
gorbak25 opened this issue Oct 29, 2018 · 0 comments
Open
3 of 8 tasks

Comments

@gorbak25
Copy link
Contributor

When I was checking compatibility of the withdraw and deposit transaction with epoch I noticed that setting up and managing the test environment takes a lot of time. Additionally the logs are not separated and easily accessible and manual testing on a multi computer network would be tedious.

If we limit ourself to a single machine this could be done with docker (or in the multi computer version with kubernetes) but even then obtaining and managing multiple REPL shells in the nodes would be tedious.

The target of this issue is to create a helper tool for managing and performing manual tests(or partially automated tests) on multiple epoch and elixir nodes on different computers(additionally each computer must support many nodes simultaneously).

Contrary to the multi-node test framework this tool should create test environments for manual or partially automated tests, additionally the logs for each instance should be easily accessible and kept separate.

I think the pwnlib library from python2 would be ideal for the job(python3 support is still WIP) - this is why the tool will be written in python.

What functionality is needed:

  • Create non interfering elixir and epoch instances on the same computer.
  • Create epoch and elixir instances remotely via SSH - additionally if a firewall is present use SSH port forwarding.
  • Ability to get a REPL shell with colors :) in any remote or local node.
  • Download logs from remote nodes to the local computer.
  • Connect nodes to each other
  • Connect nodes into clusters and see what happens if multiple clusters will try to connect with each other at the same time
  • Semi automatic tests for checking whether tx gossip works, block gossip works etc.
  • Auto-creation of channels between any nodes.

More ideas would be nice :)

@gorbak25 gorbak25 self-assigned this Oct 29, 2018
gorbak25 added a commit that referenced this issue Oct 29, 2018
… node(epoch, elixir, epoch via ssh, elixir via ssh) enviroment
gorbak25 added a commit that referenced this issue Oct 30, 2018
@thepiwo thepiwo added this to the Week 44 Progress milestone Oct 31, 2018
@thepiwo thepiwo removed this from the Week 44 Progress milestone Nov 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants