As a swarm developer I would like to target my tests against remote swarm nodes by using the simulation framework.
Owner
Rafael @skylenet
Stakeholder Point of Contact
Communication Track: Louis, Oskar (Status)
Incentive Track: Fabio, Vojtech (OIVLabs)
Description
Context
Swarm has a simulation framework used to run integration tests across multiple swarm nodes. This only works on a single machine using an 'in process' adapter. This provides a fast feedback loop.
Swarm also has helm charts which can be used to deploy a swarm cluster within kubernetes. Once a cluster is deployed, we can run smoke tests to verify that the basic components are working as intended. This has a slower feedback loop than the simulation framework but is more powerful in terms of logging/metrics aggregation.
It would be good if we could have a mix of both, meaning that a developer can write the simulations locally (in process adapter), and once he/she feels comfortable with the test, we can switch to a remote adapter and run the same test against remote auto generated nodes.
Acceptance criteria
[ ] As a swarm dev, I want to run a simple simulation test against remote nodes
[ ] As a swarm dev, I want to run all existing simulation tests against remote nodes
[ ] As a swarm dev, I want to see the logs of all nodes, when using the simulation framework
[ ] As a swarm dev, I want to see all the metrics generated by swarm nodes, when using the simulation framework.
[ ] As a swarm dev, I want to see traces generated by swarm nodes, when using the simulation framework.
[ ] As a swarm dev, I want to pause simulations when an error appears so that I can debug the problem.
[ ] As a swarm dev, I want to cleanup dangling remote nodes generated by the simulation framework.
Bonus
Nice to have:
[ ] As a swarm dev, I want to simulate churn rate using the simulation framework.
[ ] As a swarm dev, I want to smulate network latency using the simulation framework.
Rationale
As a swarm developer I would like to target my tests against remote swarm nodes by using the simulation framework.
Owner
Rafael @skylenet
Stakeholder Point of Contact
Communication Track: Louis, Oskar (Status) Incentive Track: Fabio, Vojtech (OIVLabs)
Description
Context
Swarm has a simulation framework used to run integration tests across multiple swarm nodes. This only works on a single machine using an 'in process' adapter. This provides a fast feedback loop.
Swarm also has helm charts which can be used to deploy a swarm cluster within kubernetes. Once a cluster is deployed, we can run smoke tests to verify that the basic components are working as intended. This has a slower feedback loop than the simulation framework but is more powerful in terms of logging/metrics aggregation.
It would be good if we could have a mix of both, meaning that a developer can write the simulations locally (in process adapter), and once he/she feels comfortable with the test, we can switch to a remote adapter and run the same test against remote auto generated nodes.
Acceptance criteria
Bonus
Nice to have:
Proof