Frisbee - The Kubernetes Native Testbed
Website |
Blog |
Docs |
Contact
β [](https://github.com/adap/flower/blob/main/LICENSE) [](https://github.com/carv-ics-forth/frisbee/blob/main/CONTRIBUTING.md) 
Why Frisbee ?
The effort being put in automating tests should not take over delivering value to users.
Frisbee lowers the threshold of testing distributed systems by making it possible to:
π Setup initial dependency stack β easily!
π Test against actual, close to production software - no mocks!
β³ Replay complex workloads written in an intuitive language!
ποΈ Combine Chaos Engineering with large-scale performance testing!
πΉοΈ Assert actual program behavior and side effects
Usage
π To begin with Frisbee, check the QuickStart.
π To understand the basic features, check the Walkthrough.
Testing Patterns
Among others, you will find scenarios and testing patterns for:
π Databases
π Federated Learning
π Filesystems
π HPC
π Networking
TL;DR
-
Make sure that kubectl
and Helm are installed on your system.
-
Update Helm repo.
>> helm repo add frisbee https://carv-ics-forth.github.io/frisbee/charts
- Install Helm Packages.
# Install the platform
>> helm upgrade --install --wait my-frisbee frisbee/platform
# Install the package for monitoring YCSB output
>> helm upgrade --install --wait my-ycsb frisbee/ycsb
# Install TiKV store
>> helm upgrade --install --wait my-tikv frisbee/tikv
- Create/Destroy the scenario.
# Create
>> curl -sSL https://raw.githubusercontent.com/CARV-ICS-FORTH/frisbee/main/charts/tikv/examples/scenario.baseline.yml | kubectl -f - apply
# Destroy
>> curl -sSL https://raw.githubusercontent.com/CARV-ICS-FORTH/frisbee/main/charts/tikv/examples/scenario.baseline.yml | kubectl -f - delete --cascade=foreground
If everything went smoothly, you should see a
similar Grafana Dashboard
.
Through these dashboards humans and controllers can examine to check things like completion, health, and SLA compliance.
Client-View (YCSB-Dashboard)

Client-View (Redis-Dashboard)

Citation
If you publish work that uses Frisbee, please cite Frisbee as follows:
@article{nikolaidis2021frisbee,
title={Frisbee: automated testing of Cloud-native applications in Kubernetes},
author={Nikolaidis, Fotis and Chazapis, Antony and Marazakis, Manolis and Bilas, Angelos},
journal={arXiv preprint arXiv:2109.10727},
year={2021}
}
Contributing to Frisbee
We welcome contributions. Please see CONTRIBUTING.md to get
started!
Acknowledgements
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant
agreement No. 894204 (Ether, H2020-MSCA-IF-2019).