testground 2022: update with galargh's suggestions

Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
This commit is contained in:
Laurent Senta
2022-12-15 13:31:43 +01:00
committed by Laurent Senta
parent fa81b2396e
commit 3eaf0dc3d8
+22 -31
View File
@@ -12,28 +12,28 @@ author: Laurent Senta
![](../assets/2022-12-07-testground-logo.png)
Testground is a platform for testing and benchmarking distributed systems. We used it before to work on massive improvements to IPFS DHT, Filecoin Network, and libp2p. This year, the IPDX team re-ignited the project. We started two collaborations, created a new use case for interoperability testing, and welcomed new users and contributors.
Testground is a platform for testing and benchmarking distributed systems. We used it before to work on massive improvements to IPFS DHT, Filecoin Network, and libp2p. This year, the [IPDX team](https://pl-strflt.notion.site/IPDX-122073392dce454e9ca4b87231034483) re-ignited the project. We started two collaborations, created a new use case for interoperability testing, and welcomed new users and contributors.
Now that the end of the year is near; it is time for a “bragging session” and to share our master plan to take over the CIs of the entire Protocol Labs Network!
[[toc]]
## A new use case: interoperability testing for the libp2p team
## A new use case: interoperability testing for [libp2p](https://libp2p.io/)
Using Testground, the libp2p team is now testing interoperability between many implementations and versions. They are now testing go-libp2p and rust-libp2p versions. js and nim testing are in the works.
Using Testground, the libp2p team is now testing interoperability between many implementations and versions. The newly introduced tests cover go-libp2p and rust-libp2p versions already, and js and nim support is in the works.
**Milestones:**
- **Mixed Builders Feature**: We can now write a test that depends on [multiple builders and languages](https://github.com/testground/testground/pull/1367).
- **Interoperability Support Improvements in go**: Testground can [rewrite mod files](https://github.com/testground/testground/pull/1338), and dependencies [rewrite](https://github.com/testground/testground/pull/1338) have been improved. This helps users Test many different versions of a library with a single test source.
- **rust-sdk**: We introduced the [rust-sdk](https://github.com/testground/testground/pull/1287) and [improved it over the year](https://github.com/testground/sdk-rust/pulls?q=is%3Apr+is%3Aclosed).
- **js-sdk**: Thanks to Little Bear Labs support, the Testground SDK for JavaScript [now runs in the browser](https://github.com/testground/sdk-js/pull/26).
- **Interoperability Support Improvements in Go**: Testground can [rewrite mod files](https://github.com/testground/testground/pull/1338), and [overwrite dependencies](https://github.com/testground/testground/pull/1338). This enables users to test many different versions of a library using a single test source.
- [**sdk-rust**](https://github.com/testground/sdk-rust): We introduced the [sdk-rust](https://github.com/testground/testground/pull/1287) and [improved it over the year](https://github.com/testground/sdk-rust/pulls?q=is%3Apr+is%3Aclosed).
- [**sdk-js**](https://github.com/testground/sdk-js): Thanks to [Little Bear Labs](https://littlebearlabs.io/) support, the Testground SDK for JavaScript [now works in the browser](https://github.com/testground/sdk-js/pull/26) too.
We also [presented this project during IPFS camp](https://www.youtube.com/watch?v=b2SkC4dYV-A) (Youtube).
We also [presented _how Testground powers libp2p interoperability testing_ at IPFS Camp](https://www.youtube.com/watch?v=b2SkC4dYV-A) (Youtube).
## Massive stability improvements for supported SDKs
Testground has an issue with Flakiness. Our second focus is to improve the project's stability.
Testground has an issue with flakiness. The project's stability has been on our minds throughout the year, and we have made significant strides in this area.
**Milestones:**
@@ -42,47 +42,38 @@ Testground has an issue with Flakiness. Our second focus is to improve the proje
## EKS Support
Testground is also designed to run on large Kubernetes clusters. With EKS, we hope to support large-scale tests (10k+ nodes) with low operational costs ([EKS](https://aws.amazon.com/eks/) is a managed service from AWS).
Testground is also designed to run large network tests spanning far beyond what a single machine can handle. With Testground on [EKS](https://aws.amazon.com/eks/) (managed Kubernetes service from AWS), we can support tests with more than 10k nodes.
**Milestones:**
- **Preview Support for EKS:** The Bloxico Team has been working hard on [Testground EKS Support](https://github.com/testground/testground/pull/1350) and [Deployments](https://github.com/testground/infra/pull/78). They picked new CNI configurations and made sure the infrastructure was now deployable. This work was merged, and other teams, such as Celestia, have been building on top of it.
- **Preview Support for EKS:** The [Bloxico team](https://bloxico.com/) has been working hard on [Testground EKS support](https://github.com/testground/testground/pull/1350) and [EKS infrastructure setup for Testground](https://github.com/testground/infra/pull/78). A working alpha setup is now available. Other teams, such as [Celestia](https://celestia.org/), are already building on top of it.
<aside>
<div class="block w-full p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">This is just an excerpt!</h5>
<p class="font-normal text-gray-700 dark:text-gray-400">
## And sooooo much more!
✨ The team also dusted off [SDKs](https://github.com/testground/sdk-js/pull/22) and [examples](https://github.com/testground/testground/pull/1306), helped [improve ARM support](https://github.com/testground/testground/pull/1372). We introduced new [features](https://github.com/testground/testground/pull/1481), [bug fixes](https://github.com/testground/testground/pull/1321), and [brought many more improvements](https://github.com/testground/testground/pulls?q=is%3Apr+is%3Aclosed+merged%3A%3E2022-01-01+).
</p>
</div>
</aside>
## New Users
New users and contributors are joining the project; They are using Testground and contributing to the project.
New users and contributors are joining the project!
- **Celestia** is using Testground to [test their network](https://github.com/celestiaorg/test-infra). Building on top of our "EKS Preview", they simulate between 4 and 6 thousand nodes on a large Kubernetes Cluster.
- **Magmo** is using Testground to test and benchmark their payment channel. They had success with stability and performance measurements. They shared a (great) presentation during [Retrieval Markets Summit](https://www.youtube.com/watch?v=xYn8Evkrs30) (Youtube).
- **status.im** is [working](https://github.com/libp2p/test-plans/pull/70) on adding their nim implementation to the libp2p interoperability repository.
- **Sigma Prime** is using Testground to [test their implementation](https://github.com/ackintosh/discv5-testground) of Ethereum's Peer Discovery Protocol.
- **The number0 team** uses Testground to benchmark Iroh, an IPFS implementation written in Rust focused on efficiency. They share numbers on [their website](https://iroh.computer/).
- **The Moving the Bytes Working Group** uses Testground to benchmark and test bitswap and new protocols for data exchange. You can follow along in [Notion](https://www.notion.so/MTB-WG-Meeting-1-cfeed84309894936bd652f1b47f3221a) and join the `#move-the-bytes-wg` channel on FIL Slack.
- [**Celestia**](https://celestia.org/) is using Testground to [test their network](https://github.com/celestiaorg/test-infra). Building on top of our [EKS Preview](#eks-preview), they simulate between 4 and 6 thousand nodes.
- [**Magmo**](https://magmo.com/) is using Testground to test and benchmark their payment channel. They had success with stability and performance measurements. They shared an excellent presentation during [Retrieval Markets Summit](https://www.youtube.com/watch?v=xYn8Evkrs30) (Youtube).
- [**status.im**](https://status.im/) is [working](https://github.com/libp2p/test-plans/pull/70) on adding their nim implementation to the libp2p interoperability repository.
- [**Sigma Prime**](https://sigmaprime.io/) is using Testground to [test their implementation](https://github.com/ackintosh/discv5-testground) of Ethereum's Peer Discovery Protocol.
- [**number0**](https://n0.computer/) uses Testground to benchmark [iroh](https://iroh.computer/), an IPFS implementation written in Rust focused on efficiency. They share numbers on [their website](https://iroh.computer/).
- **Moving the Bytes Working Group** uses Testground to benchmark and test bitswap and new protocols for data exchange. You can follow along in [Notion](https://www.notion.so/MTB-WG-Meeting-1-cfeed84309894936bd652f1b47f3221a) and join the [#move-the-bytes-wg](https://filecoinproject.slack.com/archives/C04A22DCQCF) channel on FIL Slack.
## What's Next
We shared a [Roadmap](https://github.com/testground/testground/blob/master/ROADMAP.md) for what is coming to Testground in 2023. Here is an excerpt
We shared a [Roadmap](https://github.com/testground/testground/blob/master/ROADMAP.md) for what is coming to Testground in 2023. Here are the highlights.
- **Better Network Simulation & Many More features:** We plan on improving [network simulations](https://github.com/testground/testground/issues/1488) for libp2p and the Move The Bytes WG. We are also adding the ability to run [more complex test plans](https://github.com/testground/testground/issues/1493) and [browser support](https://github.com/testground/testground/issues/1386). Testground improves the fastest when its “customer-driven”.
- **Testing, Stability, and Workflows improvement:** the team [will invest](https://github.com/testground/testground/issues/1512) in bringing Testground building and testing tools to a state where it's easy & efficient to contribute. We want to improve the scale and stability of changes we can make, encourage external contributions, and communicate clearly about stability & regressions.
- **Better Network Simulation & New Features:** We plan on improving [network simulation](https://github.com/testground/testground/issues/1488) for libp2p and the Move The Bytes WG. We are also adding the ability to run [more complex test plans](https://github.com/testground/testground/issues/1493) and [browser support](https://github.com/testground/testground/issues/1386). Testground improves the fastest when its “customer-driven”.
- **Testing, Stability, and Workflows Improvements:** the team [will invest](https://github.com/testground/testground/issues/1512) in bringing Testground building and testing tools to a state where it's easy & efficient to contribute. We want to improve the scale and stability of changes we can make, encourage external contributions, and communicate clearly about stability & regressions.
<div class="blog type-rich block w-full p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
✨ Testground is like that kid in the back of the class, *"great potential, needs more attention.”* We believe it's brilliant, and we'd like to encourage you to *join us*!
✨ Testground is like that kid in the back of the class, *"great potential, needs more attention.”* We believe it's brilliant, and we'd like to encourage you to [**join us**](https://docs.testground.ai/v/master/table-of-contents/readme/community)!
Whether you already know Testground and can't wait for improvements, or you are discovering the project and thinking about using it, we'd like to hear more from you: