diff --git a/testplans/Makefile b/testplans/Makefile index 50e3a92179..b8d7dae5b5 100644 --- a/testplans/Makefile +++ b/testplans/Makefile @@ -6,15 +6,15 @@ download-proofs: go run github.com/filecoin-project/go-paramfetch/paramfetch 2048 ./docker-images/proof-parameters.json build-images: - docker build -t "iptestground/oni-buildbase:v11" -f "docker-images/Dockerfile.oni-buildbase" "docker-images" - docker build -t "iptestground/oni-runtime:v4" -f "docker-images/Dockerfile.oni-runtime" "docker-images" + docker build -t "iptestground/oni-buildbase:v11-lotus" -f "docker-images/Dockerfile.oni-buildbase" "docker-images" + docker build -t "iptestground/oni-runtime:v5" -f "docker-images/Dockerfile.oni-runtime" "docker-images" push-images: - docker push iptestground/oni-buildbase:v11 - docker push iptestground/oni-runtime:v4 + docker push iptestground/oni-buildbase:v11-lotus + docker push iptestground/oni-runtime:v5 pull-images: - docker pull iptestground/oni-buildbase:v11 - docker pull iptestground/oni-runtime:v4 + docker pull iptestground/oni-buildbase:v11-lotus + docker pull iptestground/oni-runtime:v5 .PHONY: download-proofs build-images push-images pull-images diff --git a/testplans/README.md b/testplans/README.md new file mode 100644 index 0000000000..709fd70e02 --- /dev/null +++ b/testplans/README.md @@ -0,0 +1,62 @@ +# Testground testplans for Lotus + +This directory contains testplans for Lotus exercised on [TaaS](https://ci.testground.ipfs.team). + +This directory consists of [testplans](https://docs.testground.ai/concepts-and-architecture/test-structure) built to be run on [Testground](https://github.com/testground/testground) that exercise Lotus. + +## Table of Contents + +- [Testing topics](#testing-topics) +- [Running the test cases](#running-the-test-cases) + +## Testing topics + +* **storage and retrieval deals:** + * end-to-end flows where clients store and retrieve pieces from miners, including stress testing the system. +* **payment channels:** + * stress testing payment channels via excessive lane creation, excessive payment voucher atomisation, and redemption. + +## Running the test cases + +If you are unfamiliar with Testground, we strongly suggest you read the Testground [Getting Started guide](https://docs.testground.ai/getting-started) in order to learn how to install Testground and how to use it. + +You can find various [composition files](https://docs.testground.ai/running-test-plans#composition-runs) describing various test scenarios built as part of Project Oni at [`lotus-soup/_compositions` directory](https://github.com/filecoin-project/oni/tree/master/lotus-soup/_compositions). + +We've designed the test cases so that you can run them via the `local:exec`, `local:docker` and the `cluster:k8s` runners. Note that Lotus miners are quite resource intensive, requiring gigabytes of memory. Hence you would have to run these test cases on a beafy machine (when using `local:docker` and `local:exec`), or on a Kubernetes cluster (when using `cluster:k8s`). + +Here are the basics of how to run the baseline deals end-to-end test case: + +### Running the baseline deals end-to-end test case + +1. Compile and Install Testground from source code. + * See the [Getting Started](https://github.com/testground/testground#getting-started) section of the README for instructions. + +2. Run a Testground daemon + +``` +testground daemon +``` + +3. Download required Docker images for the `lotus-soup` test plan + +``` +make pull-images +``` + +Alternatively you can build them locally with + +``` +make build-images +``` + +4. Import the `lotus-soup` test plan into your Testground home directory + +``` +testground plan import --from ./lotus-soup +``` + +6. Run a composition for the baseline deals end-to-end test case + +``` +testground run composition -f ./lotus-soup/_compositions/other/baseline-docker-5-1.toml +``` diff --git a/testplans/graphsync/_compositions/stress.toml b/testplans/graphsync/_compositions/other/stress.toml similarity index 100% rename from testplans/graphsync/_compositions/stress.toml rename to testplans/graphsync/_compositions/other/stress.toml diff --git a/testplans/graphsync/_compositions/version_compat.toml b/testplans/graphsync/_compositions/other/version_compat.toml similarity index 100% rename from testplans/graphsync/_compositions/version_compat.toml rename to testplans/graphsync/_compositions/other/version_compat.toml diff --git a/testplans/lotus-soup/_compositions/baseline-docker-5-1.toml b/testplans/lotus-soup/_compositions/other/baseline-docker-5-1.toml similarity index 100% rename from testplans/lotus-soup/_compositions/baseline-docker-5-1.toml rename to testplans/lotus-soup/_compositions/other/baseline-docker-5-1.toml diff --git a/testplans/lotus-soup/_compositions/baseline-k8s-10-3.toml b/testplans/lotus-soup/_compositions/other/baseline-k8s-10-3.toml similarity index 100% rename from testplans/lotus-soup/_compositions/baseline-k8s-10-3.toml rename to testplans/lotus-soup/_compositions/other/baseline-k8s-10-3.toml diff --git a/testplans/lotus-soup/_compositions/baseline-k8s-3-2.toml b/testplans/lotus-soup/_compositions/other/baseline-k8s-3-2.toml similarity index 100% rename from testplans/lotus-soup/_compositions/baseline-k8s-3-2.toml rename to testplans/lotus-soup/_compositions/other/baseline-k8s-3-2.toml diff --git a/testplans/lotus-soup/_compositions/baseline.toml b/testplans/lotus-soup/_compositions/other/baseline.toml similarity index 100% rename from testplans/lotus-soup/_compositions/baseline.toml rename to testplans/lotus-soup/_compositions/other/baseline.toml diff --git a/testplans/lotus-soup/_compositions/deals-stress-concurrent-natural-k8s.toml b/testplans/lotus-soup/_compositions/other/deals-stress-concurrent-natural-k8s.toml similarity index 100% rename from testplans/lotus-soup/_compositions/deals-stress-concurrent-natural-k8s.toml rename to testplans/lotus-soup/_compositions/other/deals-stress-concurrent-natural-k8s.toml diff --git a/testplans/lotus-soup/_compositions/deals-stress-concurrent-natural.toml b/testplans/lotus-soup/_compositions/other/deals-stress-concurrent-natural.toml similarity index 100% rename from testplans/lotus-soup/_compositions/deals-stress-concurrent-natural.toml rename to testplans/lotus-soup/_compositions/other/deals-stress-concurrent-natural.toml diff --git a/testplans/lotus-soup/_compositions/deals-stress-concurrent.toml b/testplans/lotus-soup/_compositions/other/deals-stress-concurrent.toml similarity index 100% rename from testplans/lotus-soup/_compositions/deals-stress-concurrent.toml rename to testplans/lotus-soup/_compositions/other/deals-stress-concurrent.toml diff --git a/testplans/lotus-soup/_compositions/deals-stress-serial-natural.toml b/testplans/lotus-soup/_compositions/other/deals-stress-serial-natural.toml similarity index 100% rename from testplans/lotus-soup/_compositions/deals-stress-serial-natural.toml rename to testplans/lotus-soup/_compositions/other/deals-stress-serial-natural.toml diff --git a/testplans/lotus-soup/_compositions/deals-stress-serial.toml b/testplans/lotus-soup/_compositions/other/deals-stress-serial.toml similarity index 100% rename from testplans/lotus-soup/_compositions/deals-stress-serial.toml rename to testplans/lotus-soup/_compositions/other/deals-stress-serial.toml diff --git a/testplans/lotus-soup/_compositions/drand-halt.toml b/testplans/lotus-soup/_compositions/other/drand-halt.toml similarity index 100% rename from testplans/lotus-soup/_compositions/drand-halt.toml rename to testplans/lotus-soup/_compositions/other/drand-halt.toml diff --git a/testplans/lotus-soup/_compositions/drand-outage-k8s.toml b/testplans/lotus-soup/_compositions/other/drand-outage-k8s.toml similarity index 100% rename from testplans/lotus-soup/_compositions/drand-outage-k8s.toml rename to testplans/lotus-soup/_compositions/other/drand-outage-k8s.toml diff --git a/testplans/lotus-soup/_compositions/drand-outage-local.toml b/testplans/lotus-soup/_compositions/other/drand-outage-local.toml similarity index 100% rename from testplans/lotus-soup/_compositions/drand-outage-local.toml rename to testplans/lotus-soup/_compositions/other/drand-outage-local.toml diff --git a/testplans/lotus-soup/_compositions/fast-k8s-3-1.toml b/testplans/lotus-soup/_compositions/other/fast-k8s-3-1.toml similarity index 100% rename from testplans/lotus-soup/_compositions/fast-k8s-3-1.toml rename to testplans/lotus-soup/_compositions/other/fast-k8s-3-1.toml diff --git a/testplans/lotus-soup/_compositions/local-drand.toml b/testplans/lotus-soup/_compositions/other/local-drand.toml similarity index 100% rename from testplans/lotus-soup/_compositions/local-drand.toml rename to testplans/lotus-soup/_compositions/other/local-drand.toml diff --git a/testplans/lotus-soup/_compositions/natural.toml b/testplans/lotus-soup/_compositions/other/natural.toml similarity index 100% rename from testplans/lotus-soup/_compositions/natural.toml rename to testplans/lotus-soup/_compositions/other/natural.toml diff --git a/testplans/lotus-soup/_compositions/net-chaos/latency.toml b/testplans/lotus-soup/_compositions/other/net-chaos/latency.toml similarity index 100% rename from testplans/lotus-soup/_compositions/net-chaos/latency.toml rename to testplans/lotus-soup/_compositions/other/net-chaos/latency.toml diff --git a/testplans/lotus-soup/_compositions/paych-stress.toml b/testplans/lotus-soup/_compositions/other/paych-stress.toml similarity index 100% rename from testplans/lotus-soup/_compositions/paych-stress.toml rename to testplans/lotus-soup/_compositions/other/paych-stress.toml diff --git a/testplans/lotus-soup/_compositions/pubsub-tracer.toml b/testplans/lotus-soup/_compositions/other/pubsub-tracer.toml similarity index 100% rename from testplans/lotus-soup/_compositions/pubsub-tracer.toml rename to testplans/lotus-soup/_compositions/other/pubsub-tracer.toml diff --git a/testplans/lotus-soup/_compositions/recovery-exec.toml b/testplans/lotus-soup/_compositions/other/recovery-exec.toml similarity index 100% rename from testplans/lotus-soup/_compositions/recovery-exec.toml rename to testplans/lotus-soup/_compositions/other/recovery-exec.toml diff --git a/testplans/lotus-soup/_compositions/recovery-k8s.toml b/testplans/lotus-soup/_compositions/other/recovery-k8s.toml similarity index 100% rename from testplans/lotus-soup/_compositions/recovery-k8s.toml rename to testplans/lotus-soup/_compositions/other/recovery-k8s.toml