From 2c3d4731933ab714d6c8284e75c7f59452eb980f Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Fri, 10 Jul 2020 13:48:52 +0200 Subject: [PATCH] descriptive composition file names (#133) --- README.md | 47 +++++++++++-- ...tion-5-1.toml => baseline-docker-5-1.toml} | 0 ...n-k8s-10-3.toml => baseline-k8s-10-3.toml} | 0 ...ion-k8s-3-1.toml => baseline-k8s-3-1.toml} | 0 ...ion-k8s-3-2.toml => baseline-k8s-3-2.toml} | 0 .../{composition.toml => baseline.toml} | 0 lotus-soup/_compositions/composition-k8s.toml | 66 ------------------- ... deals-stress-concurrent-natural-k8s.toml} | 2 +- ...l => deals-stress-concurrent-natural.toml} | 2 +- ...rent.toml => deals-stress-concurrent.toml} | 2 +- ....toml => deals-stress-serial-natural.toml} | 2 +- ...t-serial.toml => deals-stress-serial.toml} | 2 +- ...sition-drand-halt.toml => drand-halt.toml} | 0 ...tion-local-drand.toml => local-drand.toml} | 0 ...{composition-natural.toml => natural.toml} | 0 ...on-paych-stress.toml => paych-stress.toml} | 0 ...osition-tracer.toml => pubsub-tracer.toml} | 0 lotus-soup/deals_stress.go | 2 +- lotus-soup/main.go | 8 +-- lotus-soup/manifest.toml | 4 +- 20 files changed, 55 insertions(+), 82 deletions(-) rename lotus-soup/_compositions/{composition-5-1.toml => baseline-docker-5-1.toml} (100%) rename lotus-soup/_compositions/{composition-k8s-10-3.toml => baseline-k8s-10-3.toml} (100%) rename lotus-soup/_compositions/{composition-k8s-3-1.toml => baseline-k8s-3-1.toml} (100%) rename lotus-soup/_compositions/{composition-k8s-3-2.toml => baseline-k8s-3-2.toml} (100%) rename lotus-soup/_compositions/{composition.toml => baseline.toml} (100%) delete mode 100644 lotus-soup/_compositions/composition-k8s.toml rename lotus-soup/_compositions/{stress-test-concurrent-natural-k8s.toml => deals-stress-concurrent-natural-k8s.toml} (97%) rename lotus-soup/_compositions/{composition-stress-test-concurrent-natural.toml => deals-stress-concurrent-natural.toml} (97%) rename lotus-soup/_compositions/{composition-stress-test-concurrent.toml => deals-stress-concurrent.toml} (97%) rename lotus-soup/_compositions/{composition-stress-test-serial-natural.toml => deals-stress-serial-natural.toml} (97%) rename lotus-soup/_compositions/{composition-stress-test-serial.toml => deals-stress-serial.toml} (97%) rename lotus-soup/_compositions/{composition-drand-halt.toml => drand-halt.toml} (100%) rename lotus-soup/_compositions/{composition-local-drand.toml => local-drand.toml} (100%) rename lotus-soup/_compositions/{composition-natural.toml => natural.toml} (100%) rename lotus-soup/_compositions/{composition-paych-stress.toml => paych-stress.toml} (100%) rename lotus-soup/_compositions/{composition-tracer.toml => pubsub-tracer.toml} (100%) diff --git a/README.md b/README.md index 6f67b960e..53de193eb 100644 --- a/README.md +++ b/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). +## 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) diff --git a/lotus-soup/_compositions/composition-5-1.toml b/lotus-soup/_compositions/baseline-docker-5-1.toml similarity index 100% rename from lotus-soup/_compositions/composition-5-1.toml rename to lotus-soup/_compositions/baseline-docker-5-1.toml diff --git a/lotus-soup/_compositions/composition-k8s-10-3.toml b/lotus-soup/_compositions/baseline-k8s-10-3.toml similarity index 100% rename from lotus-soup/_compositions/composition-k8s-10-3.toml rename to lotus-soup/_compositions/baseline-k8s-10-3.toml diff --git a/lotus-soup/_compositions/composition-k8s-3-1.toml b/lotus-soup/_compositions/baseline-k8s-3-1.toml similarity index 100% rename from lotus-soup/_compositions/composition-k8s-3-1.toml rename to lotus-soup/_compositions/baseline-k8s-3-1.toml diff --git a/lotus-soup/_compositions/composition-k8s-3-2.toml b/lotus-soup/_compositions/baseline-k8s-3-2.toml similarity index 100% rename from lotus-soup/_compositions/composition-k8s-3-2.toml rename to lotus-soup/_compositions/baseline-k8s-3-2.toml diff --git a/lotus-soup/_compositions/composition.toml b/lotus-soup/_compositions/baseline.toml similarity index 100% rename from lotus-soup/_compositions/composition.toml rename to lotus-soup/_compositions/baseline.toml diff --git a/lotus-soup/_compositions/composition-k8s.toml b/lotus-soup/_compositions/composition-k8s.toml deleted file mode 100644 index 6c9462679..000000000 --- a/lotus-soup/_compositions/composition-k8s.toml +++ /dev/null @@ -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" diff --git a/lotus-soup/_compositions/stress-test-concurrent-natural-k8s.toml b/lotus-soup/_compositions/deals-stress-concurrent-natural-k8s.toml similarity index 97% rename from lotus-soup/_compositions/stress-test-concurrent-natural-k8s.toml rename to lotus-soup/_compositions/deals-stress-concurrent-natural-k8s.toml index 5d80e6486..4b01e71a6 100644 --- a/lotus-soup/_compositions/stress-test-concurrent-natural-k8s.toml +++ b/lotus-soup/_compositions/deals-stress-concurrent-natural-k8s.toml @@ -4,7 +4,7 @@ [global] plan = "lotus-soup" - case = "deals-stress-test" + case = "deals-stress" total_instances = 9 builder = "docker:go" runner = "cluster:k8s" diff --git a/lotus-soup/_compositions/composition-stress-test-concurrent-natural.toml b/lotus-soup/_compositions/deals-stress-concurrent-natural.toml similarity index 97% rename from lotus-soup/_compositions/composition-stress-test-concurrent-natural.toml rename to lotus-soup/_compositions/deals-stress-concurrent-natural.toml index 7a059ac6a..cc3ab45fc 100644 --- a/lotus-soup/_compositions/composition-stress-test-concurrent-natural.toml +++ b/lotus-soup/_compositions/deals-stress-concurrent-natural.toml @@ -4,7 +4,7 @@ [global] plan = "lotus-soup" - case = "deals-stress-test" + case = "deals-stress" total_instances = 6 builder = "docker:go" runner = "local:docker" diff --git a/lotus-soup/_compositions/composition-stress-test-concurrent.toml b/lotus-soup/_compositions/deals-stress-concurrent.toml similarity index 97% rename from lotus-soup/_compositions/composition-stress-test-concurrent.toml rename to lotus-soup/_compositions/deals-stress-concurrent.toml index 1c6a9f0ed..bec530c42 100644 --- a/lotus-soup/_compositions/composition-stress-test-concurrent.toml +++ b/lotus-soup/_compositions/deals-stress-concurrent.toml @@ -4,7 +4,7 @@ [global] plan = "lotus-soup" - case = "deals-stress-test" + case = "deals-stress" total_instances = 6 builder = "docker:go" runner = "local:docker" diff --git a/lotus-soup/_compositions/composition-stress-test-serial-natural.toml b/lotus-soup/_compositions/deals-stress-serial-natural.toml similarity index 97% rename from lotus-soup/_compositions/composition-stress-test-serial-natural.toml rename to lotus-soup/_compositions/deals-stress-serial-natural.toml index 5de35dea2..c5611a3e8 100644 --- a/lotus-soup/_compositions/composition-stress-test-serial-natural.toml +++ b/lotus-soup/_compositions/deals-stress-serial-natural.toml @@ -4,7 +4,7 @@ [global] plan = "lotus-soup" - case = "deals-stress-test" + case = "deals-stress" total_instances = 6 builder = "docker:go" runner = "local:docker" diff --git a/lotus-soup/_compositions/composition-stress-test-serial.toml b/lotus-soup/_compositions/deals-stress-serial.toml similarity index 97% rename from lotus-soup/_compositions/composition-stress-test-serial.toml rename to lotus-soup/_compositions/deals-stress-serial.toml index 87e595c51..5317fecb9 100644 --- a/lotus-soup/_compositions/composition-stress-test-serial.toml +++ b/lotus-soup/_compositions/deals-stress-serial.toml @@ -4,7 +4,7 @@ [global] plan = "lotus-soup" - case = "deals-stress-test" + case = "deals-stress" total_instances = 6 builder = "docker:go" runner = "local:docker" diff --git a/lotus-soup/_compositions/composition-drand-halt.toml b/lotus-soup/_compositions/drand-halt.toml similarity index 100% rename from lotus-soup/_compositions/composition-drand-halt.toml rename to lotus-soup/_compositions/drand-halt.toml diff --git a/lotus-soup/_compositions/composition-local-drand.toml b/lotus-soup/_compositions/local-drand.toml similarity index 100% rename from lotus-soup/_compositions/composition-local-drand.toml rename to lotus-soup/_compositions/local-drand.toml diff --git a/lotus-soup/_compositions/composition-natural.toml b/lotus-soup/_compositions/natural.toml similarity index 100% rename from lotus-soup/_compositions/composition-natural.toml rename to lotus-soup/_compositions/natural.toml diff --git a/lotus-soup/_compositions/composition-paych-stress.toml b/lotus-soup/_compositions/paych-stress.toml similarity index 100% rename from lotus-soup/_compositions/composition-paych-stress.toml rename to lotus-soup/_compositions/paych-stress.toml diff --git a/lotus-soup/_compositions/composition-tracer.toml b/lotus-soup/_compositions/pubsub-tracer.toml similarity index 100% rename from lotus-soup/_compositions/composition-tracer.toml rename to lotus-soup/_compositions/pubsub-tracer.toml diff --git a/lotus-soup/deals_stress.go b/lotus-soup/deals_stress.go index 03f9cec4c..e13ff215c 100644 --- a/lotus-soup/deals_stress.go +++ b/lotus-soup/deals_stress.go @@ -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) diff --git a/lotus-soup/main.go b/lotus-soup/main.go index 05311f6d6..a660a63cf 100644 --- a/lotus-soup/main.go +++ b/lotus-soup/main.go @@ -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() { diff --git a/lotus-soup/manifest.toml b/lotus-soup/manifest.toml index c2f1a9db9..38b9b87b0 100644 --- a/lotus-soup/manifest.toml +++ b/lotus-soup/manifest.toml @@ -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" } \ No newline at end of file + lane_count = { type = "int", default = "256", desc = "lanes to open; vouchers will be distributed across these lanes in round-robin fashion" }