apache / apache/shardingsphere-on-cloud

[GSoC 2023] Introduce New CRD ShardingSphereChaos

Open
#272 2 comments 0 reactions 1 assignee Claimed by @moomman View on GitHub
gsoc-2023 in: chaos in: feature operator type: enhancement
Dominant language
Go
Stars
88
Forks
33
PR merge metrics
No merged PRs in 30d

Description

# Apache ShardingSphere

Apache ShardingSphere is positioned as a Database Plus, and aims at building a standard layer and ecosystem above heterogeneous databases. It focuses on how to reuse existing databases and their respective upper layer, rather than creating a new database. The goal is to minimize or eliminate the challenges caused by underlying databases fragmentation.

Page: https://shardingsphere.apache.org/
Github: https://github.com/apache/shardingsphere 

# Background

There is a proposal about the background of ChaosEngineering as belows:
- #32

The ShardingSphereChaos controller is aiming at different chaos tests.

# Task

Propose a generic controller for ShardingSphereChaos, which reconcile CRD ShardingSphereChaos, prepare, execute and verify test.

- [ ] Support common ShardingSphere features, prepare test rules and dataset
- [ ] Generating chaos type according to the backend implementation
- [ ] Verify testing result with DistSQL or other tools

# Relevant Skills

1. Master Go language, Ginkgo test framework
2. Have a deep understanding of Apache ShardingSphere concepts and practices.
3. Kubernetes operator pattern, kube-builder

# Targets files

ShardingSphereChaos Controller - https://github.com/apache/shardingsphere-on-cloud/shardingsphere-operator/pkg/controllers/chaos_controller.go, etc.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.