descriptive composition file names (#133)

This commit is contained in:
Anton Evangelatov 2020-07-10 13:48:52 +02:00 committed by GitHub
parent a50cdda7a5
commit 2c3d473193
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 55 additions and 82 deletions

View File

@ -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).
## 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
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
```
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
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
@ -117,7 +155,7 @@ Find commands and how-to guide on how to debug test plans at [DELVING.md](https:
* Sector sealing errors
## `lotus-soup` Docker images history
## Docker images changelog
### 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.
* `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)
* [@nonsense](https://github.com/nonsense) (Testground TG + engineer)

View File

@ -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"

View File

@ -4,7 +4,7 @@
[global]
plan = "lotus-soup"
case = "deals-stress-test"
case = "deals-stress"
total_instances = 9
builder = "docker:go"
runner = "cluster:k8s"

View File

@ -4,7 +4,7 @@
[global]
plan = "lotus-soup"
case = "deals-stress-test"
case = "deals-stress"
total_instances = 6
builder = "docker:go"
runner = "local:docker"

View File

@ -4,7 +4,7 @@
[global]
plan = "lotus-soup"
case = "deals-stress-test"
case = "deals-stress"
total_instances = 6
builder = "docker:go"
runner = "local:docker"

View File

@ -4,7 +4,7 @@
[global]
plan = "lotus-soup"
case = "deals-stress-test"
case = "deals-stress"
total_instances = 6
builder = "docker:go"
runner = "local:docker"

View File

@ -4,7 +4,7 @@
[global]
plan = "lotus-soup"
case = "deals-stress-test"
case = "deals-stress"
total_instances = 6
builder = "docker:go"
runner = "local:docker"

View File

@ -15,7 +15,7 @@ import (
"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.
if t.Role != "client" {
return testkit.HandleDefaultRole(t)

View File

@ -8,10 +8,10 @@ import (
)
var cases = map[string]interface{}{
"deals-e2e": testkit.WrapTestEnvironment(dealsE2E),
"deals-stress-test": testkit.WrapTestEnvironment(dealStressTest),
"drand-halting": testkit.WrapTestEnvironment(dealsE2E),
"paych-stress": testkit.WrapTestEnvironment(paych.Stress),
"deals-e2e": testkit.WrapTestEnvironment(dealsE2E),
"deals-stress": testkit.WrapTestEnvironment(dealsStress),
"drand-halting": testkit.WrapTestEnvironment(dealsE2E),
"paych-stress": testkit.WrapTestEnvironment(paych.Stress),
}
func main() {

View File

@ -88,7 +88,7 @@ instances = { min = 1, max = 100, default = 5 }
[[testcases]]
name = "deals-stress-test"
name = "deals-stress"
instances = { min = 1, max = 100, default = 5 }
[testcases.params]
@ -150,4 +150,4 @@ instances = { min = 1, max = 100, default = 5 }
# ********** Test-case specific **********
increments = { type = "int", default = "100", desc = "increments in which to send payment vouchers" }
lane_count = { type = "int", default = "256", desc = "lanes to open; vouchers will be distributed across these lanes in round-robin fashion" }
lane_count = { type = "int", default = "256", desc = "lanes to open; vouchers will be distributed across these lanes in round-robin fashion" }