descriptive composition file names (#133)
This commit is contained in:
parent
a50cdda7a5
commit
2c3d473193
47
README.md
47
README.md
@ -6,6 +6,16 @@ Our mandate is:
|
|||||||
|
|
||||||
➡️ Find out more about our goals, requirements, execution plan, and team culture, in our [Project Description](https://docs.google.com/document/d/16jYL--EWYpJhxT9bakYq7ZBGLQ9SB940Wd1lTDOAbNE).
|
➡️ Find out more about our goals, requirements, execution plan, and team culture, in our [Project Description](https://docs.google.com/document/d/16jYL--EWYpJhxT9bakYq7ZBGLQ9SB940Wd1lTDOAbNE).
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Testing topics](#testing-topics)
|
||||||
|
- [Repository contents](#repository-contents)
|
||||||
|
- [Running the test cases](#running-the-test-cases)
|
||||||
|
- [Catalog](#catalog)
|
||||||
|
- [Debugging](#debugging)
|
||||||
|
- [Docker images changelog](#docker-images-changelog)
|
||||||
|
- [Team](#team)
|
||||||
|
|
||||||
## Testing topics
|
## Testing topics
|
||||||
|
|
||||||
These are the topics we are currently centering our testing efforts on. Our testing efforts include fault induction, stress tests, and end-to-end testing.
|
These are the topics we are currently centering our testing efforts on. Our testing efforts include fault induction, stress tests, and end-to-end testing.
|
||||||
@ -98,12 +108,40 @@ make
|
|||||||
7. Run a composition for the baseline deals end-to-end test case
|
7. Run a composition for the baseline deals end-to-end test case
|
||||||
|
|
||||||
```
|
```
|
||||||
testground run composition -f ./lotus-soup/_compositions/composition.toml
|
testground run composition -f ./lotus-soup/_compositions/baseline.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Catalog
|
||||||
|
|
||||||
|
### Test cases part of `lotus-soup`
|
||||||
|
|
||||||
|
* `deals-e2e` - Deals end-to-end test case. Clients pick a miner at random, start a deal, wait for it to be sealed, and try to retrieve from another random miner who offers back the data.
|
||||||
|
* `drand-halting` - Test case that instructs Drand with a sequence of halt/resume/wait events, while running deals between clients and miners at the same time.
|
||||||
|
* `deals-stress` - Deals stress test case. Clients pick a miner and send multiple deals (concurrently or serially) in order to test how many deals miners can handle.
|
||||||
|
* `paych-stress` - A test case exercising various payment channel stress tests.
|
||||||
|
|
||||||
|
### Compositions part of `lotus-soup`
|
||||||
|
|
||||||
|
* `baseline-docker-5-1.toml` - Runs a `baseline` test (deals e2e test) with a network of 5 clients and 1 miner targeting `local:docker`
|
||||||
|
* `baseline-k8s-10-3.toml` - Runs a `baseline` test (deals e2e test) with a network of 10 clients and 3 miner targeting `cluster:k8s`
|
||||||
|
* `baseline-k8s-3-1.toml` - Runs a `baseline` test (deals e2e test) with a network of 3 clients and 1 miner targeting `cluster:k8s`
|
||||||
|
* `baseline-k8s-3-2.toml` - Runs a `baseline` test (deals e2e test) with a network of 3 clients and 2 miner targeting `cluster:k8s`
|
||||||
|
* `baseline.toml` - Runs a `baseline` test (deals e2e test) with a network of 3 clients and 2 miner targeting `local:exec`
|
||||||
|
* `deals-stress-concurrent-natural-k8s.toml`
|
||||||
|
* `deals-stress-concurrent-natural.toml`
|
||||||
|
* `deals-stress-concurrent.toml`
|
||||||
|
* `deals-stress-serial-natural.toml`
|
||||||
|
* `deals-stress-serial.toml`
|
||||||
|
* `drand-halt.toml`
|
||||||
|
* `local-drand.toml`
|
||||||
|
* `natural.toml`
|
||||||
|
* `paych-stress.toml`
|
||||||
|
* `pubsub-tracer.toml`
|
||||||
|
|
||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
Find commands and how-to guide on how to debug test plans at [DELVING.md](https://github.com/filecoin-project/oni/blob/master/DELVING.md)
|
Find commands and how-to guides on debugging test plans at [DELVING.md](https://github.com/filecoin-project/oni/blob/master/DELVING.md)
|
||||||
|
|
||||||
1. Querying the Lotus RPC API
|
1. Querying the Lotus RPC API
|
||||||
|
|
||||||
@ -117,7 +155,7 @@ Find commands and how-to guide on how to debug test plans at [DELVING.md](https:
|
|||||||
|
|
||||||
* Sector sealing errors
|
* Sector sealing errors
|
||||||
|
|
||||||
## `lotus-soup` Docker images history
|
## Docker images changelog
|
||||||
|
|
||||||
### oni-buildbase
|
### oni-buildbase
|
||||||
|
|
||||||
@ -131,7 +169,8 @@ Find commands and how-to guide on how to debug test plans at [DELVING.md](https:
|
|||||||
* `v1` => initial image with 2048 parameters.
|
* `v1` => initial image with 2048 parameters.
|
||||||
* `v2` => adds auxiliary tools: `net-tools netcat traceroute iputils-ping wget vim curl telnet iproute2 dnsutils`.
|
* `v2` => adds auxiliary tools: `net-tools netcat traceroute iputils-ping wget vim curl telnet iproute2 dnsutils`.
|
||||||
|
|
||||||
## Team composition
|
|
||||||
|
## Team
|
||||||
|
|
||||||
* [@raulk](https://github.com/raulk) (Captain + TL)
|
* [@raulk](https://github.com/raulk) (Captain + TL)
|
||||||
* [@nonsense](https://github.com/nonsense) (Testground TG + engineer)
|
* [@nonsense](https://github.com/nonsense) (Testground TG + engineer)
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
[metadata]
|
|
||||||
name = "lotus-soup"
|
|
||||||
author = ""
|
|
||||||
|
|
||||||
[global]
|
|
||||||
plan = "lotus-soup"
|
|
||||||
case = "deals-e2e"
|
|
||||||
total_instances = 3
|
|
||||||
builder = "docker:go"
|
|
||||||
runner = "cluster:k8s"
|
|
||||||
|
|
||||||
[global.build]
|
|
||||||
selectors = ["testground"]
|
|
||||||
|
|
||||||
[global.run_config]
|
|
||||||
exposed_ports = { pprof = "6060", node_rpc = "1234", miner_rpc = "2345" }
|
|
||||||
|
|
||||||
[global.build_config]
|
|
||||||
push_registry=true
|
|
||||||
go_proxy_mode="remote"
|
|
||||||
go_proxy_url="http://localhost:8081"
|
|
||||||
registry_type="aws"
|
|
||||||
|
|
||||||
[global.run.test_params]
|
|
||||||
clients = "1"
|
|
||||||
miners = "1"
|
|
||||||
genesis_timestamp_offset = "0"
|
|
||||||
balance = "20000000" # These balances will work for maximum 100 nodes, as TotalFilecoin is 2B
|
|
||||||
sectors = "10"
|
|
||||||
mining_mode = "natural"
|
|
||||||
|
|
||||||
[[groups]]
|
|
||||||
id = "bootstrapper"
|
|
||||||
[groups.resources]
|
|
||||||
memory = "512Mi"
|
|
||||||
cpu = "1000m"
|
|
||||||
[groups.instances]
|
|
||||||
count = 1
|
|
||||||
percentage = 0.0
|
|
||||||
[groups.run]
|
|
||||||
[groups.run.test_params]
|
|
||||||
role = "bootstrapper"
|
|
||||||
|
|
||||||
[[groups]]
|
|
||||||
id = "miners"
|
|
||||||
[groups.resources]
|
|
||||||
memory = "1024Mi"
|
|
||||||
cpu = "1000m"
|
|
||||||
[groups.instances]
|
|
||||||
count = 1
|
|
||||||
percentage = 0.0
|
|
||||||
[groups.run]
|
|
||||||
[groups.run.test_params]
|
|
||||||
role = "miner"
|
|
||||||
|
|
||||||
[[groups]]
|
|
||||||
id = "clients"
|
|
||||||
[groups.resources]
|
|
||||||
memory = "1024Mi"
|
|
||||||
cpu = "1000m"
|
|
||||||
[groups.instances]
|
|
||||||
count = 1
|
|
||||||
percentage = 0.0
|
|
||||||
[groups.run]
|
|
||||||
[groups.run.test_params]
|
|
||||||
role = "client"
|
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
plan = "lotus-soup"
|
plan = "lotus-soup"
|
||||||
case = "deals-stress-test"
|
case = "deals-stress"
|
||||||
total_instances = 9
|
total_instances = 9
|
||||||
builder = "docker:go"
|
builder = "docker:go"
|
||||||
runner = "cluster:k8s"
|
runner = "cluster:k8s"
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
plan = "lotus-soup"
|
plan = "lotus-soup"
|
||||||
case = "deals-stress-test"
|
case = "deals-stress"
|
||||||
total_instances = 6
|
total_instances = 6
|
||||||
builder = "docker:go"
|
builder = "docker:go"
|
||||||
runner = "local:docker"
|
runner = "local:docker"
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
plan = "lotus-soup"
|
plan = "lotus-soup"
|
||||||
case = "deals-stress-test"
|
case = "deals-stress"
|
||||||
total_instances = 6
|
total_instances = 6
|
||||||
builder = "docker:go"
|
builder = "docker:go"
|
||||||
runner = "local:docker"
|
runner = "local:docker"
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
plan = "lotus-soup"
|
plan = "lotus-soup"
|
||||||
case = "deals-stress-test"
|
case = "deals-stress"
|
||||||
total_instances = 6
|
total_instances = 6
|
||||||
builder = "docker:go"
|
builder = "docker:go"
|
||||||
runner = "local:docker"
|
runner = "local:docker"
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[global]
|
[global]
|
||||||
plan = "lotus-soup"
|
plan = "lotus-soup"
|
||||||
case = "deals-stress-test"
|
case = "deals-stress"
|
||||||
total_instances = 6
|
total_instances = 6
|
||||||
builder = "docker:go"
|
builder = "docker:go"
|
||||||
runner = "local:docker"
|
runner = "local:docker"
|
@ -15,7 +15,7 @@ import (
|
|||||||
"github.com/filecoin-project/oni/lotus-soup/testkit"
|
"github.com/filecoin-project/oni/lotus-soup/testkit"
|
||||||
)
|
)
|
||||||
|
|
||||||
func dealStressTest(t *testkit.TestEnvironment) error {
|
func dealsStress(t *testkit.TestEnvironment) error {
|
||||||
// Dispatch/forward non-client roles to defaults.
|
// Dispatch/forward non-client roles to defaults.
|
||||||
if t.Role != "client" {
|
if t.Role != "client" {
|
||||||
return testkit.HandleDefaultRole(t)
|
return testkit.HandleDefaultRole(t)
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
|
|
||||||
var cases = map[string]interface{}{
|
var cases = map[string]interface{}{
|
||||||
"deals-e2e": testkit.WrapTestEnvironment(dealsE2E),
|
"deals-e2e": testkit.WrapTestEnvironment(dealsE2E),
|
||||||
"deals-stress-test": testkit.WrapTestEnvironment(dealStressTest),
|
"deals-stress": testkit.WrapTestEnvironment(dealsStress),
|
||||||
"drand-halting": testkit.WrapTestEnvironment(dealsE2E),
|
"drand-halting": testkit.WrapTestEnvironment(dealsE2E),
|
||||||
"paych-stress": testkit.WrapTestEnvironment(paych.Stress),
|
"paych-stress": testkit.WrapTestEnvironment(paych.Stress),
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ instances = { min = 1, max = 100, default = 5 }
|
|||||||
|
|
||||||
|
|
||||||
[[testcases]]
|
[[testcases]]
|
||||||
name = "deals-stress-test"
|
name = "deals-stress"
|
||||||
instances = { min = 1, max = 100, default = 5 }
|
instances = { min = 1, max = 100, default = 5 }
|
||||||
|
|
||||||
[testcases.params]
|
[testcases.params]
|
||||||
|
Loading…
Reference in New Issue
Block a user